Я использую следующий Python код из Slack's "Миграция в 2.x" github docs
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
я использую Маркер доступа пользователя OAuth * Bot для моего приложения, найденный здесь:
Я получаю следующую ошибку:
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
Почему я получаю эту ошибку?!?!?!
Другой контекст:
- Я нахожусь на Ма c В отличие от других, у которых были проблемы в сети с использованием Windows машин.
- Я запускаю код локально, в виртуальной среде, через
python script.py
в моем терминале. - Последний раз я успешно запускал эту программу в декабре и видел, что Slack отказался от поддержки RTM API (?) De c 31st 2019?
- Приложение было переустановлено в мою рабочую область, а ключи не изменились.
- Я думаю, что это может быть что-то, что мне нужно настроить / изменить / установить / обновить sh на API .slack.com / apps, поскольку он сломался без каких-либо изменений кода.
Почему я сосредоточился на отладке примера для 1.x? Мой код ранее работал используя rtm_connect / 1.x, используя те же команды, что и в примере кода, и без каких-либо изменений кода он перестал работать. Мой код и пример кода выдают одинаковые ошибки, поэтому я использую пример кода, чтобы упростить отладку. Я хотел бы исправить это перед началом процесса перехода на 2.x, чтобы я мог начать с рабочего кода, прежде чем приступать к длинной серии изменений, которые могут вносить свои собственные ошибки.