Карма-бот в Telegram
Для работы действия нужно настроить интеграцию с telegram
Важно! Как и в случае с другими соцсетями, бот вам не ответит, если вы не давали ему разрешение писать. Для разрешения достаточно написать боту любое сообщение или нажать в диалоге с ботом на кнопку: start
Вы все видели, как можно реализовать раздачу шоколадок, бонусов за полезные ответы в ваших беседах, дабы мотивировать помогать друг другу. Сегодня мы научимся создавать подобного бота в Telegram.
Допустим, у вас чат автоматизации и за помощь другим вы раздаете шоколадки (можно заменить на другую игровую валюту).
Важно! Если вы не запретите добавлять бота в группы, то любые пользователи смогут его найти и добавить его себе, а платить за Автопилот будете вы. Как отключить добавление в группу смотрите в конце статьи.
Команда «Бонус за спасибо»
В примере команды мы будем выдавать бонус-шоколадку за «спасибо»
1) Событие «Написал сообщение в Telegram» с текстом под регулярку: спс|пасиб|благодар|обнять|обнимаю|жму руку|шоколад|мерси|секнс|
Пояснение: команда сработает, если пользователь ввел один из ключевиков в ответ на сообщение, но упоминания вида: спасибо @son_of_sky, работать не будут.

2) Добавляем условие: числовая переменная %mention%
больше 0
и числовая переменная %chat_id%
меньше 0
Пояснение: ID игрока в Telegram будет всегда больше 0
, а ID чата всегда будет меньше 0

3) Для того, чтобы не позволять выдавать шоколадку себе, необходимо условие: числовая переменная %mention%
не равна %orig_subs_id%
и в реакции на невыполнение пишем текст:
%first_name%, ах ты шалунишка!
Тебе надо плёткой по попке, а не шоколадку.
Снимай штаны!

Пояснение: мы проверяем ID игрока в Telegram чтобы было неравно ID игрока, который запустил команду, иначе ругаем пользователя.
Действия:
1) Для того, чтобы выдать шоколадку упоминаемому игроку и все последующие действия выполнялись для «упоминаемого» пользователя добавляем действие: «Сменить исполнителя» с переключателем на игрока в Telegram и с ID равной %mention%
. Мы же помним, что в %mention%
содержится ID «упоминаемого» игрока?

2) Для того, чтобы хранить количество шоколадок с помощью действия «Изменить поле профиля игрока» с переключателем увеличить как число на
записываем в поле dark_choco
увеличение количества шоколадок на 1

3) В действии «Отправить сообщение в Telegram» отправляем текстом с форматированием Markdown со значением:
Кто тут у нас такой сладенький?
А, это [%first_name%](tg://user?id=%player.tg_id%). Дарю тебе 1 шоколадку.
У тебя сейчас шоколадок: %player.dark_choco%

4) Не забываем для корректности, как рекомендует Олександр, сменить исполнителя обратно на того, кто запустил команду %orig_subs_id%
:

Тестируем.


Запрет добавления бота в каналы / группы
Аналогично вы можете запретить добавлять бота в группы / каналы, поскольку в таком случае за расход миль платить будете Вы, т.к. карма-бот подключен к вашему аккаунту Автопилота.
Для того чтобы запретить добавление бота в беседу делаем следующее:
1) Открываем BotFather по ссылке https://t.me/BotFather
2) Пишем команду /mybots
и получаем список ботов

3) Находим нашего бота, в примере это @andreyGbot_bot и выбираем его в списке.
4) Открываем настройки выбрав Bot Settings

5) Здесь выбираем Allow Groups

6) Вы увидите примерно такой текст, который гласит, что бота можно добавлять в группы:
Groups are currently enabled for bot andreyGBot @andreyGBot_bot
Disabling groups will forbid users to add andreyGBot to groups.
Нам это не нужно, поэтому кликаем на кнопку Turn Groups Off
и выключаем эту возможность. Для включения делаем все аналогичное.

Пробуем добавить бота.

Все отлично работает.
Автор настройки Никита Кузнецов
Творческих взлётов и успешного внедрения.
Вернуться к списку инструкций