为什么不是我的松弛客户端rtm消息显示松弛

问题描述 投票:1回答:1

嗨,我是一个使用python松弛客户端库,我无法弄清楚为什么我的消息没有显示使用时

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?')

我的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确认我的机器人是这个频道的成员。

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

python python-2.7 slack slack-api collaboration
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.