当`session`对象不可用时,在Bot框架中读/写bot用户数据

我想将一个简单的键值对存储在由微软的Bot Framework提供的bot用户数据存储器中。

通常很容易:

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文件或从事件处理程序机器人内存?

我find了使用UniversalBot.loadSession()的解决scheme:

 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