Методы геймификации в 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}


