【问题标题】:why aren't my slack client rtm messages showing in slack为什么我的 slack 客户端 rtm 消息没有在 slack 中显示
【发布时间】:2023-03-15 00:29:01
【问题描述】:

您好,我正在使用 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?')

我的 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】:

    我认为您应该使用您的机器人令牌而不是您的用户令牌。 slack 中有 2 种类型的令牌,如果您希望机器人回复 slack 频道,您应该使用机器人令牌。

    【讨论】:

    • 谢谢我在这两种情况下都使用了我的机器人令牌
    • 我很高兴这解决了您的问题。 :-)
    • 对不起,我应该更清楚。我已经在这两种情况下都使用了机器人令牌,我遇到了这个问题。我的问题没有解决。
    猜你喜欢
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2022-01-12
    相关资源
    最近更新 更多