Автопилот + Беседы ВКонтакте - Пример настройки
ВНИМАНИЕ! Есть особенности бесед сообществ — тех, где создатель-владелец — само сообщество.
Сообщество-владелец НЕ ПОЛУЧАЕТ уведомлений Callback API о самостоятельном вступлении и выходе. Поэтому сообщество-владелец НЕ может приветствовать вступивших в беседу и прощаться с вышедшими.
В качестве welcome-бота добавьте в беседу другое сообщество (например, персонаж для приветствий) и дайте ему права «Администратор» или «Доступ ко всей переписке».
Важная информация:
Если Вы сделали бота и разрешили его добавлять в беседу всем пользователям, то оплачивать мили придется вам. Если Вы не хотите, чтобы ботом пользовались, просто выключаете возможность добавления в беседу.
Например: если Вы добавите нашего бота к себе, тогда на его использование тратятся мили у нас (вы не платите), а если сделан Кощей в аккаунте Андрея и включено: «добавление в беседу» для всех, то придется платить владельцу аккаунта — Андрею.
Для выключения возможности добавления сообщества в беседу:
- переходим в Управление — Сообщения — Настройки для ботов и снимаем галочку: «Разрешать добавлять сообщество в беседы»

Вариант 2 (менее радикальный):
Для того, чтобы разрешить добавлять бота-сообщество в беседу только администраторам нужно сделать следующее:
- переходим в Управление — Меню находим пункт «Добавить в беседу» и в настройках видимости ставим галочку: «Только администаторы», т.е. кнопку для добавления в беседу видят только администраторы сообщества.

Особенности и умения
- Умеет отвечать и в беседу, и в личку (по событию внутри беседы), и в оба места, не перебирая (в зависимости от того, где был вопрос).
- Умеет приветствовать новых участников и реагировать на уход.
- Умеет удалять участников из беседы по событиям (это же позволяет не пускать новых навсегда по условиям).
Настройка возможности
- Настройте сообщество: Управление → Сообщения → Настройки для бота →
Возможности ботов «Включены» → Разрешать добавлять сообщество в беседы. После этого нажмите «Сохранить» и вернитесь в сообщество. У вас также ОБЯЗАТЕЛЬНО должны быть включены сами сообщения в сообществе! Или я не знаю как вы создаете ботов не включив сообщения :) - В сообществе найдите в меню сообщества кнопку «Добавить в беседу» и нажмите ее и выберите нужную беседу. Таким образом вы добавите сообщество в беседу как бота.
- В самой беседе настройте права (в списке участников найдите бота и дайте доступ к переписке или права администратора беседы).
Возможные права бота
- Для ответов на вопросы, должен иметь «доступ к переписке».
- Для авто-удаления подписчиков нужны права Администратора.
При этом имейте в виду! Даже бот-администратор
не может удалять других администраторов беседы ВКонтакте!
Также недавнее обновление ВКонтакте позволило даже ботам не имеющим доступа к переписке реагировать на сообщения (команды пользователя) начинающиеся с /
. Например: /старт
, /дальше
, /купить_монет
. Можете поэкспериментировать с этим.
Настройка команд
Примеры настроек смотрите в видео в начале статьи или по ссылкам в первом списке статьи. Но есть важные моменты, которые стоит продублировать:
1) Чтобы бот отвечал не в личку, а в беседу, в действии «Написал сообщение» есть соответствующий переключатель. При переключении с «в ответ» на «в беседу» появляется возможность прописывать номер беседы (её ID для бота). Но тут есть ряд важных особенностей.
- По умолчанию значение:
%peer_id%
. Для большинства случаев лучше всего будет оставить эту переменную и не париться. - Не пытайтесь найти ID в самой беседе! ID привязан к пользователю и разный для разных пользователей / ботов. Чтобы узнать ID, добавьте бота в беседу и запустите сообщением в беседе команду, в которой будет добавлено сообщение с переменной
%peer_id%
. Вы можете отправить его как в беседу, так и в личку, это не важно. - Важно то, что вы получите число > 2 000 000 000. Например,
2000000001
. Именно такие числа Автопилот воспринимает как ID беседы. Если число будет меньше 2 млрд., то сообщение будет уходить «сотруднику»! - Если в секции событий команды только событие «написал сообщение» (без проверки в беседе или нет), и при этом в значении
%peer_id%
, то сообщение будет уходить как в беседу так и в личку (зависит от того куда написали сообщение). - Если в секции только «написал сообщение» (входящее), а в значении число, то даже при входящем в сообщество, ответ будет уходить в беседу! Может быть полезно для отправки ссылки на новый пост сообщества в беседу.
2) Для реакции на сообщения в беседе достаточно использовать обычное входящее (событие «написал сообщение»).
3) Если же нужно реагировать только на ключевик отправленный в беседу, добавьте в секцию события условие «Переменная содержит» с переменной%is_conv%
и значением = 1
.
4) Для работы действия «Исключить участника беседы», бот должен быть администратором беседы из которой исключает. В параметрах этого действия ID обязательно должен быть больше 2 млрд.
5) Для реакции только в нужной беседе можно добавить условие: переменная %peer_id%
равна ID беседы относительно бота. Можно указывать несколько значений через запятую (см. скриншот)

Как узнать ID для бота было показано в видео, а пример команды можете увидеть тут
Переменные для условий и действий
%peer_id%
— содержит ID беседы для бота.%is_conv%
— если беседа = 1. Полезно для условия Переменная содержит.%body_2%
— при использовании события «Добавился в беседу / исключен из беседы» содержит ID исключающего (например администратора, если удалили, или подписчика, если ушел сам).%object_id%
— ID сообщения написанного в беседу. Не знаю зачем ;-)
Беседы и кнопки чат-бота
Да, в беседах тоже можно использовать кнопки! Но механика реагирования на них будет немного другой.
Дело в том, что ВКонтакте при нажатии кнопки в диалоге, отправляет не только текст кнопки, а и «упоминание сообщества» так называемый «псевдоним» (адрес) в виде кликабельной ссылки в начале сообщения.
Например: Если на кнопке написано слово Отменить
, то в беседу уйдет:
@skyjoom Отменить
(упоминание, пробел и надпись на кнопке).
Поэтому если вам не подходят: галочка «Реагировать только на «кнопки» и режим ключевого слова «содержащим» в опциях события «Написал сообщение», то нужно добавить исходный вариант записи упоминания. Для случая выше то, что получит бот, будет выглядеть так: [club137276874|@skyjoom] Отменить
.
Эта штука содержит ID и псевдоним сообщества.
ID можно получить, например из ссылки на диалог с вашим сообществом (это последнее число в адресе):
https://vk.com/im?sel=-137276874
→ 137276874
Псевдоним можно получить из ссылки на ваше сообщество
Это то, что после vk.com/
:
https://vk.com/skyjoom
→ skyjoom
Если у вашего сообщества нет псевдонима (а вместо него что-то типа public137276874), то не гарантирую что сработает. Надо проверить.
Если вдруг не сработает, вы можете проверить в каком именно виде приходит упоминание в настройках Callback API вашего сообщества в ВК. И просто скопировать готовый текст оттуда. Для этого упоминание нужно написать в сообщения сообщества конечно. :) Ну или нажать на кнопку в беседе.

Если у вас остались какие-то вопросы или есть пожелания, или может просто хотите сказать 💙 «спасибо», сделать это можно в этом посте на стене группы. Творческих взлетов и успешного внедрения!
Вернуться на главную страницу инструкций