Пишемо простого бота для Twitch на JS – Ivan Kucher – Medium

бота

Базове налаштування

Для початку встановлюємо та підключаємо модуль tmi.js у нашому раніше створеному файлі app.js

Тепер пишемо налаштування підключення до сервера для tmi.

options і connections містять базові налаштування підключення, давайте детальніше розберемо інше.

  • username - тут ми вказуємо нікнейм нашого бота
  • password - сюди вставляємо OAuth token який можна отримати на сайті twitchapp
  • channels — вказуємо назву каналу, до якого наш бот повинен підключитися.

Підключаємо нашого бота

Культура бота

Для початку давайте зробимо щоб наш бот привітав кожного хто заходить до нас на канал

Тепер наш бот культурний — як наш бот.

Давайте тепер навчимо нашого бота розрізняти хто написав повідомлення - користувач або адмін

Тут ми вказуємо що якщо нікнейм користувача який написав повідомлення дорівнює назві нашого каналу - це ви (адмін). Якщо ні, то звичайний користувач.

Команди користувача

Користувачі будуть команди які повертають посилання на соц.мережі. Тому багато коду не потрібно, тому що відповіді статичні.

Команди адміну

А для адміна ми дамо можливість задавати timeout повідомлень для користувача та чистити чат.

Для початку давайте дізнаємося чи є команда повідомлення адміна.

Тут ми написали функцію, яка отримує повідомлення користувача, перевіряє, чи є в ньому !to або !clear. Якщо знаходимо !to тоді викликатимемо функцію timeout-a яку зараз напишемо. А якщо знайшли !clear - Викликаємо функцію модуля tmi clear

Тут ми розбираємо повідомлення, використовуючи метод split. І розбиваємо наш рядок на окремі рядки.Так як команда повинна виходити 2 змінні - username (нікнейм жертви) і час у секундах на скільки ми ставитимемо їй таймер. Далі ми викликаємо функцію timeout з tmi модуля передаючи йому назви каналу, нікнейм жертви і час. І виводимо повідомлення для нашої жертви, що вона отримала таймер.

Тепер відриваємо консоль та запускаємо нашого бота.

Ось так швидко ми створили найпростіший бот для Twitch. Вихідники можна знайти на Github.