Как ответить на Slack thread командой curl - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь заставить свой локон работать, затем я пытаюсь создать ответ на тему.

Я следую этому документу: https://api.slack.com/docs/message-threading#threads_party И от тестера я получил информациютребуется сделать звонок: https://api.slack.com/methods/chat.postMessage/test

Если я попытаюсь сделать локон, похожий на этот:

curl -X POST -H 'Content-type: application/json' --data '{"token":"MYTOKEN","channel":"Chanel-ID", "message": {"text":"curl", "thread_ts":"1543586718.000800"}}' https://hooks.slack.com/services/MYSLACKHOOKID

Каждый раз, когда я делаю это, я получаю ответ «Нет текста»,может ли кто-нибудь помочь мне на пути к моей цели, все, что я хочу сделать, это ответить на сообщение.

1 Ответ

0 голосов
/ 03 декабря 2018

В вашем выражении curl есть несколько проблем.

  1. Входящие веб-зацепки не поддерживают потоки, поэтому вам нужно использовать метод API chat.postMessage.Как указано в документации :

    Входящие веб-зацепки не поддерживают потоки.Если вы хотите, чтобы ваше приложение отвечало сообщением в ветке, используйте chat.postMessage.

  2. Синтаксис вашего JSON неверен.message свойство отсутствует.Вместо этого создайте один плоский массив JSON со всеми необходимыми свойствами (кроме token), например, channel, text, thread_ts.Смотрите здесь полный синтаксис chat.postMessage

  3. При публикации в формате JSON вы должны включить свой токен в заголовок авторизации, а не в тело вашего запроса.Как объяснено здесь более подробно.

  4. Последнее, но не менее важное, я бы порекомендовал указать кодировку, или вы получите предупреждение.

Завиток выглядит так:

curl https://slack.com/api/chat.postMessage -X POST -H 'Content-type: application/json; charset=utf-8' -H "Authorization: Bearer TOKEN" --data '{"channel":"CHANNEL-ID", "text":"curl", "thread_ts":"THREAD-TS"}'
...