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