Методы геймификации
Методы геймификации в Instagram и Facebook
Для настройки операций функций рекомендуем использовать шаблон геймификации для чатов Instagram в качестве примера.
Чтобы использовать перечисленные ниже функции, вам нужно объявить общие переменные в Настройки проекта:
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) - добавляет очки за комментарий в Instagram или FB; также можно передать любой текст.
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) - вызов функции без аргументов возвращает отсортированный рейтинг в виде массива пользователей. Она принимает следующие 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}
Последнее обновление