Conversation.SendToConversation抛出错误未知的botId

时间:2017-03-01 14:44:38

标签: c# botframework telegram

我正在使用Microsoft Botframework开发ChatBot。当我发送一条消息时,activity.CreateReplyReplyToActivityAsync的每条链接在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 "

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果您只指定ID new ChannelAccount(botId),则会出现此错误。如果您添加名称new ChannelAccount(botId, botName),一切都会正常工作