Articles of 松弛

Slack Bot在Node js中回复自己的消息

我试图在nodejs中做一个松散的机器人,它根据用户的input回复用户。 但是到目前为止,机器人不断地回复自己的信息 这是我的机器人的代码 let Bot = require('slackbots'); // create a bot let settings = { token: 'xoxb-10584202949', name: 'BotHelp'}; let bot = new Bot(settings); bot.on('start', function() { bot.postMessageToChannel('general', 'At your service'); }); bot.on('message',function (data) { console.log(data); if (data.username != "BotHelp" && data.subtype != 'bot_message'){ bot.postMessageToChannel('general', 'Yoooo'); } }); 控制台logging数据 打印 { type: 'hello' } { […]

如何使斜杠命令在Slack中的我的机器人上工作?

如何使斜杠命令在Slack中的我的机器人上工作? 我正在使用chat.postMessage有机器人发布。 例如,如果我键入/giphy something ,它会拉入一个GIF图像,但如果我的机器人发布完全相同的东西,它什么都不做。

如何build立一个松散的机器人有多个对话?

我正在使用第三方服务构build一个懒散的机器人来处理基于input的响应,而不仅仅是将其编码到机器人中。 这个服务的API需要一个客户端ID和一个对话ID来获得响应。 我发现每次有一个闲置的机器人接收到一条消息时,它每次都会创build一个新的消息对象,所以没有办法将消息对象中的clientID和对话ID保留下来,并且保留下来。 rtm.on(RTM_EVENTS.MESSAGE, function(message // <– new object each time the bot hears a message){ rtm.sendMessage('hello', message.channel); }); 所以缩短了,有没有人知道一种方法来保持一个单一的用户和机器人之间的对话,而坚持一些types的variables来保存客户端和对话ID?

如何获得安装我的松弛应用程序的所有工作区的信息

如何在用户安装我的slack应用程序时获得Slack Workspace数据? 我的目标是收集安装我的应用程序的所有工作空间ID。 大意: 用户有我的应用程序安装 工作区ID(安装应用程序的位置)在授权发送到某个外部URL之后 服务器免提请求 我可以通过这个过程解决这个问题吗? https://api.slack.com/docs/oauth

如何在Slack附件的字段选项中添加一个URL?

我正试图从外部来源发送通知到Slack频道。 我正在尝试将URL链接放在附件的字段标记中。 有没有办法做到这一点? { "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": [ { "title": "Priority", "value": "High", "short": false […]

自定义Slack命令参数

我想自定义我的自定义斜杠命令,可以容纳多个参数。 例如,在slack api文档中给出的例子中,有一个命名为 /weather 94070 这只有一个参数 94070 我只是想知道如果我可以在那里传递多个参数 /weather 94070 Dallas 06-26-2016 我没有看到关于这个文件的任何地方。 有没有人遇到过这种情况? 谢谢

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了他们的文档和谷歌没有运气。