Wenn ich eine Eigenschaft in robot.brain
im Körper meines Skripts module.exports
initiiere, funktioniert es nicht (siehe Code unten). Wenn ich es während der Antwort initialisiere, funktioniert es. Ist meine Hypothese, dass es von hubot-redis-brain korrekt überschrieben wird? Wie repariere ich es auf eine nette Art und Weise?Wenn ich einen Wert in robot.brain zu früh setzen, wird es von hubot-redis-brain überschrieben
module.exports = (robot) => {
robot.logger.debug("Setting the fucking property");
robot.brain.set("stringproperty", "stringvalue");
robot.logger.debug("SET!");
// logs these two entries before 'INFO hubot-redis-brain: Data for hubot brain retrieved from Redis'
const respondAndLog = (res, message) => {
robot.logger.debug("Responding: " + message);
res.reply(message);
};
robot.respond(/get_stringproperty/, (res) => {
respondAndLog(res, `${robot.brain.get("stringproperty")}`);
// prints null. WTF?
});
robot.respond(/get_laterinitializedproperty/, (res) => {
robot.brain.set("laterinitializedproperty", "laterinitializedvalue");
respondAndLog(res, `${robot.brain.get("laterinitializedproperty")}`);
// prints laterinitializedproperty, works OK
});
};