首页 > 解决方案 > Azure 机器人无法在 Skype 上发布

问题描述

我在 Azure Bot Framework 上创建了一个 Bot,并将其链接到 Skype,没有任何问题。当我将它添加到我的联系人时效果很好,但我想发布机器人以便能够将我的机器人添加到组中。当我提交请求时,它返回:

您的机器人未使用成功代码响应我们的 Ping 请求。请在发布您的 bot 之前验证您的 bot 是否正在运行并响应。从您的机器人收到的错误是:InternalServerError(500), Internal Server Error

有谁知道这里有什么问题?

标签: azurebotframework

解决方案


这可能是由于您的代码未正确处理系统消息引起的。

以下是处理系统消息的方法示例,应在以下情况下调用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 方法的参数。

希望能帮助到你!


推荐阅读