我正在使用Microsoft Botframework开发ChatBot。当我使用activity.CreateReplyReplyToActivityAsync发送消息时,每种想法在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

08-27 00:22