Методы геймификации

Методы геймификации в Инстаграм и ВКонтакте

Для настройки работы функций рекомендуем опираться на шаблон геймификации в чатах Инстаграм

Для работы нижеперечисленных функций требуется объявить общие переменные в Настройках проекта:

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