如何在python中更改我的Slack bot图标?

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

我是使用Slack api的非常(非常)新手-因此要保持柔和并使用简短的单词。到目前为止,我已经成功建立了一个可以发布到我们的Slack频道的简单系统。一切顺利,但与帖子关联的图标是默认设置。如何设置一个不同的图标,甚至是我自己创建的图标?

这是基本代码(从Slack api开发站点上列出的教程中摘录:]

import requests
import json

url = 'https://slack.com/api/chat.postMessage'
token = 'xoxb-00000000000etc'


headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer {0}'.format(token)}

def send_message(message_text):
    message = {'channel': '#channel_name', 'text': message_text}
    requests.post(url, headers=headers, data=json.dumps(message))

send_message('beep boop - this is the OMS bot calling')

非常感谢...

python-3.x slack slack-api
1个回答
1
投票

要为您的消息设置图标图像,您可以简单地为icon_url属性提供图像的URL。

示例:

message = {'channel': '#channel_name', 'text': message_text, 'icon_url': 'https://img.icons8.com/emoji/96/000000/penguin--v2.png'}

您可以在官方文档页面上查看API方法chat.postMessage的所有可用属性。

由于您说的您是个初学者,请允许我提出另外两个建议。

1-正式的Slack库

[有一个用于Python的官方Slack库,它使思考变得容易得多,例如您无需处理请求库和HTTP标头。您在这里找到它:https://github.com/slackapi/python-slackclient

2-环境变量中的松弛令牌

出于安全考虑,将松弛令牌放置在环境变量中是一种很好的做法。这样,您还可以将代码检入github等。

更新示例

这是您的示例,其中包含两个建议的改进:

import slack
import os

client = slack.WebClient(token=os.environ['SLACK_TOKEN'])

response = client.chat_postMessage(        
    channel='general',
    text='beep boop - this is the OMS bot calling',
    icon_url='https://img.icons8.com/emoji/96/000000/penguin--v2.png'
)

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