azure - Azure 机器人无法在 Skype 上发布
问题描述
我在 Azure Bot Framework 上创建了一个 Bot,并将其链接到 Skype,没有任何问题。当我将它添加到我的联系人时效果很好,但我想发布机器人以便能够将我的机器人添加到组中。当我提交请求时,它返回:
您的机器人未使用成功代码响应我们的 Ping 请求。请在发布您的 bot 之前验证您的 bot 是否正在运行并响应。从您的机器人收到的错误是:InternalServerError(500), Internal Server Error
有谁知道这里有什么问题?
解决方案
这可能是由于您的代码未正确处理系统消息引起的。
以下是处理系统消息的方法示例,应在以下情况下调用message.Type == "Message"
:
private Message HandleSystemMessage(Message message)
{
if (message.Type == "Ping")
{
Message reply = message.CreateReplyMessage();
reply.Type = "Ping";
return reply;
}
else if (message.Type == "DeleteUserData")
{
// Implement user deletion here
// If we handle user deletion, return a real message
}
else if (message.Type == "BotAddedToConversation")
{
}
else if (message.Type == "BotRemovedFromConversation")
{
}
else if (message.Type == "UserAddedToConversation")
{
}
else if (message.Type == UserRemovedFromConversation")
{
}
else if (message.Type == "EndOfConversation")
{
}
return null;
}
更新
尝试查找Activity实例,而不是消息实例(取决于您是否使用 .Net Core)。您应该将其视为 API 控制器中 post 方法的参数。
希望能帮助到你!
推荐阅读
- c++ - 根据类型特征更改功能定义?
- r - 根据另一个变量的值创建虚拟变量?
- java - 运行 .bat 文件以启动 Minecraft 服务器时出现错误消息,最大堆无效/无法创建 Java 虚拟机
- java - 如何为 keycloak 容器启用 ssl 调试?
- python - 使用python从文件中复制包含触发词的行
- java - 在 Spring 的 GET 请求中将请求参数/路径变量映射到 Dto
- postgresql - PHP中是否有“PostgreSQL-SQL-to-OtherDB-SQL”转换器之类的东西,或者根本没有?
- java - 如何在遵守Java中的条件之前无限地生成随机一个?
- go - 使用 HandleFunc 的静态内容
- caching - 为什么一级使用拆分缓存?