- Как настроить WebinarGeek
- Как получить список вебинаров через чат-бота
- Как зарегистрироваться на вебинар через чат-бота
- Как проверить посещаемость вебинара через чат-бота
- Как получить broadcast_id по названию вебинара, начиная с указанной даты и времени
Как настроить WebinarGeek
Чтобы получить токен, перейдите в настройки аккаунта на WebinarGeek. Вы можете найти его в правом верхнем углу экрана, и после нажатия на слово Account откроется выпадающее меню, где нужно выбрать первый пункт:

Затем выберите API в меню слева

После этого откроется страница с API

Если вы не получили ключ, то вам необходимо обратиться в службу поддержки и запросить его.
После получения токена откройте Настройки -> Константы проекта и вставьте его в переменную 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 - email, указанный при регистрации
Эти переменные пригодятся для проверки посещаемости вебинара пользователем.
Как проверить посещаемость вебинара через чат-бота
Для проверки посещаемости понадобится функция webinargeek_is_visitor(webinargeek_broadcast_id, webinargeek_email), где
webinargeek_broadcast_id - идентификатор трансляции, на которую был зарегистрирован пользователь
webinargeek_email - 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 - дата трансляции в формате дд.мм.гггг. Также можно использовать curret_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".