Поздравление с 8 марта в Telegram
Сегодня научим бота говорить комплименты. Для настройки по традиции нужна интеграция с Telegram
Важная информация:
Если Вы сделали бота и разрешили его добавлять в беседу всем пользователям, то оплачивать мили придется вам. Если Вы не хотите, чтобы ботом пользовались, просто выключаете возможность добавления в беседу.
Например: если сделан Кощей в аккаунте Андрея и включено: «добавление в беседу» для всех, то придется платить владельцу аккаунта — Андрею или всегда можно выключить команды после праздника.
Загрузка фотографий
Для загрузки мы сделаем команду, которая записывает идентификатор файла в ресурс.
События:
1) Событие: «Написал сообщение в Telegram» с текстом #файл
Важно! Если вы будете загружать много файлов за раз, то событие оставьте пустым.

Рекомендуем добавить условия:
1) Переменная %player.tg_id%
содержит перечисляем TG ID пользователей, которые могут загружать файлы

2) Переменная %attach_type%
содержит photo
, для реакции только на изображения.

3) Числовая переменная %chat_id%
больше 0
, т.е. файлы загружены в ЛС боту.

Действия:
1) Для записи идентификаторов файлов добавляем действие: «Создать изменить ресурс» с названием 8 марта и для содержимого добавляем строки с идентификатором %tg_file_id%

2) Временной переменной %text%
будем формировать текст при успешной загрузке, т.е. фразу: Загружено

Важно! Действие: «Отправить запрос в Telegram» позволяет отправлять практически любые запросы в Telegram. Подробнее в документации Telegram: https://core.telegram.org/bots/api#sendmessage
3) Действием «Отправить сообщение в Telegram» отправляем текст с разметкой HTML и текстом:
Загружено
<code>%tg_file_id%</code>
Игрок: %player.tg_id%

Рассмотрим переменные подробнее:
%chat_id%
— ID чата / канала в который будет отправлено сообщение.%player.tg_id%
— Telegram ID сотрудника который отправил вложение. Нужно для проверки условий.
<code>%tg_file_id%</code>
— кликабельный код вложения.
Привязка пользователя из ВК
Так как мы не знаем в телеграм пол пользователя, мы можем вести игроков из ВК в телеграм, и тогда мы сможем проверять какого они пола, через переменную %sex%
%sex%
— пол из профиля или ВК (1 — женский; 2 — мужской; 0 — не указан).
Пол из профиля Автопилота имеет высший приоритет. Например, у вас в профиле АП стоит мужской пол, а в анкете ВКонтакте указан женский. Значит, Автопилот будет считать Вас мужчиной. Можете отредактировать пол через раздел «Игроки» или удалить карточку Игрока, тогда все данные будут браться по умолчанию из ВК.
Для привязки делаем событие нужное вам. Например, написать + в сообщениях сообщества (как пример)и ссылку на бота можно ее отправить в действии: «Отправить сообщение».
Событие:
1) «Написал сообщение» с текстом подходящим под регулярку +

2) Добавляем условие: числовая переменная %is_conv%
= 0
, т.е. пользователь пишет в личные сообщения сообщества

Действие:
1) Для отправки ссылки с привязкой TG_ID отправляем сообщение действием: «Отправить сообщение» с текстом:
https://t.me/SkyjoomBot_bot?start={encode}vk_id=%vk_id%{/encode}
где https://t.me/SkyjoomBot_bot — ccылка на вашего бота. Привязка произойдет автоматически, когда пользователь перейдет в бота и нажмет запустить.

Создание ресурса
Для того чтобы пожелания выглядели красивее, мы в ресурсы добавим картинки. Переходим в базу данных вашего сообщества — раздел Ресурсы и создаем там новый ресурс с названием: 8 марта
(важно использовать именно такое название для удобства дальнейшей настройки).
Чтобы при запуске команды достать поле «содержимое» этого ресурса, есть два способа (рекомендую первый):
- Точно скопировать название ресурса (
8 марта
).
В команде написать:{get}8 марта|name|body{/get}
- Точно скопировать номер ресурса (
XXXXX
).
В команде написать:{get}XXXXX{/get}
Пример итогового результата комплиментов с картинками:


Команда: «Поздравление»
Важно! В примере подразумевается, что вы отправляли пользователя в Telegram по ссылке и тогда через переменную %sex% мы можем их отфильтровать. Для примера будет показан пример поздравления только девушек, реакции для парней не предусмотрено.
Событие:
1) Событие: «Написал сообщение в Telegram» с текстом содержащим поздравить,поздравление,поздравь

Далее вам необходимо решить куда вы будете отправлять пожелания: Если в личку пользователю, то добавляйте условие: числовая переменная %chat_id%
больше 0
, т.е. файлы загружены в ЛС боту, если в беседу, то достаточно добавить условие и нажать «Если не». В примере ниже будет два скрина для примера, но вам необходимо выбрать что-то одно.


Для того, чтобы реакция была только на девушек, добавляем условие: числовая переменная %sex%
= 1

Действия:
Важно! Будет показан очень продвинутый вариант с удалением сообщений через время. Напомним, что каждое использование таймера +1 миля к команде, то есть, данная настройка «съест» 2 мили за запуск на пользователя.
1) Для удаления сообщений записываем ID сообщения отправленного пользователем %object_id%
во временную переменную %old_object_id%

2) Временная переменная %array%
=
{get}8 марта|name|body|%event_club_id%|equal{/get}
Мы достаем все картинки из содержимого ресурса, а потом выдадим одно изображение. Здесь мы реагируем на ресурс названием 8 марта только в текущем сообществе, подробности в инструкции.

3) Временная переменная %photo_rand%
=
{array}%array%|1|rand|col{/array}
через функцию {array} мы достаем одно изображение из массива %photo_rand%

4) Временная переменная %array_notes%
=
{get}8 марта|name|note|%event_club_id%|equal{/get}
Мы достаем приятные слова из примечания ресурса, а потом выдадим одно пожелание.

5) Временная переменная %array_notes_rand%
=
{array}%array_notes%|1|rand|col{/array}
через функцию {array} мы достаем одно пожелание из массива %array_notes%

6) Временной переменной %text%
формируем текст с упоминанием игрока
[%first_name%](tg://user?id=%player.tg_id%), %array_notes_rand%

7) Отправляем изображение с текстом действием «Отправить изображение в Telegram» с разметкой Markdown, текстом %text%
и вложением %photo_rand%

8) Во временную переменную %object_id%
достаем из запроса ID сообщения от бота, для того, чтобы мы знали какое сообщение удалять.
{num}%response.result.message_id%{/num}

9) Запускаем таймер одноименным действием с названием удаление поздравлений
через определенный промежуток времени. В примере 12 часов.
Важно! Если пользователь 10 раз запросит поздравление, то у него запишется 10 таймеров, которые будут удалены через указанное время и на каждого пользователя дополнительно спишется 11 миль (запуск + 10 таймеров). Будьте внимательны.

10) Удаляем сообщение с просьбой поздравить одноименным действием, передавая в качестве 2 значения переменную %old_object_id%

11) Удаляем сообщение с картинкой и пожеланиями одноименным действием, передавая параметры по умолчанию.

Тестируем.



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