Упоминание гостя, использующего 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 чтобы получить список всех пользователей в вашем рабочем пространстве. Затем повторите этот список, чтобы сопоставить имя гостя с идентификатором.

Другие вопросы по тегам