处理来自 Microsoft Bot Framework 的电报内联查询
Handle Telegram inline query from Microsoft Bot Framework
我在 C# 中创建了一个使用 Microsoft Bot Framework 的机器人,我正在尝试处理来自 的 inline query电报机器人.
由于内联查询是特定于渠道(仅限电报)的功能,因此不立即支持它们。支持 Bot Framework Documentation says the answerInlineQuery 方法。这可用于回答内联查询。
我的问题是:如何处理来自电报的内联查询?
到目前为止,我只使用了 OnMessageActivityAsync
函数来处理传入的请求。一旦我从电报开始内联查询,这个功能就不会被触发。我可以使用其他函数来处理它吗?
当 activity 从 Telegram 发送到您的机器人时,相关数据包含在传入 activity 的 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?'
}
所有包含相关 activity 类型(例如“消息”,如下所示)的活动都可以在同名的 activity 处理程序中捕获。如果您没有在 OnMessageActivityAsync
中看到“activity”,则可能是您没有正确配置处理程序。由于您尚未发布 activity 处理程序代码,因此无法说明问题所在。
您可以参考 BotBuilder-Samples 以获取有关如何设置 'Bot'.cs 文件的示例,该文件位于每个示例项目的 'Bots' 文件夹中。
希望得到帮助!
我在 C# 中创建了一个使用 Microsoft Bot Framework 的机器人,我正在尝试处理来自 的 inline query电报机器人.
由于内联查询是特定于渠道(仅限电报)的功能,因此不立即支持它们。支持 Bot Framework Documentation says the answerInlineQuery 方法。这可用于回答内联查询。
我的问题是:如何处理来自电报的内联查询?
到目前为止,我只使用了 OnMessageActivityAsync
函数来处理传入的请求。一旦我从电报开始内联查询,这个功能就不会被触发。我可以使用其他函数来处理它吗?
当 activity 从 Telegram 发送到您的机器人时,相关数据包含在传入 activity 的 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?'
}
所有包含相关 activity 类型(例如“消息”,如下所示)的活动都可以在同名的 activity 处理程序中捕获。如果您没有在 OnMessageActivityAsync
中看到“activity”,则可能是您没有正确配置处理程序。由于您尚未发布 activity 处理程序代码,因此无法说明问题所在。
您可以参考 BotBuilder-Samples 以获取有关如何设置 'Bot'.cs 文件的示例,该文件位于每个示例项目的 'Bots' 文件夹中。
希望得到帮助!