为什么我的懒散客户端rtm消息显示为松弛

时间:2018-02-20 09:38:19

标签: python python-2.7 slack slack-api collaboration

您好我使用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确认我的机器人是该频道的成员。

我错过了一些有关它的工作方式吗?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用机器人令牌而不是用户令牌。松弛中有两种类型的令牌,如果你想让机器人回复松弛通道,你应该使用机器人令牌。