【问题标题】:Trouble writing a proactive message Microsoft Teams Bot无法编写主动消息 Microsoft Teams Bot
【发布时间】:2020-03-30 17:44:19
【问题描述】:

我目前正在尝试使用我在网上看到的以下示例代码通过我的 Microsoft Teams 机器人发送主动消息:

var address =
{
    channelId: 'msteams',
    user: { id: userId },
    channelData: {
        tenant: {
            id: tenantId
        }
    },
    bot:
    {
        id: appId,
        name: appName
    },
    serviceUrl: session.message.address.serviceUrl,
    useAuth: true
}

var msg = new builder.Message().address(address);
msg.text('Hello, this is a notification');
bot.send(msg);

所做的唯一更改是我使用 TeamsMessage 而不是常规消息,因为我收到错误消息说 Message 不是一个也让我感到困惑的类。运行代码时的问题是它告诉我我的机器人没有名为“发送”的函数。我的机器人扩展了 TeamsActivityHandler 类。我的问题是如何解决这个问题?

【问题讨论】:

标签: microsoft-teams


【解决方案1】:

您需要用户的唯一 ID 和租户 ID 来发送主动消息。通常,这些是从团队上下文中获取的,通过获取团队名册或当用户在频道中与您的机器人交互时。请查看有关如何send proactive message 的文档。

这是用于主动消息的Node.js sample 的源代码。

【讨论】:

  • 我已经能够获取消息的两个 ID。问题是我不知道如何发送信息。当我尝试 'bot.send' 时,它说'send' 方法不存在,我看到示例使用'session.send',但我不知道如何获取会话对象。
  • 它只是我创建的一个新的 Session 对象吗?
  • 您能否提供有关共享代码的更多上下文?比如什么实例是“bot”以及你能分享你指的是哪个文件吗?
  • 使用会话的示例是您发送给我的链接here。 bot 本身是一个类,它扩展了 bot sdk (v4) 中的 TeamsActivityHandler 类。我正在尝试做的只是从团队中获得一个用户 ID,当事件发生时亲自发送该 ID。
  • 我找到了解决问题的方法here
猜你喜欢
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
  • 2023-03-11
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多