我创建了一个bot v3.0项目并将其连接到Slack和Skype。 Skype连接器运行良好,但我遇到了Slack连接器的问题。
这是默认项目中的Post处理程序。
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
// calculate something for us to return
int length = (activity.Text ?? string.Empty).Length;
// return our reply to the user
Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");
await connector.Conversations.ReplyToActivityAsync(reply);
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
当我从Slack发送消息时,它被传递给post处理程序,并且activity对象看起来很好。我可以看到包括消息,收件人等在内的松弛数据。然后调用:
await connector.Conversations.ReplyToActivityAsync(reply);
抛出异常,并显示消息“无法反序列化响应”和内部异常,错误为“解析值时遇到意外字符:&lt; .Path'',第0行,位置0。”
补充几点。
对于Slack频道,我需要采取哪些不同的做法吗?
谢谢!
更新 此问题发生在Microsoft.Bot.Builder v3.0.0中,并在Microsoft.Bot.Builder v3.0.1中得到修复。我现在能够从Slack和Skype正确地与我的机器人进行通信。
https://github.com/Microsoft/BotBuilder/releases/tag/botbuilder%403.0.1
谢谢史蒂文尼!
答案 0 :(得分:0)
其他人也会遇到这种情况。以下是相关问题:https://github.com/Microsoft/BotBuilder/issues/618
答案 1 :(得分:0)
此问题发生在Microsoft.Bot.Builder v3.0.0中,并在Microsoft.Bot.Builder v3.0.1中修复。我现在能够从Slack和Skype正确地与我的机器人进行通信。
https://github.com/Microsoft/BotBuilder/releases/tag/botbuilder%403.0.1
谢谢史蒂文尼!