我是Slack的新手.我找不到任何"闹钟"类型集成的集成,如下所述.
我正在寻找的是提醒我们按照既定的时间表发布我们的Slack频道.例如:每个工作日上午9点,我们的#bug-fix频道会收到一条消息,例如"让您的错误修复XYZ事物".
我搜索过Slack的集成页面但找不到任何可以做到这一点的内容.任何人都可以推荐这样的集成,或者指向一个我可能找到的资源吗?
提前谢谢了.
编辑:我发现了一个看起来很有前景的IFTTT配方,我将在这里分享,以防任何其他人有同样的问题:
https://ifttt.com/recipes/177138-post-a-daily-reminder-to-a-slack-channel
但是,我不太了解Slack集成生态系统.其他建议将不胜感激.
我正在计算机上制作松散的机器人,并试图将团队ID存储到我的数据库中。
我只想知道Slack的团队ID是否唯一。
我试图在松弛的文档上找到它。但是我什么也没得到。
有人知道吗?
我有一个在免费套餐中运行在heroku上的机器人,我正在寻找一种方法来在Slack中收到用户的消息时唤醒应用程序.
我的Procfile中有一个Web worker:
web: npm start
Run Code Online (Sandbox Code Playgroud)
我还设置了一个webserver和botkit:
var app = express();
var port = process.env.PORT || 3000;
app.listen(port, function (err) {
if (err) throw err;
console.log('Bot up!');
});
var controller = Botkit.slackbot({
debug: false
});
var bot = controller.spawn({
token: botConfig.SLACK_BOT_KEY
}).startRTM();
Run Code Online (Sandbox Code Playgroud)
机器人正常运行,并在30分钟不活动后空转
2016-09-27T18:55:18.013318+00:00 app[web.1]: info: ** API CALL: https://slack.com/api/rtm.start
2016-09-27T18:55:18.027341+00:00 app[web.1]: Bot up!
2016-09-27T18:55:18.253156+00:00 app[web.1]: notice: ** BOT ID: bot ...attempting to connect to RTM!
2016-09-27T18:55:18.298822+00:00 app[web.1]: notice: RTM websocket opened
2016-09-27T18:55:18.346493+00:00 heroku[web.1]: State changed from starting to up …Run Code Online (Sandbox Code Playgroud) 我有以下脚本来监视松弛通道.我的脚本运行好几个星期,但有一段时间我得到一个异常被捕获的打印为
socket is already closed.我无法找到此错误的资源,但它永远不会重新连接.一旦出现,我会一直收到这个错误.
我想了解它为什么会发生以及它的解决方案是什么?
import os
import time
from slackclient import SlackClient
# constants
BOT_ID = os.environ["LOUD_BOT_ID"]
LOUD_BOT_TOKEN = os.environ["LOUD_BOT_TOKEN"]
AT_BOT = "<@" + BOT_ID + ">"
slack_client = SlackClient(os.environ["LOUD_BOT_TOKEN"])
def parse_slack_output(rtm_read_output):
output_list = rtm_read_output
if output_list and len(output_list) > 0:
for output in output_list:
if output and "text" in output and AT_BOT in output["text"]:
return (
output["text"].split(AT_BOT)[1].strip(),
output["channel"],
output["user"]
)
return None, None, None
if __name__ == "__main__":
READ_WEBSOCKET_DELAY = 1
if slack_client.rtm_connect():
print "Bot is …Run Code Online (Sandbox Code Playgroud) 我正在使用 slacks事件 API并设置了对反应添加事件的订阅。现在,当对消息添加反应时,slack 将向我发送一个帖子正文,其中包含已调度事件的所有详细信息,如此处所述。
我遇到的问题是我想获取详细信息,特别text是我的用户做出反应的消息的详细信息,以便我可以解析/存储该特定消息等。我假设消息会以某种类型的 UUID 返回,然后我可以响应回调并获取文本,但是我发现很难获取特定的消息。
我看到的唯一可用端点是channels.history,它似乎没有给我我正在寻找的粒度。
所以 tl;dr 是:如何通过 slacks API 查找从事件 API 发送的消息文本?提供我认为足够的 event_ts、频道和消息 ts 的信息。我正在使用 ruby slack-api gem FWIW。
我正在尝试使用 slack api https://api.slack.com/methods/channels.join创建一个新频道,但收到此响应
info: ** API CALL: https://slack.com/api/channels.join
Response : { ok: false, error: 'user_is_bot' }
Run Code Online (Sandbox Code Playgroud)
我试过这个
controller.hears('hello', ['direct_message', 'direct_mention', 'mention'], function (bot, message) {
bot.api.channels.join({'name':'nag'}, function (err, response) {
console.log("Response : ",response);
})
});
Run Code Online (Sandbox Code Playgroud)
如果我弄错了,请告诉我。我已经开始学习 slack api。
尝试使用 Slack API(实时消息传递)时,我收到了似乎是认证错误的信息。
任何想法为什么会发生这种情况?很想得到一些反馈,为我指明正确的方向。我使用的是 python 2.7,代码托管在 pythonanywhere 的付费帐户中。
import os
from slackclient import SlackClient
verif_token = os.environ.get("MYTOKEN")
slack_client = SlackClient(verif_token)
slack_client.rtm_connect(with_team_state=False)
Traceback (most recent call last):
File "/home/xyz/.local/lib/python2.7/site-packages/slackclient/client.py", line 52, in rtm_connect
self.server.rtm_connect(use_rtm_start=with_team_state, **kwargs)
File "/home/xyz/.local/lib/python2.7/site-packages/slackclient/server.py", line 147, in rtm_connect
self.connect_slack_websocket(self.ws_url)
File "/home/xyz/.local/lib/python2.7/site-packages/slackclient/server.py", line 186, in connect_slack_websocket
raise SlackConnectionError(message=str(e))
SlackConnectionError: _ssl.c:335: No root certificates specified for verification of other-side certificates.
Run Code Online (Sandbox Code Playgroud) 使用@slack/interactive-message包firebase-functions来监听和响应Slack消息和对话框.
我不确定如何使用@slack/interactive-messagefirebase 的监听器.
1)我是否使用Firebase functions.https.onRequest(),并以某种方式req从Slack 传递到 slackInteractions.action()?
要么
2)我使用的app.use("/app", slackInteractions.expressMiddleware());如果是这样,你在哪里slackInteractions.action()小号去?
要么
3)还有别的吗?
// Express
import express = require("express");
const app = express();
const cors = require("cors")({
origin: "*"
});
app.use("*", cors);
// Firebase Functions SDK
import functions = require("firebase-functions");
const slackbotConfig = functions.config().slackbot;
const { createMessageAdapter } = require("@slack/interactive-messages");
const slackInteractions = createMessageAdapter(slackbotConfig.signing_secret);
app.use("/app", slackInteractions.expressMiddleware());
// Express route
app.post("/go", (req, …Run Code Online (Sandbox Code Playgroud) middleware express firebase slack-api google-cloud-functions
我正在制作一个调用 GAS 函数的 Slack 机器人。一切正常,只是 Slack 显示错误消息,因为它在调用 API 时只等待 3 秒响应。
任何人都可以帮助我弄清楚如何异步运行 everyDay2 ,以便我可以在完成之前返回响应。我尝试过 Promise 和回调,但无法解决。
function doPost(e){
const promise = new Promise(everyDay2);
return ContentService.createTextOutput('thinking...');
}
Run Code Online (Sandbox Code Playgroud) javascript asynchronous promise google-apps-script slack-api
我的 slack 应用程序正在侦听 channel_archived 事件,因此它可以检查是否已存档非常重要的 slack 通道:
app.event('channel_archive', async ({ event, context }) => {
if (event.channel === redacted) {
fns.textOutput(event.user, "Hello <@"+event.user+"> I noticed you archived the redacted channel. This channel is used by thousands of redacted for slack training.\n"+
"I have un-archived it so no need to worry, just please be more careful about what you are archiving")
unArchiveChannel()
}
});
Run Code Online (Sandbox Code Playgroud)
所有这些都有效,它调用了 unArchiveChannel() 函数,可以在此处看到:
async function unArchiveChannel() {
try {
const result = await app.client.conversations.unarchive({
// Bot token …Run Code Online (Sandbox Code Playgroud) slack-api ×11
slack ×3
botkit ×2
javascript ×2
python ×2
python-2.7 ×2
api ×1
asynchronous ×1
bots ×1
express ×1
firebase ×1
heroku ×1
middleware ×1
promise ×1
reminders ×1
sockets ×1
unique ×1