Как отобразить интерактивное сообщение на канал с помощью косой черты, КРОМЕ для вызывающего его человека? - PullRequest
0 голосов
/ 21 сентября 2018

Я создал интерактивное сообщение, которое вызывается с помощью команды косой черты, которая распространяется по всему каналу.Все отлично работаетНо я не могу понять, как ограничить сообщение всем каналом, но тем, кто его вызывает.Прямо сейчас сообщение отправляется всем, включая человека, который его вызвал.Если вы когда-либо использовали /poll, опрос проводится для всех, кроме того, кто его создал.

Если кто-нибудь знает, как это сделать, можете ли вы указать мне правильное направление?

1 Ответ

0 голосов
/ 21 сентября 2018

Ответное сообщение от команды косой черты может быть только одним из двух:

  • и ephemeral ответ, который может видеть пользователь, который выполнил команду только
  • ответ in_channel, который может видеть каждый на канале

Нет функции или переключателя, чтобы ответное сообщение не было видно пользователю, выдавшему сообщение.

Тем не менее, вы можете создать обходной путь и вручную отправить каждому пользователю, за исключением того, кто дал команду, эфемерное сообщение.Вот схема того, как это будет работать:

  • Получить список пользователей канала через conversations.members
  • Отправить каждому пользователю эфемерное сообщение черезchat.postEphemeral

Существуют некоторые существенные предостережения для этого обходного пути:

  • Вашему приложению требуется много дополнительных областей, чтобы иметь возможность получатьсписок участников и отправка сообщений (подробности см. в документации по этим методам API)
  • Существует ограничение скорости около 1 сообщения в секунду, поэтому отправка этих сообщений всем пользователям может занять некоторое время, в зависимости от размерагруппа
  • ваша команда слэша должна ответить в течение 3 секунд.Так что вам нужно будет реализовать некоторую причудливую многопоточность, чтобы иметь возможность отправлять все эти сообщения.
  • Чтобы это работало по частным каналам, вам нужно работать с дополнительным пользователем бота

Это даст вам результат, о котором вы просите, но есть несколько предостережений:

...