// B O T O // --- // black // red // green // yellow // blue // magenta // cyan // white // gray // grey // brightRed // brightGreen // brightYellow // brightBlue // brightMagenta // brightCyan // brightWhite require('dotenv').config(); const tmi = require('tmi.js'); const rp = require('request-promise'); // For RNG const colors = require('colors'); console.log(process.env.API_HOST); const client = new tmi.Client({ options: { debug: true }, connection: { secure: true, reconnect: true }, identity: { username: process.env.TTV_BOT_USERNAME, password: process.env.TTV_BOT_OAUTH }, channels: [ process.env.TTV_CHANNELS ] }); client.connect(); import { rnguser } from "./rng.js"; rnguser(); // SCAN MSG | START client.on('message', (channel, tags, message, self) => { if(self) return; const badges = tags.badges || {}; // Scan Badges const isBroadcaster = badges.broadcaster; // Define Streamer const isMod = badges.moderator; // Define Mod const isModUp = isBroadcaster || isMod; // Permission Merge = Mod+Streamer const isSub = badges.subscriber || badges.founder; // Define Subs const botUserState = client.userstate[channel]; // MOD Status Check const amMod = botUserState !== undefined && botUserState.mod === true; // Define Mod Status if(self || !message.startsWith('!')) return; // Command Parser const args = message.slice(1).split(' '); const command = args.shift().toLowerCase(); // !COMMAND => command // TODO: // Uptime // Viewers // Followage // Followers // CHAT COMMANDS | End // import { cmd_general } from "./cmd/general.js"; // cmd_general(); // import { cmd_subs } from "./cmd/subs.js"; // cmd_suds(); // import { cmd_mods } from "./cmd/mods.js"; // cmd_mods(); }); // SCAN MSG | END // TTV Re-Active // ================================== // TO-DO: Add Follower API // https://api.twitch.tv/kraken/channels/MY_ID/follows?api_version=5&client_id=MY_CLIENT_ID&limit=1 // client.on("action", (channel, userstate, message, self) => { // // Don't listen to my own messages.. // if (self) return; // console.log('LOG: Action '); // }); // import { ttv_alerts } from "./alerts.js"; // ttv_alerts();