“尝试通过RTM API连接到Slack时出现错误的RTM连接”错误

问题描述 投票:1回答:1

我正在使用Slack的"Migrating to 2.x" github docs中的以下Python代码

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访问令牌,位于以下位置:enter image description here

我得到的错误如下:

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在线问题的用户不同机器。
  • 我正在虚拟环境中通过以下方式在本地运行代码我的终端机中的python script.py
  • 我上次在12月成功运行了此命令,并看到Slack在2019年12月31日放弃了对RTM API(?)的支持?
  • 该应用程序已重新安装到我的工作区中,并且密钥没有更改。
  • 我认为这可能是我需要在api.slack.com/apps端配置/更改/设置/刷新的东西,因为它破裂了,没有发生任何代码更改。

为什么我要集中精力调试1.x的示例?以前我的代码使用rtm_connect / 1.x并与示例代码使用相同的命令,并且没有任何代码更改,它已停止工作。我的代码和示例代码产生相同的错误,因此我使用示例代码使调试更加容易。我想在开始迁移到2.x之前修复此问题,因此我可以从工作代码开始,然后进行一系列可能导致自身错误的更改。

python server client slack slack-api
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.