如何从Microsoft Bot Framework发送SMS(使用Twilio频道)?

时间:2017-09-01 11:43:45

标签: javascript node.js sms twilio botframework

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

我知道Microsoft Bot Framework集成了Twilio,所以我在这之后整合了Twilio频道:https://docs.microsoft.com/en-us/bot-framework/channel-connect-twilio,所以我有一部电话,一切都配置得很好,因为我可以手动发送短信(来自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的凭据就欢迎

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

您可以在sending an ad-hoc proactive message的机器人框架中执行此操作。您似乎需要为要发送消息的用户创建一个地址,但我无法在文档中找到地址应该是什么样子。

由于您处于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 :/');
  }
};

让我知道这是怎么回事。