我正在使用Microsoft Botframework开发ChatBot。当我使用activity.CreateReply
和ReplyToActivityAsync
发送消息时,每种想法在WebChat,Skype和Telegram中都可以正常工作:
var reply = activity.CreateReply(activity.Recipient.Id);
await connectorClient.Conversations.ReplyToActivityAsync(reply);
但是,当我尝试直接发送新消息而没有之前的活动时,在Telegram中我收到了
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
});
我为“发件人”部分尝试了不同的botId。目前,当我存储数据时,我正在使用活动中的原始ID,但是我也尝试了电报名称和BotFramework句柄。
未知的botid异常
botid
后面有一个空格,但后面没有任何内容:// Code to Output exception:
ex.GetType().Name + ": " + ex.Message
// result
"HttpOperationException: Unknown botId "
最佳答案
这是BotBuilder中的错误:
https://github.com/Microsoft/BotBuilder/issues/2347
https://github.com/Microsoft/BotBuilder/issues/1983