如何从 Microsoft Bot Framework 发送短信(使用 Twilio 通道)?

How to send SMS (using Twilio channel) from Microsoft Bot Framework?

目前我的机器人在 Facebook Messenger 上,供员工使用。 我希望我的机器人向某人发送一条短信,欢迎他/她加入我们的团队并附上凭据。

我知道 Microsoft Bot Framework 集成了 Twilio,所以我在下面集成了 Twilio 频道:https://docs.microsoft.com/en-us/bot-framework/channel-connect-twilio,所以我有一个 phone,一切都配置好了,因为我可以手动发送 SMS(来自Twilio 的仪表板),它有效。

问题是我现在不知道如何在机器人中使用它。

const confirmPerson = (session, results) => {
  try {
    if (results.response && session.userData.required) {

      // Here I want to send SMS

      session.endDialog('SMS sent ! (TODO)');
    } else {
      session.endDialog('SMS cancelled !');
    }
  } catch (e) {
    console.error(e);
    session.endDialog('I had a problem while sending SMS :/');
  }
};

如何实现?

编辑:精确,欢迎员工的人是一名教练,只需从机器人发送带有凭据的短信,以便在用户首次使用后机器人连接的 webapp 中使用 welcomed

此处为 Twilio 开发人员布道师。

您可以通过 sending an ad-hoc proactive message 在 bot 框架中执行此操作。看来您需要为要向其发送消息的用户创建一个地址,但我在文档中找不到地址应该是什么样子。

由于您处于 Node 环境中,因此您可以对此使用 Twilio 的 API 包装器。只需将 twilio 安装到您的项目中:

npm install twilio

然后收集您的帐户凭据并像这样使用模块:

const Twilio = require('twilio');

const confirmPerson = (session, results) => {
  try {
    if (results.response && session.userData.required) {

      const client = new Twilio('your_account_sid','your_auth_token');

      client.messages.create({
        to: session.userData.phoneNumber,   // or whereever it's stored.
        from: 'your_twilio_number',
        body: 'Your body here'
      }).then(function() {
        session.endDialog('SMS sent ! (TODO)');
      }).catch(function() {
        session.endDialog('SMS could not be sent.');
      })

    } else {
      session.endDialog('SMS cancelled !');
    }
  } catch (e) {
    console.error(e);
    session.endDialog('I had a problem while sending SMS :/');
  }
};

让我知道这是怎么回事。