Как изменить иконку моего Slack бота в python? - PullRequest
2 голосов
/ 08 февраля 2020

Я очень (очень) новичок в игре с Slack api - так что будьте нежны и используйте короткие слова. До сих пор мне удалось настроить простую систему, которая может публиковать на нашем канале Slack. Все хорошо, но значок, связанный с сообщениями, используется по умолчанию. Как мне go настроить другой значок или хотя бы тот, который я создал сам?

Вот базовый код c (взят из учебника, указанного на сайте Slack api dev):

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')

Большое спасибо ...

1 Ответ

1 голос
/ 09 февраля 2020

Чтобы установить изображение значка для вашего сообщения, вы можете просто предоставить свойству 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

Существует официальная библиотека Slack для Python, которая значительно упрощает процесс мышления, например, вам не нужно иметь дело с библиотекой запросов и заголовками HTTP. Вы найдете его здесь: https://github.com/slackapi/python-slackclient

2 - токен слабины в переменных среды

По соображениям безопасности рекомендуется помещать токен слабины в переменную среды. Таким образом, вы также можете проверить свой код в github et c.

Обновленный пример

Вот ваш пример с двумя предлагаемыми улучшениями:

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'
)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...