Методы геймификации
Методы геймификации в Инстаграм и ВКонтакте
Для настройки работы функций рекомендуем опираться на шаблон геймификации в чатах Инстаграм
Для работы нижеперечисленных функций требуется объявить общие переменные в Настройках проекта:
comment_score | сколько начислять баллов за комментарии | 10 |
comment_max_actions | максимальное количество комментарий в день | 5 |
min_comment_len | минимальная длина комментария | 25 |
stories_score | сколько начислять баллов за реакции на сториз | 15 |
stories_max_actions | максимальное количество действий в день | 1 |
stories_mention_score | сколько начислять баллов за упоминания в сторис | 5 |
stories_mention_max_actions | максимальное количество действий в день | 2 |
post_mention_score | сколько начислять баллов за упоминания в посте | 10 |
post_mention_max_actions | максимальное количество действий в день | 3 |
end_game_date | дата завершения игры | 30.12.2021 |
game_add_comment(text=None) - добавляет очки за комментарий в инстаграм или вк, также можно передать любой текст
game_add_stories() - добавляет очки за реакции на сториз
game_add_message() - добавляет очки за сообщения в директ
game_add_stories_mention() - добавляет очки за упоминание в истории
game_get_user_score() - возвращает очки пользователя
game_get_user_place() - показывает место пользователя в рейтинге
game_get_leader_score() - возвращает очки лидера в рейтинге
game_get_top(count=99999999, shift=0, humanize=False, delimiter=None, platform=None) - вызов без аргументов вернет отсортированный рейтинг с массивом пользователей. На вход принимает следующие 4 параметра: count - сколько пользователей вернуть, shift - с какого места рейтинга сделать выборку (0 - список начнется с лидера и так по нисходящей по очкам, т.е. 3 - выборка будет с 4-го места в рейтинге и ниже), humanize - 0 - вернет массив со словарями пользователей, 1 вернет список для вывода пользователю, delimiter - это разделитель между именем пользователя и его результатом (если предыдущий параметр humanize=1), platform - 1 - вместо имени выводит логин в инстаграм в формате @nik.
Пример 1: game_get_top(10, 0, 1, ' - ') вернет: Вася - 40 Маша - 30 Петя - 10 Пример 2: game_get_top(3, 0, 1, ' - ', 1) вернет: @vasya - 40 @masha - 30 @privet - 10
game_add_score(count=1, client_id=None) - добавляет пользователю очков
game_set_score(score, client_id=None) - задает пользователю количество очков
game_ban_player() - блокирует пользователя
game_unban_player() - разблокирует пользователя
game_user_banned() - возвращает статус блокировки пользователя, заблокирован - True, не заблокирован -False
# позволяет работать с произвольными значениями в турнирной таблице.
game_add_value(val_name, count=1, client_id=None) -
game_set_value(val_name, value, client_id=None)
если не передавать client_id, то функция работает с текущим клиентом
game_minus_user_score(count =10) - отнимает очки у пользователя (count - сколько очков отнять)
game_get_today_user_comment_action() - количество комментариев от пользователя за сегодня
game_get_today_user_message_actions() - количество сообщений от пользователя за сегодня
game_get_today_user_stories_actions() - количество сториз от пользователя за сегодня
game_get_today_user_mention_actions() - количество активностей от пользователя за сегодня
game_get_today_user_post_mention_actions() - количество постов с упоминаниями от пользователя за сегодня
game_get_total_comment_action() - количество комментариев за все время игры
game_get_total_message_actions() - количество сообщений за все время игры
game_get_total_stories_actions() - количество сториз за все время игры
game_get_total_stories_mention_actions() - количество упоминаний в истории за все время игры
game_get_total_post_mention_actions() - количество упоминаний в постах за все время игры
Получение рейтинга в Telegram
Для настройки работы функции рекомендуем опираться на шаблон геймификации в чатах Телеграм
В общих переменных следует завести словарь 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}}
tg_get_top(count=99999999, shift=0, humanize=False, delimiter=None)
Параметры:
count - сколько пользователей вернуть shift - с какого места рейтинга сделать выборку (0 - список начинается с лидера и так по нисходящей по очкам, т.е. 3 - выборка будет с 4-го места в рейтинге и ниже) humanize - 0 - вернет массив со словарями пользователей, 1 вернет список для вывода пользователю delimiter - это разделитель между именем пользователя и его результатом (если предыдущий параметр humanize=1)
tg_get_user_info()
{'score': user_score, 'place': place, 'name': name}
Last updated