Bots Home
|
Create an App
Enter the Matrix
Author:
rubzombie
Description
Source Code
Launch Bot
Current Users
Created by:
Rubzombie
// startof CBSv2 module - not for re-compilation (function(a,k){function g(a){this.message=a}g.prototype=Error();g.prototype.name="InvalidCharacterError";a.btoa||(a.btoa=function(a){a=String(a);for(var f,b,n=0,c=k,q="";a.charAt(n|0)||(c="=",n%1);q+=c.charAt(63&f>>8-n%1*8)){b=a.charCodeAt(n+=.75);if(255<b)throw new g('"btoa" failed: The string to be encoded contains characters outside of the Latin1 range.');f=f<<8|b}return q});a.atob||(a.atob=function(a){a=String(a).replace(/=+$/,"");if(1==a.length%4)throw new g('"atob" failed: The string to be decoded is not correctly encoded.'); for(var f=0,b,n,c=0,q="";n=a.charAt(c++);~n&&(b=f%4?64*b+n:n,f++%4)?q+=String.fromCharCode(255&b>>(-2*f&6)):0)n=k.indexOf(n);return q})})("undefined"===typeof exports?this:exports,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="); (function(a){var k=cb.onMessage,g=null,u=null,f,b="#"+(cb.settings.hasOwnProperty("slot")?cb.settings.slot:"")+"CBSv2",n=/^\/#[0-3]CBSv2\//;cb.log("CBS::v2::CB app/bot data Save/restore::20170923.009::Release");cb.onMessage=function(c){if("function"!==typeof c)throw new TypeError(c+" is not a function");k(function(k){var d=k.m.replace(/\s*/g,"").split("/");if(3<d.length&&""===d[0]&&d[1]===b){if(g&&u&&k.user===cb.room_slug){var p=d[2];if(4===d.length)d[3]="?",k.m=d.join("/");else if(6===d.length){if(!(f|| {}).hasOwnProperty(p)){var q=g();f={};f[p]=a.btoa(a.unescape(a.encodeURIComponent(q)));q||cb.log("onSave returned no data.")}f.hasOwnProperty(p)&&(q=parseInt(d[3],10),p=f[p].slice(q,q+512),d[4]=p,d[5]=p.length,k.m=d.join("/"))}else 7===d.length&&("0"===d[3]&&(f={},f[p]=""),f.hasOwnProperty(p)&&(d[3]=f[p].length,d[6]=d[4].length,k.m=d.join("/"),d[4]?f[p]+=d[4]:(q=a.decodeURIComponent(a.escape(a.atob(f[p]))),u(q),cb.chatNotice("Previously Saved Data Restored.",cb.room_slug))))}k["X-Spam"]=!0}else n.test(k.m)&& (k["X-Spam"]=!0);return c(k)});return c};cb.onRestore=function(a){if("function"!==typeof a)throw new TypeError(a+" is not a function");return u=a};cb.onSave=function(a){if("function"!==typeof a)throw new TypeError(a+" is not a function");return g=a};cb.onMessage(function(a){return a})})("undefined"===typeof exports?this:exports); // endof CBSv2 module - not for re-compilation function q(b,h,e,f){var c,a=arguments.length-4;if(1<a&&-1<Array.prototype.slice.call(arguments).indexOf(f,4))for(c=0;c<a;c++)this["choice"+(c+1)]=arguments[c+4];else for(a++,c=0;c<a;c++)this["choice"+(c+1)]=arguments[c+3];this.defaultValue=f;this.label=b;this.name=h;null===e||e||(this.required=!!e);this.type="choice"} var r=function(b){var h=this,e="No Grey Freeloaders",f=!1,c={f:!1,slot:b.settings.hasOwnProperty("slot")?"#"+b.settings.slot:null,c:function(){return"#0"===c.slot?"app":"bot"},b:function d(k){if(k&&"string"===typeof k){d.hasOwnProperty("log")||(d.log=[]);var a=/(..)(:..)(:..)/.exec(new Date),c=a[1]%12||12;d.log.push((10>c?"0"+c:c)+a[2]+a[3]+" "+(12>a[1]?"A":"P")+"M : "+k);25<d.log.length&&d.log.shift();k=("ngf: "+k).replace(/\+/g,"\uff0b").replace(/&/g,encodeURIComponent("&"))}d.hasOwnProperty("log")|| b.log(k.replace(/(\r\n|\n|\r|\\n)/gm," ").trim())},chatNotice:function(d){var a=Array.prototype.slice.call(arguments),c,f=0,l;if(Array.isArray&&Array.isArray(d)||d instanceof Array)d=d.join("\n"+e);d&&"string"===typeof d&&("Enable"===b.settings.multi_line_safe&&(c=d.split(/ *\n */),f=c.length,d=c[0]),a[0]=(e+d.replace(/\+/g,"\uff0b")).replace(/&/g,encodeURIComponent("&")));b.chatNotice.apply(b,a);for(l=1;l<f;l++)a[0]=c[l].replace(/\+/g,"\uff0b").replace(/&/g,encodeURIComponent("&")),b.chatNotice.apply(b, a)},a:function(b,a){var d=Array.prototype.slice.call(arguments);if(Array.isArray&&Array.isArray(b)||b instanceof Array)b=b.join("\n"+e+"");a&&"string"===typeof a&&a.length&&(d[0]=""+b,void 0!==d[2]&&void 0===d[3]&&(d[3]=d[2],d[2]="#a2a9ad"),c.chatNotice.apply(h,d))},h:function(a,c){b.setTimeout(a,1E3>c?1E3:c)},i:function(a){var d=b.settings[a]||"",e=/[\u0081-\u00ff]{1,}\u0080[\u0081-\u00ff]{1,}/g;null!==d.match(e)&&(c.a(["Message from the author:\n"+(c.f?"":"\u00a0\u00a0Thanks for using my "+c.c()+ " :)\n")+"\u00a0\u00a0It "+(f?"also ":"")+'looks like you used a special character in your "'+a.replace(/_/g," ")+'" setting\n\u00a0\u00a0that the '+c.c()+" system may have corrupted :(\n\u00a0\u00a0Please see the "+c.c()+" Description for more details and help.","End of Message"],b.room_slug,"#fdf2f9"),d=d.replace(e,""),f=c.f=!0);return d},g:function(a){e=(a||e).replace(/\s*:\s*$/,"");e.length&&(e+=": ")}},a=b.onMessage;b.onMessage=function(d){if("function"!==typeof d)throw new TypeError(d+" is not a function"); a(function(a){var e=a.m,f=a.user,k="rubzombie"===f,g=f===b.room_slug,t=RegExp("\\/(ngf|#[0-3])?((?:log))(?:\\s+([^\\/]+))?","ig"),h,n;if(!a["X-Spam"]&&/^\s*\//.test(e))for(;null!==(h=t.exec(e));)if(n=(h[1]||"ngf").toLowerCase(),"ngf"===n||n===c.slot)if(a["X-Cmd"]=!0,a.hasOwnProperty("X-Cmd-NA")&&delete a["X-Cmd-NA"],n=h[2].toLowerCase(),g||k)switch(n){case "log":(g||k)&&c.b.hasOwnProperty("log")&&c.a("Log:\n\u00a0\u00a0"+c.b.log.join("\n\u00a0\u00a0"),f,"#ff99ff")}else a["X-Cmd-NA"]="Sorry, /"+(h[1]|| "")+h[2]+" is a broadcaster-only command.";return d(a)});return d};b.onMessage(function(a){return a});c.g(b.settings.ngf_notice_label);return c}(cb); (function(b){function h(a,b){b&&"string"===typeof b&&b.length?r.a(a,b,"#dc5500","#ffffff","bold"):r.chatNotice(a,"","#d5ebf8","#6900cc","bold")}function e(a){function c(a){a.test(p)&&(l=!0)}function d(a){p=p.replace(a,g.replace)}var e=a.user,p=a.m,m,l,g;Object.keys(f).forEach(function(k){!f.hasOwnProperty(k)||e===b.room_slug||/^nf/i.test(k)&&(a.tipped_recently||a.in_fanclub||a.is_mod)||(g=f[k],m=g.hasOwnProperty("testers")?g.testers:g.filters,l=!1,m.forEach(c),l&&(g.hasOwnProperty("replace")&&(m= g.hasOwnProperty("filters")?g.filters:m,m.forEach(d)),g.hasOwnProperty("responce")&&h(g.responce.replace(/%%USER%%/g,e),e),"Yes"===b.settings.tobc&&g.hasOwnProperty("tobc")&&h(g.tobc.replace(/%%USER%%/g,e),b.room_slug),g.hasOwnProperty("X-Spam")&&g["X-Spam"]&&(a["X-Spam"]=g["X-Spam"]),a.hasOwnProperty("m-raw")||(a["m-raw"]=a.m),a.m=p.toLowerCase()))});return a}var f={nff:{label:"No Freeloader ass, boobs, cum, pussy, open, or show requests",filters:[/(^|\s)a+(s|z)(s|z)+($|\s)/gi,/(^|\s)b+(o|0)+b+(s|z)*($|\s)/gi, /(^|\s)(c|k)+u+m+($|\s)/gi,/(^|\s)s+h+(o|0)+w*($|\s)/gi,/(^|\s)(o|0)+p+e+n+($|\s)/gi,/(^|\s)f+(e|o|0){2,}t+\s*j+(o|0)+b+/gi,/(^|\s)p+u+(s|z)+(e|i|y)*($|\s)/gi,/(^|\s)c+l+(i|1)+t+(oris|0ris|0r1s)?($|\s)/gi,/(^|\s)\(\s*(\.|o|0)\s*y\s*(\.|o|0)\s*\)($|\s)/gi],replace:" (blank) ",responce:"%%USER%%, you must tip me or start Group/Private, if you want to see my pussy, ass, boobs or cum.",tobc:"%%USER%% Request Blocked :)"},nfg:{label:"No Freeloader :emotes",filters:[/:/g],replace:":\u00ad",responce:"%%USER%%, you must tip me or start Group/Private, if you want to use emotes.", testers:[/(?:^|\s):([\w\-][\w\-]+)(?=\s|$)/g],tobc:"%%USER%% Emote Blocked :)"},nfcl:{label:"No Freeloader CAPS LOCK",responce:"%%USER%%, you must tip me or start Group/Private, if you want to use Caps Lock.",testers:[/[A-Z][A-Z]+/g],tobc:"%%USER%% Caps Blocked :)"},nfpm:{label:"No Freeloader PM requests",filters:[/(^|\s)pm($|\s)/g],replace:" (blank) ",responce:"%%USER%%, you must tip me or start Group/Private, if you want to PM.",tobc:"%%USER%% PM Blocked :)"},allc2c:{label:"No Cam2Cam requests, unless in Group/Private (to all)", replace:" (blank) ",responce:"%%USER%%, you must start Group/Private, if you want to Cam2Cam.",testers:[/[ck]+a+m+\s*2+\s*(c|k)+a+m+/gi,/[ck]+a+m+\s*t(o|0)+\s*(c|k)+a+m+/gi,/[ck]+\s*2+\s*[ck]+/gi,/m+y+\s+(c|k)+a+m+/gi,/m+y+\s+r+(o|0)+m+/gi,/m+y+\s+p+r+(o|0)+f+i+[l1]+e*/gi,/[cs]+e+\s+m+[ey]/gi],tobc:"%%USER%% C2C Blocked :)","X-Spam":!0}};"[object Array]"!=={}.toString.call(b.settings_choices)&&(b.settings_choices=[]);Object.keys(f).forEach(function(a){f.hasOwnProperty(a)&&b.settings_choices.push(new q(f[a].label, a,!1,"Yes","No","Yes"))});b.settings_choices.push(new q("(Show Block Notifications)","tobc",!1,"Yes","No","Yes"));var c=b.onMessage;b.onMessage=function(a){if("function"!==typeof a)throw new TypeError(a+" is not a function");c(function(b){return a(e(b))});return a};b.onMessage(function(a){return a});r.b("No Grey Freeloaders: by: rubzombie, version: 2016.10.30_012")})(cb);"[object Array]"!=={}.toString.call(cb.settings_choices)&&(cb.settings_choices=[]); cb.settings_choices.push({"default":"No Grey Freeloaders",label:"Custom Notice Label (leave blank for vanilla notices)",minLength:1,name:"ngf_notice_label",required:!1,type:"str"});cb.onMessage(function(b){b.hasOwnProperty("X-Cmd")&&(b["X-Spam"]=b["X-Spam"]||!0===b["X-Cmd"],delete b["X-Cmd"],b.hasOwnProperty("X-Cmd-NA")&&(r.a(b["X-Cmd-NA"],b.user,"#fdf2f9"),delete b["X-Cmd-NA"]));return b});cb.onSave(function(){return JSON.stringify(cb.settings)}); cb.onRestore(function(b){var h=cb.settings,e=JSON.parse(b),f=["slot"];Object.keys(e).forEach(function(b){-1===f.indexOf(b)&&(h[b]=e[b])})});
© Copyright Chaturbate 2011- 2026. All Rights Reserved.