Як налаштувати WebinarGeek

Щоб отримати токен, перейдіть до налаштувань облікового запису на WebinarGeek. Ви можете знайти його у верхньому правому куті екрана, і після натискання на слово Account відкриється випадаюче меню, де потрібно вибрати перший пункт:

Потім виберіть API в меню зліва

Після цього відкриється сторінка з API

Якщо ви не отримали ключ, зверніться до служби підтримки клієнтів і попросіть його.

Після отримання токена відкрийте Settings -> Project constants і вставте його у змінну webinargeek_token:

Як отримати список вебінарів через чат-бота

Щоб отримати список, достатньо викликати функцію webinargeek_get_webinar_list():

У результаті буде список вебінарів у такому форматі:

['{"id":1455034,"date":"11-05-2022 18:00","name":"Second webinar"}',
'{"id":1455046,"date":"11-05-2022 18:00","name":"My Webinar"}',
'{"id":1453081,"date":"04-05-2022 18:00","name":"My first webinar"}']

де

id - це ідентифікатор трансляції (broadcast_id), значення необхідне для всіх інших дій з цим
дата вебінару - дата та час цієї трансляції
name - назва вебінару

Якщо передати функції будь-який символ (найкраще вставити '1'), то функція покаже лише ті вебінари, які ще не завершилися, а якщо нічого не передавати, то вона також покаже завершені.

Як зареєструватися на вебінар через чат-бота

Для реєстрації потрібна функція webinargeek_get_webinar_list(broadcast_id, name, email), де

broadcast_id - ідентифікатор трансляції, на яку потрібно зареєструвати клієнта
name - ім'я клієнта, яке буде показано в чаті
email - електронна адреса, на яку прийде запрошення на вебінар з посиланням

Без цих параметрів неможливо зареєструвати клієнта через бота.

Приклад:
url = webinargeek_add_subscriber(1455046, 'John Smith', '[email protected]')

У результаті ця змінна міститиме посилання на вебінар, через яке користувачеві не потрібно буде реєструватися. Усі дані користувача встановлені в цій змінній.

Також після виконання функції до картки клієнта буде додано дві змінні:

webinargeek_broadcast_id - ідентифікатор трансляції, на яку зареєстровано користувача
webinargeek_email - електронна адреса, вказана під час реєстрації

Ці змінні стануть у нагоді для перевірки відвідуваності вебінару користувачем.

Як перевірити відвідуваність вебінару через чат-бота

Для перевірки відвідуваності вам знадобиться ця функція webinargeek_is_visitor(webinargeek_broadcast_id, webinargeek_email), де

webinargeek_broadcast_id - ідентифікатор трансляції, на яку зареєстровано користувача
webinargeek_email - електронна адреса, вказана під час реєстрації
watch_minimum - (необов'язковий параметр) мінімальна кількість хвилин, за якою функція визначає, чи зараховується відвідуваність як одна, чи ні

watch = webinargeek_is_visitor(webinargeek_broadcast_id, webinargeek_email)

У змінну буде вставлено відповідь:

  • Якщо вебінар ще не завершився, то у відповідь надходить цей текст: "Webinar not ended yet";
  • Якщо клієнт не дивився вебінар, то у відповідь надходить: "False";
  • Якщо клієнт дивився вебінар і параметр watch_minimum не використовувався, то у відповідь надходить: "True";
    Якщо параметр watch_minimum використовувався, то функція перевірить кількість часу, який клієнт дивився вебінар, і:
    • Якщо клієнт дивився менше, ніж встановлено мінімум, у відповідь надходить: "False";
    • Якщо кількість часу, який клієнт дивився вебінар, дорівнює або перевищує вказану кількість, то у відповідь надходить: "True".

Як отримати broadcast_id за назвою вебінару, починаючи з вказаної дати та часу

Щоб отримати broadcast_id вказаного вебінару, потрібна функція webinargeek_search_broadcast_id() з такими параметрами:

webinar_list - сюди потрібно передати змінну, яка містить результат функції webinargeek_get_webinar_list()
webinar_name - назва вебінару, broadcast_id якого потрібно знайти
webinar_date - дата трансляції у форматі дд.мм.рррр. Також можна використовувати current_date
webinar_time - час трансляції у форматі гг:хв, де гг = години, хв = хвилини

Приклад:
webinar_list = webinargeek_get_webinar_list()
broadcast_id = webinargeek_search_broadcast_id(webinar_list, 'Second webinar', current_date-4, '18:00'

Тут ми намагаємося знайти ідентифікатор трансляції, яка відбувалася за 4 дні до поточної дати о 18:00 і називалася "Second webinar".

Якщо вебінар, що відповідає параметрам, був у списку, то функція повертає ідентифікатор знайденого вебінару в змінну broadcast_id.

Якщо такого вебінару не знайдено, то замість цього вставляється текст: "No webinar with these parameters".