python-3.x - 如何在 python 中更改我的 Slack 机器人图标?

标签 python-3.x slack slack-api

我在使用 Slack api 方面非常(非常)新手 - 所以要温和并使用简短的单词。到目前为止,我已经设法建立了一个可以发布到我们的 Slack channel 的简单系统。一切都很好,但与帖子关联的图标是默认图标。我该如何设置不同的图标,甚至是我自己创建的图标?

这是基本代码(摘自 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')

非常感谢...

最佳答案

要为您的消息设置图标图像,您可以简单地为属性 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 header 。您可以在这里找到它:https://github.com/slackapi/python-slackclient

2 - 环境变量中的 Slack token

出于安全原因,最好将您的松弛 token 放入环境变量中。这样您也可以将您的代码 checkin 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'
)

关于python-3.x - 如何在 python 中更改我的 Slack 机器人图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127373/

相关文章:

python - 创建单行数据框

python - 如何正确安排 while 函数被中断并调用另一个函数

javascript - 无法使用松弛 bolt 检测多用户选择的 Action

c# - 在 bot 框架中正确格式化消息以实现 slack

mysql - Slack webhooks 导致 cls-hooked 请求上下文孤立 mysql 连接

node.js - 在 Microsoft Bot 构建器 node.js 中处理由 Slack 中的提示生成的先前按钮的输入时出现问题

python-3.x - 没有名为 'openslide' 的模块

python - Python 的类设计 - 参数错误

slack-api - 将附件发布到 Slack API

javascript - 错误 : An API error occurred: invalid_auth