Вялый бот, публикуемый в разговоре, не будучи в нем - PullRequest
0 голосов
/ 17 апреля 2020

Все, что я вижу вокруг слабого бота, говорит о том, что бот не может публиковать сообщения в разговоре, на который его не приглашали.
➡️ Однако, почему / giphy или простой опрос (/ poll) могут публиковать в личку (один на один) ИЛИ в разговоре, где бот не был добавлен?

  • Текущие разрешения: chat:write,commands,files:write
  • Токен oauth является «токеном доступа OAuth пользователя бота»
  • План заключается в поддержке Add to slack и распространять приложение.

Функционально, поддерживает команду / и отправляет файл в разговор.

Бот может:
- получить установку приложения oauth token uppon (через add to slack)
- удалить эфемерные сообщения
- опубликовать файл только там, где он был добавлен, что отстой потому что бот не должен читать какие-либо сообщения внутри чего-либо.

Код бота здесь

Если бота тоже не пригласили, ответ будет либо channel_not_found, либо not_in_channel.

Что я скучаю?

1 Ответ

0 голосов
/ 17 апреля 2020

Правильно, что боты могут публиковать сообщения только на тех каналах, на которые они приглашены. Однако есть два исключения:

  1. Боты могут наследовать права пользователя, устанавливающего программу. Таким образом, боты могут отправлять сообщения на каждый частный канал, членом которого является пользователь установки (включая прямые каналы сообщений). Команды

  2. Sla sh работают по-разному. Если пользователь выдает команду sla sh из канала, бот может ответить на эту команду sla sh. Это работает для каждого канала и не требует, чтобы бот был приглашен. Эти ответы являются обычными сообщениями Slack, поэтому они могут содержать все виды функций сообщений, в том числе. прикрепленные к изображениям или блоки с изображениями.

Общий порядок предоставления боту полного доступа к частным каналам следующий:

  • Пользователь запускает бот с sla sh команда
  • Бот проверяет, имеет ли он полный доступ к текущему каналу
  • Если нет, он просит пользователя пригласить его на этот канал
...