我在使用Slack api方面非常(非常)新手--所以要温文尔雅,使用简短的词语。到目前为止,我已经设法建立了一个简单的系统,可以张贴到我们的松弛频道。一切都很好,但与帖子相关联的图标是默认的。我该如何设置一个不同的图标,甚至是我自己创建的图标?
以下是基本代码(摘自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')
非常感谢。
发布于 2020-02-09 18:01:20
要设置消息的图标图像,您可以简单地为属性icon_url
提供一个图像的URL。
示例:
message = {'channel': '#channel_name', 'text': message_text, 'icon_url': 'https://img.icons8.com/emoji/96/000000/penguin--v2.png'}
您可以在接口方法chat.postMessage的官方文档页面看到所有可用的属性。
既然你说你是个初学者,请允许我再提两个建议。
1- offical Slack库
Python有一个官方的Slack库,它使思考变得更容易,例如,你不需要处理请求库和HTTP头文件。你可以在这里找到它:https://github.com/slackapi/python-slackclient
2-环境变量中的Slack标记
出于安全原因,最好将松弛令牌放在环境变量中。这样你也可以把你的代码签入到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'
)
https://stackoverflow.com/questions/60127373
复制