Advertisement
andewK

Бот меняющий мой цвет

Apr 12th, 2021
910
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const tmi = require('tmi.js'); // библиотека для работы с твичём
  2.  
  3. const { prefix, token, botName } = require('./config.json'); // из стороннего файла я получаю токен бота и его имя. Как я могу не палить их если показываю файл. Тебе например
  4.  
  5. channels = ['andrewkraevskii',
  6.     'SloppyWitch',
  7. ] // список каналов на которых запускается бот. Мой тут для того чтобы я мог его всегда протестировать
  8.  
  9. const client = new tmi.Client({
  10.     options: { debug: true },
  11.     connection: {
  12.         secure: true,
  13.         reconnect: true
  14.     },
  15.     identity: {
  16.         username: botName,
  17.         password: token
  18.     },
  19.     channels: channels,
  20. }); // стандартная фигня создающая соединение с твичём.
  21.  
  22.  
  23.  
  24. client.connect(); // запускаю самого бота
  25.  
  26. const colors = ["Blue, Coral", "DodgerBlue", "SpringGreen", "YellowGreen", "Green", "OrangeRed",
  27.     "Red", "GoldenRod", "HotPink", "CadetBlue", "SeaGreen", "Chocolate", "BlueViolet", "Firebrick"]; // все цвета доступные бесплатной версии аккаунта
  28.  
  29. client.on('message', (channel, tags, message, self) => { // эта функция вызывается когда кто угодно пишет сообщение в любом из подключеных каналов
  30.  
  31.     if (self) return; // если сообщение было от бота то оно игнорируется. return завершает функцию
  32.  
  33.     if (tags.username !== "andrewkraevskii") return; // если это написал не я то тоже игнорируем и выходм через return
  34.  
  35.     const item = colors[Math.floor(Math.random() * colors.length)]; // сохраняем в item случайный элемент из colors (тот цвет на который будем менять)
  36.     client.say(channel, `/color ${item}`); // пишем в тот канал из которого пришло сообщение: "/color" и добавляем имя цвета которое в item
  37.  
  38.  
  39.     // это всё :)
  40.  
  41. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement