微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Microsoft Bot Framework处理电报内联查询

如何解决从Microsoft Bot Framework处理电报内联查询

我已经在C#中创建了一个使用 Microsoft Bot Framework 的漫游器,并且正在尝试处理 Telegram漫游器中的inline query

由于内联查询是特定于通道的(仅电报)功能,因此不立即提供对它们的支持Bot Framework Documentation表示支持answerInlineQuery方法。这可以用来回答内联查询

我的问题是:如何处理电报中的内联查询

到目前为止,我仅使用OnMessageActivityAsync函数来处理传入的请求。从电报启动内联查询后,不会触发此功能。我可以使用另一个功能来处理它吗?

解决方法

将活动从电报发送到您的机器人时,相关数据包含在传入活动的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”文件夹中的“ Bot” .cs文件的示例。

希望有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。