我想在 Microsoft Bot Framework 提供的机器人用户数据存储中存储一个简单的键值对。
通常很容易做到:
session.userData.key = value;
但是,当 session
对象不可用时,我想在处理所有传入消息的事件处理程序中执行此操作:
bot.on('incoming', incoming => {
// Check whether user asked to switch on debug mode.
if (incoming.text === 'debug on') {
console.log('Enabling debug mode.');
// TODO FIXME - we need to save the result to bot memory.
}
});
是否有其他方法可以从主 app.js 文件或事件处理程序保存到机器人内存?
最佳答案
我找到了解决方案,那就是使用UniversalBot.loadSession()
:
bot.on('incoming', incoming => {
// Load the user session so that we can save values to userData.
bot.loadSession(incoming.address, (error, session) => {
if (!error) {
// work with the session object as usual
}
});
});
加载 session
对象后,您可以照常使用 session.send()
和 session.userData
。
关于node.js - 当 `session` 对象不可用时,在 Bot Framework 中读取/写入机器人用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46784862/