小编Eri*_*ken的帖子

Slack 是否提供 IP 白名单支持?

我有一个端点,我想将其专用于通过传出 Webhook 源自 slack 的请求。

我们是否有 IP 地址或 CIDR 块来提供 IP 白名单?

slack-api slack

9
推荐指数
1
解决办法
1万
查看次数

Python找不到已安装的模块('slackclient')

我正在尝试构建一个用于学习目的的 slack 机器人,但是当我运行脚本时出现此错误 ModuleNotFoundError: No module named 'slackclient'

我尝试安装和卸载,然后重新安装 python -m pip install slackclient

import os
import time
import re
from slackclient import SlackClient

# instantiate Slack client
slack_client = SlackClient(os.environ.get('SLACK_BOT_TOKEN'))

if __name__ == "__main__":
    if slack_client.rtm_connect(with_team_state=False):
        print("Starter Bot connected and running!")
        #Read bot's user ID by calling Web API method 'auth.test'
        starterbot_id = slack_client.api_call("auth.test")["user_id"]
        while True:
            command, channel = parse_bot_commands(slackclient.rtm_read())
            if command:
                handle_command(command, channel)
            time.sleep(RTM_READ_DELAY)
    else:
        print("Connection failed. Exception traceback printed above.")


(STARTE~1) C:\Users\enest\Desktop\Slack Bot\starterbot>python starterbot.py
Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python bots python-3.x slack-api slack

9
推荐指数
1
解决办法
1万
查看次数

通过传入webhook发送消息时发生channel_not_found异常

我使用传入的webhooks发送消息,但是通过使用类似这样的东西覆盖channelID发送到特定频道(如此处所述:https://api.slack.com/incoming-webhooks )

   {
"channel": "#my_channel",
"text": "This message will appear in #other-channel"
  } 
Run Code Online (Sandbox Code Playgroud)

当我给出我的channelID时能够接收到松弛的消息,但是当我给别人channelID(有效的频道ID)时,我得到了channel_not_found异常.

请告诉我可能出现的问题.

slack-api slack

7
推荐指数
2
解决办法
7225
查看次数

显示Slack频道中的所有在线用户

目前是Slack的新功能-我环顾四周,看看是否有Slack命令可以显示Slack频道中的所有在线用户,但没有找到。

定制的slack命令会调用Slack API方法吗?users.getPresence是必经之路,还是还有另一种方法?

slack-api slack

6
推荐指数
1
解决办法
9795
查看次数

别名现有的Slack命令

我看到了大量有关制作自定义Slack命令的文档,但我正在尝试为现有命令命名。

IE,我们有/bluejeans启动Bluejeans会议的命令,但是由于内部的一个玩笑,我希望给别名起个别名,这样也可以开始/bleujean

我在GUI中找不到位置,我是否缺少明显的东西?

alias slack-api slack

6
推荐指数
1
解决办法
1914
查看次数

在Slack中,有没有办法看到属于该频道的所有成员?

在Slack中,有没有办法看到属于该频道的所有成员?我创建了一个频道示例#groundzero,但我不知道谁在其中?谢谢

slack

6
推荐指数
2
解决办法
1万
查看次数

如何在Slack中调用apps.uninstall方法?

我希望能够为管理员提供从我的网站上从他们的工作区中删除我的Slack应用程序的选项(有点像添加到Slack按钮,但与此相反)。

我有一个删除按钮,该按钮apps.uninstall使用用户令牌(XOXP)调用该方法。但是我得到一个not_allowed_token_type错误响应。

Web方法文档指出,我可以为此方法使用用户令牌(无作用域)。任何想法我在做什么错?

在此处输入图片说明

slack-api

6
推荐指数
1
解决办法
155
查看次数

什么是分发 Slack 机器人的“重定向 URL”?

我创建了一个托管在 Heroku 上的 Python Slack 机器人(它在我的个人工作空间上运行良好),但现在希望将其分发到其他工作空间。

在 Slack 的“管理发行版”页面上,它请求至少一个重定向 URL。我不明白这是什么。例如:如果我的机器人的 Heroku 域是https://my-awesome-bot.herokuapp.com/什么,那么它的重定向 URL 是什么?

python heroku slack-api slack

6
推荐指数
1
解决办法
3092
查看次数

如何从reaction_ added 事件中获取线程回复的内容?

我正在构建一个 slack FAQ 应用程序,它使用消息反应来收集问题的最佳答案。我的计划是通过使用reaction_added事件获取 TS 属性,然后使用conversations.history获取消息内容的方法来保存任何具有积极反应的 Slack 消息。

这适用于父级或非线程消息,但它不适用于线程内的回复消息。出于某种原因,该conversations.history方法在使用线程回复的 TS 时会返回一条不相关的消息。

我检查了 Slack APIconversations.history方法文档,看看回复是否以任何特殊方式处理。我查看了conversations.replies方法以查看它是否有帮助,但由于reaction_addedevent 只是为消息提供了一个 TS id,而没有可以与该conversations.replies方法一起使用的 thread_ts 值。

我正在使用螺栓框架。这是尝试使用reaction_added事件 withconversations.history方法获取消息内容的代码片段:

app.event('reaction_added', async ({ event, context, say }) => {
  try {
    const result = await app.client.conversations.history({
      token: process.env.SLACK_USER_TOKEN,
      channel: event.item.channel,
      latest: event.item.ts,
      limit: 1,
      inclusive: true
    });
    save(`${result.messages[0].text}`);
  }
  catch (error) {
    console.error(error);
  }
});
Run Code Online (Sandbox Code Playgroud)

预期结果:发布反应的线程回复的消息内容

实际结果:slack channel中最新消息的消息内容

bots bolts-framework slack-api slack

6
推荐指数
1
解决办法
931
查看次数

Slack OAuth:本地测试请求的权限无效

对于我的本地测试,我试图从 slack 获取并保存用户的访问令牌。

第一步是获得用户的许可,我试图将用户重定向到以下 URL -

 https://slack.com/oauth/v2/authorize?scope=commands,bot&client_id=<MY_CLIENT_ID>&redirect_uri=https://localhost:3000/slack-verify/
Run Code Online (Sandbox Code Playgroud)

然后该请求将用户(当前是我)重定向到

https://<MY-WORKSPACE>.slack.com/oauth?client_id=<CLIENT_ID>&redirect_uri=https%3A%2F%2Flocalhost%3A3000%2Fslack-verify%2F&state=&scope=commands%2Cbot&user_scope=&granular_bot_scope=1&team=&install_redirect=&single_channel=0&tracked=1
Run Code Online (Sandbox Code Playgroud)

理想情况下,它应该返回 GET 参数中的代码,但它在屏幕上显示错误 -

<APP NAME> could not be installed. Error details
Invalid permissions requested
Run Code Online (Sandbox Code Playgroud)

这里有什么问题吗?

编辑:也将 localhost 替换为 ngrok URL,但这也不起作用。

重现步骤

 https://slack.com/oauth/v2/authorize?scope=commands,bot&client_id=<MY_CLIENT_ID>&redirect_uri=https://localhost:3000/slack-verify/
Run Code Online (Sandbox Code Playgroud)

只需输入您的客户端 ID 并重定向 uri 本地(如果有)。

slack-api slack

6
推荐指数
1
解决办法
3858
查看次数

标签 统计

slack ×9

slack-api ×9

bots ×2

python ×2

alias ×1

bolts-framework ×1

heroku ×1

python-3.x ×1