我一直在学习如何将Python和Slack用于我的课程项目。我特别致力于松弛线程,所以我可以直接发信息给全班同学。
import os
from slackclient import SlackClient
slack_token = os.environ["xoxb-restofapitoken"]
sc = SlackClient(slack_token)
sc.api_call(
"chat.postMessage",
channel="#general",
text="Hello from Python! :tada:",
thread_ts="1476746830.000003",
reply_broadcast=True
)
当我运行代码时,下面的错误显示。
Traceback (most recent call last):
File "chat1.py", line 4, in <module>
slack_token = os.environ["xoxb-restofapitoken"]
File "/home/ubuntu/starterbot/lib/python2.7/UserDict.py", line 40, in __getitem__
raise KeyError(key)
KeyError: 'xoxb-restofapitoken'
我做错了什么?
答案 0 :(得分:1)
之前我遇到过类似的错误。 您的代码没有任何问题。 但是,当您使用测试令牌时,请关注Slack的guideline,“将令牌作为环境变量传递”。
将代码更改为:
import os
from slackclient import SlackClient
slack_token = os.environ["SLACK_BOT_TOKEN"]
sc = SlackClient(slack_token)
sc.api_call(
"chat.postMessage",
channel="#general",
text="Hello from Python! :tada:",
thread_ts="1476746830.000003",
reply_broadcast=True
)
使用以下命令运行:
SLACK_BOT_TOKEN="xoxb-restofapitoken" python myapp.py
你应该好好去。