我正在使用Microsoft Botframework开发ChatBot。当我发送一条消息时,activity.CreateReply
和ReplyToActivityAsync
的每条链接在WebChat,Skype和Telegram中正常工作:
var reply = activity.CreateReply(activity.Recipient.Id);
await connectorClient.Conversations.ReplyToActivityAsync(reply);
但是当我尝试在没有先前活动的情况下直接发送新消息时,在电报中我得到unknown botId
异常。 Skype和WebChat工作正常。
new ConnectorClient(new Uri(data.ServiceUrl)).Conversations.SendToConversationAsync(
new Activity
{
ChannelId = data.ChannelId,
From = new ChannelAccount(id: data.BotId),
Conversation = new ConversationAccount(id: data.ConversationId),
Type = ActivityTypes.Message,
Text = text
});
我已经为#34; From"尝试了不同的botIds。部分。目前我正在使用活动中的原始ID,当我收集数据时,我也尝试过Telegram名称和BotFramework句柄。
未知的botid异常在botid
后面有一个空格,但没有任何内容:
// Code to Output exception:
ex.GetType().Name + ": " + ex.Message
// result
"HttpOperationException: Unknown botId "
答案 0 :(得分:2)
这是BotBuilder中的一个错误:
https://github.com/Microsoft/BotBuilder/issues/2347 https://github.com/Microsoft/BotBuilder/issues/1983
答案 1 :(得分:0)
如果您只指定ID new ChannelAccount(botId)
,则会出现此错误。如果您添加名称new ChannelAccount(botId, botName)
,一切都会正常工作