Salebot.pro
Search…
Геймификация в чатах Телеграм (Игра на активность)
Бот предназначен для администрирования групп в Телеграм (аналог Кармабота)

Как настроить шаблон

После установки шаблона в настройках проекта нужно ввести данные:

Константы проекта

no_authority - фразы, отправляемые при попытке использовать простым пользователем команд админа
add_for_thanks_user - сколько баллов начислять за Спасибо
add_for_thanks_admin - сколько баллов начислять за поощрение от админа
tg_owners_id - массив идентификаторов пользователей, которые будут иметь право добавлять админов
tg_stickers - массив идентификаторов стикеров, отправляемые при начислении баллов
tg_sticker_ban - массив идентификаторов стикеров, отправляемые при бане или штрафе

Общие переменные

tg_group_id - идентификатор группы, в которой работает бот
tg_admins - массив идентификаторов пользователей, которые будут иметь право использовать команды админа
tg_group_name - имя группы, которое заканчивается на bot
После первого начисления баллов, создается переменная tg_thanks_score_data, в которой сохраняются все пользователи и их баллы.
Пример: {"total_thanks":20,"326659632":{"name":"Constantin","user_name":"сonstantin","score":5},"403051597":{"name":"Timm","user_name":"dbeing","score":15,"banned":false}}
total_thanks - всего баллов у всех пользователей
Все тексты в поле Текст сообщения и фразы в поле Условие можно редактировать, под свои нужды.
Кроме блоков Назад и Вперед, в них поле Условие редактировать нельзя

Команды админов

Все тексты и фразы, на которые реагировать можно менять в соответствующих блоках.
Для использования команды, нужно процитировать сообщение пользователя с указанным ключевым словом.
админ - команда суперадмина из переменной tg_owners_id, добавит цитируемого пользователя в массив админов tg_admins
бан - забанит пользователя и удалит из чата (дополнительно отправляется случайный стикер из переменной tg_sticker_ban в настройках проекта, можно удалить отправку в поле Калькулятор)
разбанить - разбанит пользователя, но в чат он автоматически не вернется
штраф - запрещает пользователю писать сообщения и другие действия, до истечения срока в минутах, по умолчанию 1440 - 24 часа
(дополнительно отправляется случайный стикер из переменной tg_sticker_ban в настройках проекта, можно удалить отправку в поле Калькулятор)
Как отправить стикер и где его добыть можно узнать ТУТ
минус 12 - отнимет указанное количество баллов, 12 - пример, у цитируемого пользователя
обнулить - сбросит на 0 баллы цитируемого пользователя
удалить - удалит цитируемое и своё сообщение

Реакции на фразы от пользователей

Рассмотрим блоки, которые отвечают за реакции на сообщения пользователей.
Блогодарочка - блок с фразами и сообщением, за которые начисляется количество баллов из переменной add_for_thanks_user цитируемому пользователя, по умолчанию за Спасибо
Без цитирования - если фразы из блока Благодарочка отправили без цитирования пользователя
без прав - случайная фраза из переменной no_authority при попытке не админом, использовать команду админа
Сам себя - фраза при попытке процитировать свое сообщение и начислить баллы самому себе
Удаление по ключевику - удаляет сообщение, если в нем есть фраза (например, можно использовать для удаление нецензурных слов)

Реакция на сообщения в личку бота

Данные пользователя - выводит место и количество баллов пользователя
Зеленый блок с приветственным сообщением на команду /start
Рейтинг в боте - выводит сообщение с инлайн клавиатурой стрелками, для навигации по списку пользователей в рейтинге
Назад и Вперед - блоки отлавливают нажатие по кнопкам из сообщения со списком рейтинга, их фразы - Условия менять нельзя

Дополнительная функция

Функция tg_get_top(count=99999999, shift=0, humanize=False, delimiter=None)
На вход принимает следующие 4 параметра:
count - сколько пользователей вернуть,
shift - с какого места рейтинга сделать выборку (0 - список начинается с лидера и так по нисходящей по очкам, т.е. 3 - выборка будет с 4-го места в рейтинге и ниже),
humanize - 0 - вернет массив со словарями пользователей, 1 вернет список для вывода пользователю,
delimiter - это разделитель между именем пользователя и его результатом (если предыдущий параметр humanize=1).