【问题标题】:Starting a conversation with Microsoft bot builder and microsoft bot framework开始与 Microsoft bot builder 和 microsoft bot 框架的对话
【发布时间】:2016-10-12 01:14:09
【问题描述】:

我试图让我的机器人开始与用户对话,但我不知道我应该从代码中的哪个位置发送消息。启动 convo 的文档在这里,但不是很有帮助:http://docs.botframework.com/connector/new-conversations/#navtitle。我还尝试在 HandleSystemMessages 中回复(如果我更改消息类型,它可以与模拟器一起使用)但它仍然不会发送第一条消息。

我正在使用 Microsoft Bot 连接器和 C#。

// Idk如何在stackoverflow中做语法高亮 // 这是我在 MessageController 类中的代码

public async Task<Message> Post([FromBody]Message message)
    {
        if (message.Type == "Message")
        {
            return message.CreateReplyMessage($"You said:{message.Text}");
        }
        else
        {
            return HandleSystemMessage(message);
        }
    }

【问题讨论】:

  • 您找到解决方案了吗?我也在努力解决这个完全相同的问题。想不通。开发人员文档是无用的。非常没有帮助。

标签: bots botframework


【解决方案1】:

我花了很多时间研究这个问题。结果,我设法代表机器人开始发送消息。我的示例向群组对话发送消息。下面的代码 - 是粗略的草稿,但它有效:

class Program
{
    static void Main(string[] args)
    {
        var connector = new ConnectorClient(new Uri("https://skype.botframework.com"));
        var conversationId = "19:ConversationAccountId@thread.skype";
        var conversation = new ConversationAccount(true, conversationId);
        var botAccount = new ChannelAccount("28:74a05skypeBotChannelAccountId", "your bot name");

        IMessageActivity message = Activity.CreateMessageActivity();
        message.From = botAccount;
        message.Conversation = conversation;
        message.ChannelId = "skype";
        message.Text = "some text";
        message.Locale = "en-En";
        connector.Conversations.SendToConversation((Activity)message);
    }
}

【讨论】:

  • 你能告诉我们在哪里实现这个代码吗?如果我们不使用 Skype,我们怎么能做到这一点?您已将该人链接到他认为没有帮助的同一页面。你能详细说明你的答案吗?我认为他没有将其标记为正确,因为他可能从未设法弄清楚。
  • 我停止了这个项目的工作。我的任务是初始化从我的 Skype 机器人到任何已知 Skype 联系人的对话。上面的代码帮助解决了我的任务。 “如果我们不使用 Skype”是什么意思?您可以使用 botframework 支持的任何 Channel,例如 Facebook、电子邮件、slack 等。
  • 例如,您可以在控制台应用程序或其他地方使用上面的代码。我在作为控制台应用程序实现的调度程序中使用它。
  • 要开始工作,您需要注册自己的 Microsoft bot 并用它替换 botAccount 变量。您还需要以前存储的有关您的联系人的信息 (conversationId) 并使用任何存储的 conversationId 而不是“19:ConversationAccountId@thread.skype”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多