2016-09-09 4 views
0

Я начал писать слабину бот в Python и пришел к остановке, когда я не мог найти способ отправить богато отформатированные сообщения с использованием любого из двух методов:Могу ли я отправлять сообщения с Slack-форматированным Slack как бот, а не как Webhook?

sc.rtm_send_message("channel_name", my_message) 

sc.api_call("chat.postMessage", channel="channel_name", text=my_message, username="username", icon_url="icon_url") 

где my_message = json.dumps({'attachments': [{...}]})

Теперь я знаю, что я могу сделать это, используя подход webhook, но возможно ли это с помощью вышеупомянутого метода?

+0

Не могли бы вы пояснить, что вы подразумеваете под сообщениями с форматированием? –

+1

Нагрузки хорошей информации можно найти здесь (https://api.slack.com/docs/message-formatting), и вы можете попробовать ее в браузере [здесь] (https://api.slack.com/документы/сообщения/строитель) –

ответ

1

Я узнал, где я ошибся.

Я передал свое сообщение неверному аргументу в методе sc.api_call.

Я должен был передать его в sc.api_call(attachments=...) аргумента, а не text аргумента.

4

Оба API (метод chat.postMessage) и входящий webhook предлагают одинаковые параметры форматирования ваших сообщений, включая разметку и вложения.

Подсказка: если вы хотите использовать разметку в своих вложениях, обязательно добавьте поле «mrkdwn_in» и назовите поле, в котором хотите его использовать, или оно будет игнорироваться Slack.

Пример:

{ 
    "attachments": [ 
     { 
      "title": "Title", 
      "pretext": "Pretext _supports_ mrkdwn", 
      "text": "Testing *right now!*", 
      "mrkdwn_in": ["text", "pretext"] 
     } 
    ] 
} 

См here для полной документации.

Смежные вопросы