首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试用RTM连接到Slack时出现“失败的RTM连接”错误

尝试用RTM连接到Slack时出现“失败的RTM连接”错误
EN

Stack Overflow用户
提问于 2020-01-28 19:04:47
回答 2查看 2.6K关注 0票数 2

我使用的是Slack的“迁移到2.x” github文档中的以下Python代码

代码语言:javascript
复制
from slackclient import SlackClient

slack_token = os.environ["SLACK_API_TOKEN"]
client = SlackClient(slack_token)

def say_hello(data):
    if 'Hello' in data['text']:
        channel_id = data['channel']
        thread_ts = data['ts']
        user = data['user']

        client.api_call('chat.postMessage',
            channel=channel_id,
            text="Hi <@{}>!".format(user),
            thread_ts=thread_ts
        )

if client.rtm_connect():
    while client.server.connected is True:
        for data in client.rtm_read():
            if "type" in data and data["type"] == "message":
                say_hello(data)
else:
    print "Connection Failed"

对于SLACK_API_TOKEN,我正在为我的应用程序使用Bot用户OAuth访问令牌,如下所示:

我得到的错误如下:

代码语言:javascript
复制
Failed RTM connect
Traceback (most recent call last):
  File "/Users/.../slackbot/slackbot_env/lib/python3.8/site-packages/slackclient/client.py", line 140, in rtm_connect
    self.server.rtm_connect(use_rtm_start=with_team_state, **kwargs)
  File "/Users/.../slackbot/slackbot_env/lib/python3.8/site-packages/slackclient/server.py", line 168, in rtm_connect
    raise SlackLoginError(reply=reply)
slackclient.server.SlackLoginError
Connection Failed

我为什么要犯这个错误?!?!

其他上下文:

  • 我是在Mac电脑上,不像其他人在使用Windows机器时在网上有问题。
  • 我正在本地运行代码,在虚拟env中,通过终端中的python script.py运行代码。
  • 我上一次成功运行这是在去年12月,我已经看到Slack放弃了对RTM (?)的支持。2019年12月31日?
  • 该应用程序已重新安装到我的工作空间,并没有改变键。
  • 我认为这可能是我需要在api.slack.com/app端配置/更改/set/刷新的东西,因为它没有发生任何代码更改。

为什么要集中调试1.x的示例?我的代码以前使用与示例代码相同的命令使用rtm_connect /1.x,并且没有任何代码更改就停止工作了。我的代码和示例代码会产生相同的错误,因此我使用示例代码来简化调试。我想在开始迁移到2.x之前修复这个问题,所以我可以先从工作代码开始,然后再开始一系列可以引入自己错误的更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-09 22:42:36

我认为这个问题与Bot用户OAuth访问令牌无关,在我看来,您使用的是正确的访问令牌(xoxb-)。然而,这个问题可能与Slack有关。注意,新的scopes粒度作用域不支持RTM (请参阅python客户端问题#584节点客户端问题#921)。如果您想使用RTM,您应该创建一个带有经典松弛应用程序作用域botbot

票数 2
EN

Stack Overflow用户

发布于 2020-02-20 01:50:18

我不知道这是不是原因,但我以前也遇到过同样的问题。我发现的答案是,新的xoxob-*不支持RTM。

请参考此网站:- https://github.com/slackapi/python-slackclient/issues/326

因此,我使用我的OAuth访问令牌,而不是Bot用户OAuth访问令牌。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59955434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档