невозможно сохранить объект контекста в базе данных msbotframework nodejs - PullRequest
1 голос
/ 20 апреля 2020

Я создал бота и установил его в свои команды Microsoft. и я получил событие обновления разговора вместе с contextObject.

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

Я хочу сохранить этот объект контекста для дальнейшего использования. Я пытался сохранить его в базе данных postgress типа json. Когда я извлекаю объект контекста из базы данных и выполняю некоторые действия, такие как

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

, возникает ошибка «Не найдено действие»

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

Я хочу где-то сохранить объект контекста. или Есть ли способ, которым я могу получить объект контекста из "деятельности".

1 Ответ

2 голосов
/ 20 апреля 2020

Посмотрите, как отправлять проактивные уведомления пользователям .

Короче говоря; Есть вспомогательные функции для достижения вашей цели. Сначала вы получаете ссылку на беседу.

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');
});
...