Поздравление с 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

Поздравление с 8 марта в Telegram, image #16

Действия:

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

1) Для удаления сообщений записываем ID сообщения отправленного пользователем %object_id% во временную переменную %old_object_id%

ID сообщения которое ввел пользователь
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}
Получаем ID сообщения от бота
Получаем ID сообщения от бота

9) Запускаем таймер одноименным действием с названием удаление поздравлений через определенный промежуток времени. В примере 12 часов.

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

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

Удаляем сообщение
Удаляем сообщение

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

Удаляем сообщение с пожеланием
Удаляем сообщение с пожеланием

Тестируем.

Поздравление получено
Поздравление получено
Через 12 часов сообщения были удалены
Через 12 часов сообщения были удалены
Поздравление получено
Поздравление получено

Все работает. С праздником.

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

Вернуться на главную страницу инструкций
1210 views·25 shares
1210 views