3

我在本地安装了 botkit,并且与 slack 完美配合。现在,我想将机器人与外部 restful api 连接起来,例如:

人类:你连接了多少客户?机器人:机器人在内部对我的服务的其余 api 执行查询,然后回答 Bot:连接了 21 个客户端。

有什么建议吗?

4

1 回答 1

7

我们做了类似的操作,非常简单。使用某种排序或 HTTP 客户端对您的端点进行 GET。我们使用requestnpm。然后你只需要bot.reply在回调中调用。为了启动我ambient用来收听机器人被邀请到的任何频道的交互,但direct_message如果你是这样滚动的,你可以将其设置为。

var request = require('request');

module.exports = function(controller) {
    controller.hears(['How many clients'], 'ambient', function(bot, message) {

        request('http://api.com/totalUsers', function (err, response, body) {

            console.log('error: ', err); // Handle the error if one occurred
            console.log('statusCode: ', response && response.statusCode); // Check 200 or such
            console.log('This is the count of users: ', body.usersCount);

            bot.reply(message, 'There are ' + body.usersCount + ' clients connected');

        });
    });
};
于 2017-06-15T05:35:02.867 回答