您好我使用python slack客户端库,我无法理解为什么我的消息在使用
时没有显示from slackclient import SlackClient
token = 'XXXXXXXX' # my token
sc = SlackClient(token)
if sc.rtm_connect(): # connect to a Slack RTM websocket
sc.rtm_send_message('general', 'I need coffee')
else:
print('Connection Failed, invalid token?')
My Bot是我尝试发送消息的公共频道的一部分,我没有收到任何错误,但我发送的频道中没有任何内容出现。我已尝试过频道名称及其ID。
以下工作
import json
from slackclient import SlackClient
def list_channels():
channels_call = slack_client.api_call("channels.list")
if channels_call.get('ok'):
return channels_call['channels']
return None
def send_message(channel_id, message):
slack_client.api_call(
"chat.postMessage",
channel=channel_id,
text=message,
username='mybot',
icon_emoji=':robot_face:'
)
slack_client = SlackClient('XXXXXXXXX')
channels = list_channels()
if channels:
for c in channels:
if c['name'] == 'general':
send_message(c['id'], 'I need coffee.')
else:
print("Unable to authenticate.")
我看到该消息几乎立即出现在我的频道中。
我已通过slack网站和api确认我的机器人是该频道的成员。
我错过了一些有关它的工作方式吗?
答案 0 :(得分:0)
我认为您应该使用机器人令牌而不是用户令牌。松弛中有两种类型的令牌,如果你想让机器人回复松弛通道,你应该使用机器人令牌。