无法在数据库 msbotframework nodejs 中存储上下文对象

cannot store context object in database msbotframework nodejs

我创建了一个机器人并将其安装到我的 Microsoft 团队。我得到了对话更新事件和上下文对象。

/ Listen for incoming requests.
server.post('/api/messages', (req, res) => {
    adapter.processActivity(req, res, async (context) => {
        console.log(context);
        await bot.run(context);
    });
});

我想存储此上下文对象以供将来参考。我尝试将它存储在列类型 json 的 postgress 数据库中。当我从数据库中检索上下文对象并执行一些操作时

 context.sendActivity(MessageFactory.text('All messages have been sent.'));

它正在抛出 activity 未找到错误

[onTurnError] unhandled error: Error: Missing activity on context

我想将上下文对象存储在某处。或者有什么方法可以从 "activity".

获取上下文对象

看看如何 send proactive notifications to users

简而言之;有辅助功能可以实现您的目标。首先检索对话参考。

const conversationReference = TurnContext.getConversationReference(context.activity);

根据保存的活动,接下来是以下代码片段以继续对话。

await adapter.continueConversation(conversationReference, async turnContext => {
    // If you encounter permission-related errors when sending this message, see
    // https://aka.ms/BotTrustServiceUrl
    await turnContext.sendActivity('proactive hello');
});