当一个活动从 Telegram 发送到您的机器人时,相关数据包含在传入活动的 ChannelData 属性中。例如,
{
type: 'message',
id: '3451493078542633497',
timestamp: 2020-11-12T01:53:42.890Z,
serviceUrl: 'https://telegram.botframework.com/', channelId: 'telegram',
from: { id: '803***355', name: 'jdoe', role:
'user' },
conversation: { },
recipient: { id: 'SomeBot', name: 'SomeBotName' },
channelData: {
update_id: 424***655,
inline_query: {
id: '345*************497',
from: {
id: 803613355,
is_bot: false,
first_name: 'John',
last_name: 'Doe',
username: 'jdoe',
language_code: 'en'
}
},
query: 'how do you do?',
offset: ''
}
},
rawTimestamp: '2020-11-12T01:53:42.8907123Z',
callerId: 'urn:botframework:azure',
text: 'how do you do?'
}
所有包含相关活动类型的活动(例如“消息”,如下所示)都可以在同名活动处理程序中捕获。如果您在OnMessageActivityAsync 中没有看到“活动”,则很可能您没有正确配置处理程序。由于您尚未发布您的活动处理程序代码,因此无法说出问题可能是什么。
您可以参考BotBuilder-Samples,了解如何设置“Bot”.cs 文件的示例,该文件位于每个示例项目的“Bots”文件夹中。
希望有帮助!