diff --git a/node/boto.js b/node/boto.js index d8d36d6..226b5e4 100644 --- a/node/boto.js +++ b/node/boto.js @@ -1,3 +1,18 @@ +// B O T O +// ================================== +// TTV IRC BOT: Sariboto +// ================================== +// !COMMANDS +// ================================== +// TODO: +// ================================== +// + Add Cooldowns +// + Add Mod vs Streamer vs Viewer vs Sub control +// + Turn BOTO into join userchannel_db & make botoff to rm_userchannel_db +// + Timed +// + B-Day Calc +// + +// + const tmi = require('tmi.js'); require('dotenv').config(); @@ -26,85 +41,22 @@ client.on('message', (channel, tags, message, self) => { const isModUp = isBroadcaster || isMod; }); -// START of REACTIVE +// !COMMAND START // ================================== -client.on("anongiftpaidupgrade", (channel, username, userstate) => { - client.whisper(username, `BLEEP! BLOOP! Anon-Sub upgraded!!!`); -}); -client.on("ban", (channel, username, reason, userstate) => { - client.say(channel, `/me BYE FELICIA!!!`); - client.say(channel, `!kappagen BOP BOP BOP `); -}); -client.on("cheer", (channel, userstate, message) => { - client.say(channel, `/me BLEEP! BLOOP! O'SNAP! Bit hype!!! sarimoBANG`); - client.say(channel, `!kappagen sarimoHYPE sarimoBITS`); -}); -client.on("clearchat", (channel) => { - client.say(channel, `Chat Rule Reminder`); - client.say(channel, `/me 1. Do NOT feed the Trolls!`); - client.say(channel, `/me 2. Do NOT be a Troll!`); - client.say(channel, `/me 3. #NSFQ in cord.sarimoko.com ONLY!`); - client.say(channel, `/me 4. Do NOT be another brick in the wall!`); -}); -client.on("giftpaidupgrade", (channel, username, sender, userstate) => { - // Huh? Tier 1 => Tier2 -}); -client.on("hosting", (channel, target, viewers) => { - client.say(channel, `/me BLEEP! BLOOP! @Sarimoko got hosted! Do something entertaining!`); -}); -// ***ANNOYING*** User IRC Connect/Disconnect -client.on("join", (channel, username, self) => { - // client.say(channel, `/me +1 Chatter! Viewer or Bot...? Time will tell!`); -}); -client.on("part", (channel, username, self) => { - // client.say(channel, `/me -1 Chatter! Where's my bounty hunters? Essemble the *air-qoutes* search-party *air-qoutes*`); -}); -client.on("raided", (channel, username, viewers) => { - client.say(channel, `/me Welcome raiders!!! We may take your viewership, but we'll never take your FREEDOM!!!`); - client.say(channel, `!kappagen sarimoRAID sarimoFREEDOM sarimoRAID sarimoFREEDOM sarimoRAID sarimoFREEDOM`); -}); -client.on("subgift", (channel, username, streakMonths, recipient, methods, userstate) => { - let senderCount = ~~userstate["msg-param-sender-count"]; - client.say(channel, `/me Thank you for supporting The Sarimoko Show with Gift-Subs!`); -}); -client.on("submysterygift", (channel, username, numbOfSubs, methods, userstate) => { - let senderCount = ~~userstate["msg-param-sender-count"]; - client.say(channel, `/me BLEEP! BLOOP! Am I getting hacked? Anon just Gift-Subbed! If I get erased... I love you all!`); -}); -client.on("resub", function (channel, username, months, message, userstate, methods) { - client.say(channel, `/me BLEEP! BLOOP! Thanks for the Re-Sub! We're just 2 lost souls, swimming in a fish bowl, sub after sub...`); -}); -client.on("subscription", function (channel, username, method, message, userstate) { - client.say(channel, `/me BLEEP! BLOOP! New subscriber! Spam your new emotes!!! Let's see you're fav!`); - client.say(channel, `!kappagen sarimoKO sarimoNERD`); -}); -client.on("whisper", (from, userstate, message, self) => { - if (self) return; - client.say(channel, `/me Bleep! Bloop! Sariboto's Inbox (+1): SEXT Message Recieved!`); -}); -// END of REACTIVE -// ================================== - -// !COMMANDS -// ================================== -// TODO: -// ================================== -// + Add Cooldowns -// + Add Mod vs Streamer vs Viewer vs Sub control -// + Turn BOTO into join userchannel_db & make botoff to rm_userchannel_db -// + Timed -// + B-Day Calc -// + -// + - client.on('message', (channel, tags, message, self) => { if(self || !message.startsWith('!')) return; - + // !COMMAND => command + // ---------------------------------- const args = message.slice(1).split(' '); const command = args.shift().toLowerCase(); + // Checks if bot has mod permissions in channel + // ---------------------------------- const botUserState = client.userstate[channel]; const amMod = botUserState !== undefined && botUserState.mod === true; + if(isModUp) { + // + } // M O D S Q U A D // ---------------------------------- //let isMod = user.mod || user['user-type'] === 'mod'; @@ -415,3 +367,62 @@ client.on('message', (channel, tags, message, self) => { client.say(channel, `/me Bleep! Bloop! Error! Sorry, @${tags.username} hopefully SE/SL/Nitebot has ya covered...`); } }); +// !COMMAND END +// ================================== + +// TTV Re-Active +// ================================== +client.on("anongiftpaidupgrade", (channel, username, userstate) => { + client.whisper(username, `BLEEP! BLOOP! Anon-Sub upgraded!!!`); +}); +client.on("ban", (channel, username, reason, userstate) => { + client.say(channel, `/me BYE FELICIA!!!`); + client.say(channel, `!kappagen BOP BOP BOP `); +}); +client.on("cheer", (channel, userstate, message) => { + client.say(channel, `/me BLEEP! BLOOP! O'SNAP! Bit hype!!! sarimoBANG`); + client.say(channel, `!kappagen sarimoHYPE sarimoBITS`); +}); +client.on("clearchat", (channel) => { + client.say(channel, `Chat Rule Reminder`); + client.say(channel, `/me 1. Do NOT feed the Trolls!`); + client.say(channel, `/me 2. Do NOT be a Troll!`); + client.say(channel, `/me 3. #NSFQ in cord.sarimoko.com ONLY!`); + client.say(channel, `/me 4. Do NOT be another brick in the wall!`); +}); +client.on("giftpaidupgrade", (channel, username, sender, userstate) => { + // Huh? Tier 1 => Tier2 +}); +client.on("hosting", (channel, target, viewers) => { + client.say(channel, `/me BLEEP! BLOOP! @Sarimoko got hosted! Do something entertaining!`); +}); +// ***ANNOYING*** User IRC Connect/Disconnect +client.on("join", (channel, username, self) => { + // client.say(channel, `/me +1 Chatter! Viewer or Bot...? Time will tell!`); +}); +client.on("part", (channel, username, self) => { + // client.say(channel, `/me -1 Chatter! Where's my bounty hunters? Essemble the *air-qoutes* search-party *air-qoutes*`); +}); +client.on("raided", (channel, username, viewers) => { + client.say(channel, `/me Welcome raiders!!! We may take your viewership, but we'll never take your FREEDOM!!!`); + client.say(channel, `!kappagen sarimoRAID sarimoFREEDOM sarimoRAID sarimoFREEDOM sarimoRAID sarimoFREEDOM`); +}); +client.on("subgift", (channel, username, streakMonths, recipient, methods, userstate) => { + let senderCount = ~~userstate["msg-param-sender-count"]; + client.say(channel, `/me Thank you for supporting The Sarimoko Show with Gift-Subs!`); +}); +client.on("submysterygift", (channel, username, numbOfSubs, methods, userstate) => { + let senderCount = ~~userstate["msg-param-sender-count"]; + client.say(channel, `/me BLEEP! BLOOP! Am I getting hacked? Anon just Gift-Subbed! If I get erased... I love you all!`); +}); +client.on("resub", function (channel, username, months, message, userstate, methods) { + client.say(channel, `/me BLEEP! BLOOP! Thanks for the Re-Sub! We're just 2 lost souls, swimming in a fish bowl, sub after sub...`); +}); +client.on("subscription", function (channel, username, method, message, userstate) { + client.say(channel, `/me BLEEP! BLOOP! New subscriber! Spam your new emotes!!! Let's see you're fav!`); + client.say(channel, `!kappagen sarimoKO sarimoNERD`); +}); +client.on("whisper", (from, userstate, message, self) => { + if (self) return; + client.say(channel, `/me Bleep! Bloop! Sariboto's Inbox (+1): SEXT Message Recieved!`); +}); \ No newline at end of file