Как настроить 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".