Bots Home
|
Create an App
hrturujrths
Author:
gr3ktnnvv5mc
Description
Source Code
Launch Bot
Current Users
Created by:
Gr3ktnnvv5mc
var wordsPrivate = []; var allowReplace = false; var wordReplace = []; var bUsr = []; cb['settings_choices'] = [{ name: 'privateWords', type: 'str', minLength: 0, maxLength: 4000, label: 'Private Word List (No Spaces & Comma Separated)', defaultValue: 'whore,bitch,slut,cunt,' }, { name: 'allow_replace', type: 'choice', choice1: 'Replace', choice2: 'Block', defaultValue: 'Block', label: 'Replace words or Block user' }, { name: 'replaceWord', type: 'str', minLength: 0, maxLength: 200, label: 'Replacement Words (No Spaces & Comma Separated)', defaultValue: 'where\ is\ my\ horse' }, { name: 'backgroundColor', type: 'str', minLength: 0, maxLength: 7, label: 'Message Background Color', defaultValue: '#FFFFFF' }, { name: 'fontColor', type: 'str', minLength: 0, maxLength: 7, label: 'Message Font Color', defaultValue: '#000000' }]; cb['onMessage'](function(msg) { var user = msg['user']; var msgString = msg['m']; msgString = msgString.toLowerCase(); var isHost = (cb.room_slug == user); var isMod = msg['is_mod']; var isFan = msg['in_fanclub']; var isViewer = (!isHost && !isMod && !isFan); var isGrey = (!msg['has_tokens']); if (isHost) { if (msgString === '!help' || (msgString === '!h')) { var notices = '***** Commands *****\n** !add <word> - Add a word to the list.\n** !list - Show broadcaster the list.\n** !allow - Switch between Block user & Replace word.'; cb['sendNotice'](notices, cb['room_slug']); msg['X-Spam'] = true }; if (msgString === '!list') { ShowWords(wordsPrivate, cb['room_slug']); msg['X-Spam'] = true }; if (msgString['substring'](0, 5) == '!add ') { wordsPrivate['push'](msgString['substring'](5)); ShowWords(wordsPrivate, cb['room_slug']); msg['X-Spam'] = true }; if (msgString === '!allow') { allowReplace = !allowReplace; cb['sendNotice']('Replace words or Block user: ' + (allowReplace ? 'Replace' : 'Block'), user, cb['settings']['backgroundColor'], cb['settings']['fontColor'], 'bold'); msg['X-Spam'] = true }; return msg }; if (isViewer) { var re = new RegExp(/\b(dads*)(dy)*\'*s*\b/ig) if (re.test(msgString)) { msg['X-Spam'] = true }; if (CheckBannedWords(msgString)) { if (!allowReplace) { msg['X-Spam'] = true } else { msg['m'] = ReplaceBannedWords(msgString); } }; return msg }; if (isGrey && !isHost) { var re = new RegExp(/(slut|bitch|cunt|whore|cock|suck|cum|\b(dads*)(dy)*\'*s*\b|(show\s*|boobs|ass|pussy))/ig) if (re.test(msgString)) { msg['X-Spam'] = true }; if (CheckBannedWords(msgString)) { if (!allowReplace) { msg['X-Spam'] = true } else { msg['m'] = ReplaceBannedWords(msgString); } }; return msg }; }); function CheckBannedWords(inputString) { var remainAlpha = []; var alphaString = inputString['replace'](/[^a-zA-Z ]/gi, ''); var alphaSplit = alphaString['split'](' '); remainAlpha = reduce(alphaSplit, wordsPrivate); if (remainAlpha['length'] > 0) { return true }; return false } function reduce(inputString, inputList) { inputList = new RegExp(inputList['join']('|\\b')['toLowerCase']()); for (var remainingWords = [], i = inputString['length']; i--;) { inputList['test'](inputString[i]['toLowerCase']()) && remainingWords['unshift'](inputString[i]['toLowerCase']()) }; return remainingWords } function ReplaceBannedWords(inputString) { var replaceString = ''; var replaceChars = 0; var outputString = inputString; for (var i = 0; i < wordsPrivate['length']; i++) { replaceChars = Math['floor']((Math['random']() * wordReplace['length'])); replaceString = wordReplace[replaceChars]; outputString = outputString['replace'](new RegExp('\\b' + wordsPrivate[i] + '\\w*', 'g'), replaceString); } return outputString } function ShowWords(wordList, usr) { var notice = ''; var toUser = ''; notice = readList(wordList); if (usr == null || usr == undefined || usr['length'] == 0) { toUser = '' } else { toUser = usr }; cb['sendNotice'](notice, toUser, cb['settings']['backgroundColor'], cb['settings']['fontColor'], 'bold') } function readList(list) { var temp = ''; for (var i = 0; i < list['length']; i++) { if (temp['length'] > 0) { temp += ',' }; temp += list[i] }; return temp } function LoadSettings() { allowReplace = (cb['settings']['allow_replace'] == 'Replace'); LoadArrays(cb['settings']['privateWords'], wordsPrivate); LoadArrays(cb['settings']['replaceWord'], wordReplace) } function LoadArrays(inputSettings, outputArray) { var temp1; var temp2; var temp3; temp1 = inputSettings; temp2 = temp1 ? temp1['split'](',') : ''; for (var i = 0; i <= temp2['length']; ++i) { temp3 = ''; if (temp2[i] != null) { temp3 = temp2[i]['replace'](/ +$/, ''); if (temp3['length'] > 0) { outputArray['push'](temp3) } } } } function init() { cb['sendNotice']('~~ Don\'t Panic ~~\n:panic22'); LoadSettings(); var notice = 'Replace words/Block user: ' + (allowReplace ? 'Replace' : 'Block'); cb['sendNotice'](notice, cb.room_slug, cb['settings']['backgroundColor'], cb['settings']['fontColor'], 'bold') } String['prototype']['trim'] = function() { return this['replace'](/^\s+|\s+$/g, '') }; Array['prototype']['contains'] = function(element) { var i = this['length']; while (i--) { if (this[i] === element) { return true } }; return false }; Array['prototype']['removeItem'] = function(key) { for (i = 0; i < this['length']; i++) { if (this[i] == key) { for (i2 = i; i2 < this['length'] - 1; i2++) { this[i2] = this[i2 + 1] }; this['length'] = this['length'] - 1; return } } }; init()
© Copyright Chaturbate 2011- 2026. All Rights Reserved.