В слабину вы можете сценарий slackbot для отправки сообщений на канал , как это:

curl --data "$msg" $'https://<yourteam>.slack.com/services/hooks/slackbot?token=<yourtoken>&channel=#random'

Теперь я хотел бы упомянуть имя пользователя в первой части сообщения, например msg="@joernhees hello self" .

Проблема в том, что если аргумент --data в curl начинается со знака @ он интерпретирует строку после @ как имя файла и публикует его содержимое. Есть ли способ заставить curl игнорировать знак @ и отправлять литерал @ в качестве первого символа запроса на публикацию?

1 ответ1

0

На самом деле я только что узнал, что могу сделать это (хотя не уверен, что это лучший вариант):

curl --data '@-' $'https://<yourteam>.slack.com/services/hooks/slackbot?token=<yourtoken>&channel=#random' <<< "$msg"

Хитрость заключается в том, чтобы сказать curl читать из stdin @- и затем передать сообщение через него.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .