gpt4 book ai didi

python - 使用 SlackClient 查找消息的 channel 名称

转载 作者:行者123 更新时间:2023-12-01 03:45:41 25 4
gpt4 key购买 nike

我正在尝试使用 python SlackClient 打印在 slack 中发布消息的 channel 。运行此代码后,我只获得 ID 而不是 channel 名称。

import time
import os
from slackclient import SlackClient

BOT_TOKEN = os.environ.get('SLACK_BOT_TOKEN')

def main():
# Creates a slackclient instance with bots token
sc = SlackClient(BOT_TOKEN)

#Connect to slack
if sc.rtm_connect():
print "connected"
while True:
# Read latest messages
for slack_message in sc.rtm_read():
message = slack_message.get("text")
print message
channel = slack_message.get("channel")
print channels
time.sleep(1)


if __name__ == '__main__':
main()

这是输出:

test
U1K78788H

最佳答案

这将始终生成 channel ID,而不是 channel 名称。您必须调用channels.info来获取 channel 名称。

import time
import os
from slackclient import SlackClient

BOT_TOKEN = os.environ.get('SLACK_BOT_TOKEN')

def main():
# Creates a slackclient instance with bots token
sc = SlackClient(BOT_TOKEN)

#Connect to slack
if sc.rtm_connect():
print "connected"
while True:
# Read latest messages
for slack_message in sc.rtm_read():
message = slack_message.get("text")
print message
channel = slack_message.get("channel")
print channel
channel_info=sc.api_call("channels.info",channel=channel)
print channel_info["channel"]["name"]
time.sleep(1)


if __name__ == '__main__':
main()

这还将打印 channel 名称。另一种方法是您可以预先将所有 channel 的名称及其channel_id存储在字典中。然后以id为key获取 channel 名称。

关于python - 使用 SlackClient 查找消息的 channel 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com