c# - 使用 Microsoft Bot SDK 让机器人转发事件

标签 c# azure botframework microsoft-teams

我的机器人有模式进度,但尚未解决我的问题。 You can view my new post that goes into more detail (and has actual code) here.

我之前使用 Telegram 作为消息服务,它有一个 RESTful API,我可以让机器人将消息转发到由聊天 ID 标识的特定对话。我一直在尝试寻找一种使用 Microsoft Bot SDK 为 Teams 复制类似功能的方法。我研究了有关主动消息传递和 RESTful API 的 MS 文档,但我不认为它们执行类似的任务。

更详细地说,我的目标是: 从我的应用程序向我的机器人发送一个 POST 请求,其中包含

  • 必要的凭据
  • 要转发的消息/附件
  • 将此消息转发给谁的对话 ID

根据要求,对工作流程进行逐步说明:

  1. 我的网络应用中的用户触发了警报。
  2. 此警报会触发 POST 请求,并向机器人发送一条消息,以便分派(dispatch)给 MS Teams 用户。
  3. 机器人接收 POST 请求并将消息发送到指定的对话
    • 用户和群聊将在 POST 请求中指定,或存储在机器人可以访问的数据库中

无需跟踪消息回复,该机器人纯粹用于通知。

如果有人可以提供建议或向我指出他们认为有用的资源,我将非常感激。

编辑:我目前正在研究向机器人发送 POST 请求的策略,其中包含一个附加的 JSON 字段,该字段指定消息将被转发以及转发给谁。如果我发现它有效,将会更新。

谢谢。

最佳答案

您可以使用 Proactive Message 将消息发布到特定对话.

    var parameters = new ConversationParameters
    {
        Bot = new ChannelAccount(botId, botName),
        Members = new ChannelAccount[] { new ChannelAccount(userId) },
        ChannelData = new TeamsChannelData
        {
            Tenant = channelData.Tenant
        }
    };

    var conversationResource = await connectorClient.Conversations.CreateConversationAsync(parameters);

注意:发布评论中的答案。

关于c# - 使用 Microsoft Bot SDK 让机器人转发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53160786/

相关文章:

c# - Azure消息队列中的消息将直接进入Poison消息队列

java - 如何修复从 REST 客户端使用 AZURE 表存储服务时指定的资源不存在错误

botframework - Skype for Business 机器人 - 始终 "presence unknown"

c# - (用 Jill 反序列化动态对象?

c# - 如何正确排队要在 C# 中运行的任务

azure - 公开 Blob 存储并上传到其中

.net - [MsTeams][BotFrameworkV4][自适应卡 ] 团队中可滚动自适应卡

c# - 如何从复杂的自适应卡中读取值?

c# - CSS和JS总是返回404本地

c# - 第一行未从 csv 导入到 DataTable 中