Я пытаюсь обновить сообщение, отправленное ботом пользователю.Вариант использования - постоянно обновлять карту с изменениями статуса в фоновом режиме.Я использую v4 каркаса ботов и nodejs для реализации бота.
Я пытаюсь использовать adap.continueConversation () для сообщения об изменениях состояния, как показано во фрагменте кода.
server.post('/api/notify', (req, res) => {
const conversationReference: ConversationReference = conversationReferences[req.query.refId]; //stored conversation references
adapter.continueConversation(conversationReference, async (context) => {
//stored activities
const activity: Partial<Activity> = activityMap[req.query.i];
let updatedActivity: Partial<Activity> = {};
updatedActivity.id = req.query.id || activity.id;
updatedActivity.text = 'Finally updated';
updatedActivity.serviceUrl = activity.serviceUrl;
updatedActivity.conversation = activity.conversation;
console.log(updatedActivity);
await context.updateActivity(updatedActivity); //Error
});
res.send(200);
res.end();
});
JSON дляОбновление действия
{
"attachmentLayout": "list",
"attachments": [
{
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"body": [
{
"size": "Small",
"text": "Dummy Text",
"type": "TextBlock"
}
],
"type": "AdaptiveCard",
"version": "1.0"
},
"contentType": "application/vnd.microsoft.card.adaptive"
}
],
"channelId": "emulator",
"conversation": {
"id": "87eaf011-9f4d-11e9-9f39-5522e8750ae9|livechat"
},
"from": {
"id": "15fbd7c0-9ee0-11e9-9f39-5522e8750ae9",
"name": "Bot",
"role": "bot"
},
"id": "8de84b20-9f4d-11e9-be24-034531d2d092",
"inputHint": "acceptingInput",
"localTimestamp": "2019-07-05T23:21:45+05:30",
"locale": "en-US",
"recipient": {
"id": "fb9fddeb-e180-472b-91b7-b963ee7cf89b",
"role": "user"
},
"replyToId": "8ddba0f0-9f4d-11e9-be24-034531d2d092",
"serviceUrl": "http://localhost:62975",
"timestamp": "2019-07-05T17:51:45.362Z",
"type": "message"
}
Я думаю, что обновление будет выполнено с текстом «Окончательно обновлено», но вместо этого я получаю «Ошибка: неизвестный идентификатор действия».Идентификатор «8de84b20-9f4d-11e9-be24-034531d2d092» соответствует идентификатору активности, который уже отправлен.