我在本地安装了botkit,并且工作正常。现在,我想用一个外部的restful api来连接机器人,例如:
HUMAN:您有多少客户连接? Bot:机器人在我的服务的其余api内部执行查询然后,回答 Bot:有21个客户连接。
有什么建议吗?
答案 0 :(得分:5)
我们做了类似的操作,而且非常类似。使用某种排序或HTTP客户端对端点进行GET。我们使用request
npm。然后你只需要在回调中调用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');
});
});
};