Python Traceback:键错误

时间:2017-11-19 03:25:46

标签: python python-2.7 slack slack-api

我一直在学习如何将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'

我做错了什么?

1 个答案:

答案 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

你应该好好去。