标签: slack-api

警报或警报的松弛集成

我是Slack的新手.我找不到任何"闹钟"类型集成的集成,如下所述.

我正在寻找的是提醒我们按照既定的时间表发布我们的Slack频道.例如:每个工作日上午9点,我们的#bug-fix频道会收到一条消息,例如"让您的错误修复XYZ事物".

我搜索过Slack的集成页面但找不到任何可以做到这一点的内容.任何人都可以推荐这样的集成,或者指向一个我可能找到的资源吗?

提前谢谢了.


编辑:我发现了一个看起来很有前景的IFTTT配方,我将在这里分享,以防任何其他人有同样的问题:

https://ifttt.com/recipes/177138-post-a-daily-reminder-to-a-slack-channel

但是,我不太了解Slack集成生态系统.其他建议将不胜感激.

reminders slack-api

0
推荐指数
1
解决办法
2769
查看次数

宽松的团队ID是否唯一?

我正在计算机上制作松散的机器人,并试图将团队ID存储到我的数据库中。

我只想知道Slack的团队ID是否唯一。

我试图在松弛的文档上找到它。但是我什么也没得到。

有人知道吗?

api bots unique slack-api slack

0
推荐指数
1
解决办法
627
查看次数

当用户发送消息并且它在heroku上空闲时,有没有办法唤醒应用程序?

我有一个在免费套餐中运行在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)

heroku slack-api botkit

0
推荐指数
1
解决办法
309
查看次数

使用slack api时,如何在python中避免`socket已经关闭`错误?

我有以下脚本来监视松弛通道.我的脚本运行好几个星期,但有一段时间我得到一个异常被捕获的打印为 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)

python sockets python-2.7 slack-api

0
推荐指数
1
解决办法
1968
查看次数

从事件 api 响应中查看消息的文本

我正在使用 slacks事件 API并设置了对反应添加事件的订阅。现在,当对消息添加反应时,slack 将向我发送一个帖子正文,其中包含已调度事件的所有详细信息,如此处所述

我遇到的问题是我想获取详细信息,特别text是我的用户做出反应的消息的详细信息,以便我可以解析/存储该特定消息等。我假设消息会以某种类型的 UUID 返回,然后我可以响应回调并获取文本,但是我发现很难获取特定的消息。

我看到的唯一可用端点是channels.history,它似乎没有给我我正在寻找的粒度。

所以 tl;dr 是:如何通过 slacks API 查找从事件 API 发送的消息文本?提供我认为足够的 event_ts、频道和消息 ts 的信息。我正在使用 ruby​​ slack-api gem FWIW。

slack-api

0
推荐指数
1
解决办法
807
查看次数

松弛机器人错误:channels.join 的“user_is_bot”

我正在尝试使用 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 botkit

0
推荐指数
1
解决办法
1047
查看次数

Slack API - rtm_connect 错误

尝试使用 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)

python python-2.7 pythonanywhere slack-api

0
推荐指数
1
解决办法
887
查看次数

对Slack API使用Firebase onRequest()或Express app.use()

目标

使用@slack/interactive-messagefirebase-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

0
推荐指数
1
解决办法
352
查看次数

在 Google Apps 脚本中异步运行函数

我正在制作一个调用 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

0
推荐指数
1
解决办法
2661
查看次数

Slack WebAPI 对话。取消存档因 not_in_channel 失败

我的 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)

javascript slack-api slack

0
推荐指数
1
解决办法
585
查看次数

Slack 应用程序:向此应用程序发送消息已关闭

我创建了一个 slack 应用程序并向其中添加以下范围: 在此输入图像描述 在此输入图像描述 在此输入图像描述

但它仍然显示“向此应用程序发送消息已关闭”。在聊天窗口中。 在此输入图像描述 应用程序配置页面最近已更新,因此我无法尝试“转到应用程序主页并设置“允许用户从消息选项卡发送 Slash 命令和消息”复选框”之类的方法。

实际上,我为此应用程序所做的设置与我之前创建的另一个应用程序相同,并且运行正常。

有人对这个问题有建议吗?这让我很困惑,提前谢谢。

slack-api slack slack-commands

0
推荐指数
1
解决办法
3487
查看次数