Сразу обозначу, что пост для новичков и тех, кто ещё не может бегло читать документацию по API, а то набегут печенеги крякая про бесполезность поста.
Создание приложения Twitch
Переходим в консоль разработчика и создаём Application. Тут стоит отметить, что Twitch подогнал русский язык, но корявый. Например нужная вкладка на русском называется «Заявки», поэтому лучше сразу переключиться на английский, сделать это можно на самом Twitch, а не в консоли.
Тут всё просто:
Name — даём произвольное имя нашему приложению.
OAuth Redirect URLs — как я понял на случай, если вы хотите редиректить авторизации с вашем токеном на ваш сервер. Мне это не нужно, поэтому пишу http://localhost.
Category — выбираем категорию нашего приложения. У меня это чат-бот.
Получение токена
Создав приложение нажимаем Manage рядом с названием.
Тут у нас есть:
Client ID — это ID вашего приложения, он неизменный.
Client Secret — это ключ для авторизации в TwitchAPI, его необходимо записать, так как просмотреть полученный ключ невозможно. Однако генерировать их можно вроде бесконечно.
Копируем эти данные и идём в нашу среду разработки. У меня Telegram-бот, которого я создал по ТЗ дтфэра, он позволяет собрать всех стримеров, которых ты отслеживаешь в одном месте и получать умные уведомления, которые в реальном времени отображают длительность стрима, название, категорию. Уведомления также можно подключить для Telegram-каналов.
В первую очередь создаём переменные, которые будут хранить в себе наши ключи.
Далее создаём функцию get_twitch_token,в которой как вы поняли из названия мы будем получать токен для авторизации в TwitchAPI:
Данная функция универсальная и подойдёт не только для ботов. Можете просто копировать её и подставлять свои ключи.
Например, у нас есть задача проверить существует ли стример. В моём боте она лежит в основе, так как пользователь может указать юзернейм или ссылку с ошибкой, в итоге в базу данных попадёт несуществующий юзернейм и бот будет постоянно сталкиваться с ошибкой 200.
Вот так выглядит такая функция:
Если запрос возвращает код 200, то такого стримера не существует.
Результат:
О том какие данные о стриме можете получить таким запросом.
• Название стрима.
• Категория стрима.
• Превью. То же, что отображается на самом Твиче.
• Время начала стрима. Тут интересный момент, насколько я понял, Твич не ведет данные сколько стрим идёт, таймер на самом Твиче подсчитывает основываясь на времени начала стрима и текущем времени. Мой бот делает так же.
• Количество зрителей.
Это что касается информации о стриме, также есть запросы, которые позволяют получить инфу о канале.
Для наглядности:
На этом всё. Я планирую сделать серию постов про разработку Telegram-ботов. Поэтому буду рад фидбеку. Также, если юзаете Твич, рекомендую ознакомиться с ботом: