Упоминание гостя, использующего Slack Bot?
У меня есть многочисленные гости на моем канале.
Я бы хотел, чтобы мой бот упоминал этих гостей в @ упоминании, но боты, похоже, не видят гостей канала. Это находит других полных пользователей в порядке, просто никто из гостей.
Это преднамеренное ограничение Slack или бот требует больше разрешений?
Я использую slackclient
модуль (Python) и сделать следующий вызов:
sc.client.api_call(
"chat.postMessage",
channel="#channel",
link_names=1,
text="@aaron.layfield <-- Working @guest.name <-- Not working This is a message."
)
2 ответа
Если вы хотите дать ссылку на пользователей из вашего сообщения, лучший формат для использования <@USERID>
вместо @username
, Это связано с тем, что Slack отказался от использования имен пользователей и обратился к более гибкой концепции отображаемых имен, которые не гарантируют быть уникальными или неизменными.
Так что в этом случае вы бы сделали что-то вроде
curl --request 'POST' 'https://slack.com/api/chat.postMessage?token=xoxb-21321321-1231321321321-dsfasdgdsfaghsdfhsdfh&channel=C9UFK5F5S&text=Hey <@UFBKH3B63>'
Который будет отображаться как
Привет @ Колм Дойл
Как уже объяснялось в ответе Колма, синтаксис @username устарел, и вместо упоминаний следует использовать синтаксис идентификатора.
Чтобы получить идентификаторы для ваших гостевых пользователей, звоните users.list
чтобы получить список всех пользователей в вашем рабочем пространстве. Затем повторите этот список, чтобы сопоставить имя гостя с идентификатором.