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

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

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

game_add_comment(text=None) - добавляет баллы за комментарий в Instagram или FB; также можно передать любой текст.

game_add_stories() - добавляет баллы за реакции в сторис

game_add_message() - добавляет баллы за сообщения в Direct

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) - вызов функции без аргументов возвращает отсортированный рейтинг в виде массива пользователей. Принимает следующие 5 параметров: count - сколько пользователей вернуть; shift - начальная позиция рейтинга для выборки (0 означает, что список начинается с лидера и идет по убыванию баллов; например, 3 означает, что выборка начинается с 4-го места и ниже); humanize 0 - возвращает массив словарей пользователей, 1 возвращает форматированный список для отображения пользователю; delimiter - разделитель между именем пользователя и его баллами (используется, если humanize=1); platform 1 - выводит логин Instagram (например, @nik) вместо имени пользователя.

Пример 1: game_get_top(10, 0, 1, ' - ') вернет: John - 40 Anna - 30 George - 10

Пример 2: game_get_top(3, 0, 1, ' - ', 1) вернет: @john - 40 @anna - 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

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

В глобальных переменных необходимо создать словарь с именем tg_thanks_score_data для хранения информации о клиентах в следующем формате:

{"total_thanks":20,"326659632":{"name":"John","user_name":"john","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}