Apps Home
|
Create an App
ToKeNo
Author:
rubzombie
Description
Source Code
Launch App
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 String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});Array.prototype.swap||(Array.prototype.swap=function(l,D){var v;l!==D&&(v=this[D],this[D]=this[l],this[l]=v);return this});Array.prototype.shuffle||(Array.prototype.shuffle=function(l){var D,v,L;l="number"===typeof l?l:10;for(D=0;D<l;D++)for(v=this.length-1;0<v;v--)L=Math.floor((v+1)*Math.random()),this.swap(v,L);return this}); var x=function(){function l(a){return!(""===a||void 0===a||null===a)}function D(a,p,e){return e.indexOf(a)===p}function v(a,p){a=a||0;return a.toString()+" "+(1===a?p:p+"s")}function L(a){return function(a){a=/\w+/.exec(a);var e;if(a)a=a[0];else return"an";var b=a.toLowerCase(),c=["honest","hour","hono"];for(e in c)if(c.hasOwnProperty(e)&&0===b.indexOf(c[e]))return"an";if(1===b.length)return 0<="aedhilmnorsx".indexOf(b)?"an":"a";if(a.match(/(?!FJO|[HLMNS]Y.|RY[EO]|SQU|(F[LR]?|[HL]|MN?|N|RH?|S[CHKLMNPTVW]?|X(YL)?)[AEIOU])[FHLMNRSX][A-Z]/))return"an"; c=[/^e[uw]/,/^onc?e\b/,/^uni([^nmd]|mo)/,/^u[bcfhjkqrst][aeiou]/];for(e in c)if(c.hasOwnProperty(e)&&b.match(c[e]))return"a";return a.match(/^U[NK][AIEO]/)?"a":a===a.toUpperCase()?0<="aedhilmnorsx".indexOf(b[0])?"an":"a":0<="aeiou".indexOf(b[0])||b.match(/^y(b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt)/)?"an":"a"}(a)+" "+a}function f(a){if(a&&"string"===typeof a){f.hasOwnProperty("log")||(f.log=[]);var p=/(..)(:..)(:..)/.exec(new Date),b=p[1]%12||12;f.log.push((10>b?"0"+b:b)+p[2]+p[3]+" "+(12>p[1]?"A":"P")+ "M : "+a);25<f.log.length&&f.log.shift();a=("ToKeNo: "+a).replace(/\+/g,"\uff0b").replace(/&/g,encodeURIComponent("&"))}cb.log(a.replace(/(\r\n|\n|\r|\\n)/gm," ").trim())}function E(a){var b=Array.prototype.slice.call(arguments),e,m=0,c;a&&"string"===typeof a&&("Enable"===cb.settings.multi_line_safe&&(e=a.split(/ *\n */),m=e.length,a=e[0]),b[0]=("ToKeNo: "+a.replace(/\+/g,"\uff0b")).replace(/&/g,encodeURIComponent("&")));cb.chatNotice.apply(cb,b);for(c=1;c<m;c++)b[0]=e[c].replace(/\+/g,"\uff0b").replace(/&/g, encodeURIComponent("&")),cb.chatNotice.apply(cb,b)}function k(a,b){var e=Array.prototype.slice.call(arguments);b&&"string"===typeof b&&b.length&&(e[0]=""+a,E.apply(ha,e))}function Y(a){var b=/\\u([0-9a-f]{4})/gi,e,m=[];for(a=a||"";null!==(e=b.exec(a));)m.push(e[1]);if(m.length)for(m=m.filter(D),b=0,e=m.length;b<e;b++)a=a.replace(new RegExp("\\\\u"+m[b],"gi"),String.fromCharCode(parseInt(m[b],16)));return a.replace(/\s+/gm," ").trim()}function O(a){var b=cb.settings[a]||"",e=/[\u0081-\u00ff]{1,}\u0080[\u0081-\u00ff]{1,}/g; null!==b.match(e)&&(k(["Message from the author:\n"+(P?"":"\u00a0\u00a0Thanks for using my "+(t?"app":"bot")+" :)\n")+"\u00a0\u00a0It "+(Z?"also ":"")+"looks like you used a special character in your '"+a.replace(/_/g," ")+"' setting\n\u00a0\u00a0that the "+(t?"app":"bot")+" system may have corrupted :(\n\u00a0\u00a0Please see the "+(t?"app":"bot")+" Description for more details and help.","End of Message"].join("\nToKeNo: "),cb.room_slug,"#fdf2f9"),b=b.replace(e,""),Z=P=!0);return b}function U(){k("All "+ (b.b()?"Prize ":"")+"Tickets have been drawn. Re-launch "+(t?"app":"bot")+" to start a new game :)",cb.room_slug,"#f37e7e","#f5f5f5");aa.options=[]}function ba(){var a;a=(a||"").trim();a=a+(a.length?" ":"")+"#tokeno"+(b.a()||b.b()&&b.f()?" /tip to draw "+(b.a()?"a prize winning ticket ["+b.a()+(b.a()<F?" left":"")+" to find]":"the "+b.f()+" prize"):" Game over, man! Game over! Type /prizes to check Prize winners.");ca!==a&&(f("Changing subject to: "+a),t?cb.changeRoomSubject(a):E(a,"","","#dc5500", "bold"),ca=a)}function V(){t&&(Q?"Type /? for tickets left in draw."!==R.row2_value&&(R.row2_value="Type /? for tickets left in draw.",cb.drawPanel()):(R.row2_value=b.a()?v(b.a(),"Prize")+" to find from "+v(b.b(),"Ticket")+"!":b.b()&&b.f()?b.f()+" to win.":"Game over, man! Game over!",cb.drawPanel()))}function ia(a){function p(a){return("___"+(a?a.toString():"")).slice(-k)}var e,m,c,d=[],f,k=2+(1<b.o(1));switch(b.a()){case 0:b.b()&&b.f()?d.push("Last Ticket Bonus Prize available!"):d.push("All Prize Tickets found!"); break;case 1:d.push("/tip to find the last Prize Ticket!");break;case F:d.push("/tip to be the first to find a Prize Ticket!");break;default:d.push("/tip to find one of the remaining "+b.a()+" Prize Tickets!")}d.push("Available Tickets:");for(e=0;8>e;e++){m=0;for(f=[];10>m;m++)c=b.o(10*e+m+1),f.push(p(b.u(c)?0:a&&b.B(c)?c.toString().replace(/[0-9]/g,"*"):c));d.push("\u00a0"+f.join("\u00a0")+"\u00a0")}return d}function W(){if(!t||Q){if(null===X||S&&15<=Math.floor(((new Date).valueOf()-X)/6E4)||15<= S)E("Type /prizes to check Prizes."+(b.b()?" Type /tickets to see remaining Tickets.":""),"","#d5ebf8","#dc5500","bold"),X=new Date,S=0;cb.setTimeout(W,6E4)}}function ja(a){return a+(1<this[a]?" (x"+this[a]+")":"")}function da(a){return y.hasOwnProperty(a)?Object.keys(y[a]).map(ja,y[a]):null}function ka(){return Object.keys(y).map(function(a){return a+": "+da(a).join(", ")},y)}function ea(a){function p(a){C?a():k("Sorry, "+g[1]+(g[2]||"")+g[3]+" is a broadcaster-only command.",h,"#f37e7e","#f5f5f5")} function e(){var a;C||(H=h);H.length?((a=da(H))&&a.unshift(""),k(["'"+H+"' is "+(y.hasOwnProperty(H)?"":"not ")+"a Prize Ticket winner!","'"+H+"' has won the following prizes: "+(a?a.join("\n\u00a0\u00a0\u2605\u00a0\u00a0"):"(none)")].join("\nToKeNo: "),h,"#f2f9fd")):k(g[1]+(g[2]||"")+g[3]+": Sorry, username missing or not recognized.",h,"#f37e7e","#f5f5f5")}function m(){var a=ia(C),b="";T&&a.unshift("version: 2014/12/25.0\nToken Keno made simple. Enter a comma separated prize list, click Start App and go!"); b+="Type:\n";T&&(b+="\u00a0\u00a0/log - to display recent log messages\n");C&&(b+="\u00a0\u00a0/find username - to check if username is a winner\n\u00a0\u00a0/high - to enable high traffic mode\n\u00a0\u00a0/safe - to enable multi-line safe mode\n\u00a0\u00a0/spam - toggle common spam blocking on and off (="+(r?"on":"off")+")\n");b+="\u00a0\u00a0/prizes - for won and available prizes\n\u00a0\u00a0/?\n\u00a0\u00a0/board\n\u00a0\u00a0/help\n\u00a0\u00a0/tickets - to show undrawn tickets and this help message.\nFor more details, see "+ (t?"app":"bot")+" Description.";a.push(b);E(a.join("\nToKeNo: "),h,h.length?"#f2f9fd":"#d5ebf8");f("board sent to '"+h+"' : "+JSON.stringify(a))}function c(){Q=!0;V();W();k("High Traffic Mode enabled.",h,"#f2f9fd")}function d(){var a=[],e=ka();e.length&&(e.unshift(""),a.push("Prize Winners:"+e.join("\n\u00a0\u00a0\u2605\u00a0\u00a0")));e=b.H(C).filter(D);e.length&&(e.unshift(""),a.push("Available Prizes:"+e.join("\n\u00a0\u00a0\u2606\u00a0\u00a0")));k(a.join("\nToKeNo: "),h,"#f2f9fd");f("prize list sent to '"+ h+"'"+(C?"":" : "+JSON.stringify(a)))}function l(){cb.settings.multi_line_safe="Enable";k("Multi-line Safe Mode enabled.",h,"#f2f9fd")}function v(){r=!r;I=!r;k(G+" Spam Blocking "+(r?"enabled. ":"disabled."+(J.length?"\nToKeNo: Recently Blocked Messages:\n\u00a0\u00a0"+J.slice(-3).join("\n\u00a0\u00a0")+"\nToKeNo: ":" "))+"Type "+g[1]+(g[2]||"")+g[3]+" again to "+(r?"disable it.":"block "+(J.length?"similar messages":"common spam")+" from appearing in chat."),cb.room_slug,"#f2f9fd");J.length&&(J= [])}function A(){var b=n.replace(/[\W_]/g,"").toLowerCase(),e=b.replace(/[aeiou]/g,""),c,d,w=!1;c=n;d=h;w=!1;d=d.replace(/_[0-9a-f]+/ig,"");K.hasOwnProperty("echo_user")&&K.hasOwnProperty("echo_text")&&(w=K.echo_text===c&&K.echo_user===d);K.echo_user=d;K.echo_text=c;!0===w&&f("SpamBlockerAd: echo match");c=0;for(d=u.i.length;!w&&c<d&&!(e.length<u.i[c].length);c++)!0===(w=-1!==e.indexOf(u.i[c]))&&f("SpamBlockerAd: simple match ("+c+"): "+u.i[c]);c=0;for(d=u.text.length;!w&&c<d;c++)!0===(w=u.text[c].test(n))&& f("SpamBlockerAd: text match ("+c+"): "+u.text[c].source);c=0;for(d=u.l.length;!w&&c<d;c++)!0===(w=u.l[c].test(b))&&f("SpamBlockerAd: plain match ("+c+"): "+u.l[c].source);c=0;for(d=u.j.length;!w&&c<d;c++)!0===(w=(new RegExp("(?:^|\\s):"+u.j[c]+"(?=\\s|$)","")).test(n))&&f("SpamBlockerAd: blacklist emoticons match ("+c+"): "+u.j[c]);w&&(r?(a["X-Spam"]=!0,J.push(h+": "+n)):(k(["Message from the author:\n"+(P?"":"\u00a0\u00a0Thanks for using my "+(t?"app":"bot")+" :)\n")+"\u00a0\u00a0By the way, user '"+ h+"' has just spammed your chat!\n\u00a0\u00a0You might want to type /spam to enable this "+(t?"app":"bot")+"'s basic spam blocking feature, or launch my spam blocker, No\u00a0Grey\u00a0Spammers, for more protection ;)","End of Message"].join("\nToKeNo: "),cb.room_slug,"#fdf2f9"),I=!1,P=!0))}var K=ea,B=(new Date).valueOf(),n=a.m,h=a.user,T="rubzombie"===h,C=h===cb.room_slug,M=a.is_mod,F=a.hasOwnProperty("is_pm")&&a.is_pm,q=/(\/)(tokeno|tk|#[0-3])?(board|check|find|help|high|list|log|prizes|show|safe|slot|spam|tickets|\?)\s*([a-z0-9_]*)/ig, z=/(\/|!)(tokeno|tk|#[0-3])?(b|c|f|h|l|p|s|t)\s*([a-z0-9_]*)/ig,g,w=!1,G,H;a["X-Spam"]&&f("processing x-spam msg");if(I)if(C||M){if(/\/(sh|sphammer|#[0-3])?(english|enonly|sphammered)/i.test(n)||/\/(sh|sphammer)(help|spam|\?)/i.test(n))r=I=!1,f("SpamBlockerAd: SpHammer detected");/\/(ngs|nogreyspammers)(help|spam|\?)/i.test(n)&&(r=I=!1,f("SpamBlockerAd: No Grey Spammers detected"))}else/<<<( has been SPAM HAMMERED| spHammer hit#)/.test(n)&&"#595959"===a.background&&"#999999"===a.c&&(r=I=!1,f("SpamBlockerAd: SpHammer/No Grey Spammers detected")); if(!a["X-Spam"]&&"/"===n.trim()[0])for(;null!==(g=q.exec(n));)if(w=!0,G=(g[2]||"tk").toLowerCase(),"tokeno"===G||"tk"===G||G===N)switch(a["X-Spam"]=!0,H=(g[4]||"").trim().toLowerCase(),M=g[3].toLowerCase(),M){case "log":(C||T)&&f.hasOwnProperty("log")&&k("Log:\n\u00a0\u00a0"+f.log.join("\n\u00a0\u00a0"),h,"#f37ef3");break;case "check":case "find":e();break;case "high":p(c);break;case "list":case "prizes":d();break;case "safe":p(l);break;case "slot":k("Slot: "+(N||"unknown"),h,"#f2f9fd");break;case "spam":p(v); break;default:m()}if(!a["X-Spam"]&&-1<"/!".indexOf(n.trim()[0]))for(;null!==(g=z.exec(n));)if(w=!0,G=(g[2]||"tk").toLowerCase(),"tokeno"===G||"tk"===G||G===N)switch(a["X-Spam"]=!0,H=(g[4]||"").trim().toLowerCase(),M=g[3].toLowerCase(),M){case "l":(C||T)&&f.hasOwnProperty("log")&&k("Log:\n\u00a0\u00a0"+f.log.join("\n\u00a0\u00a0"),h,"#f37ef3");break;case "c":case "f":e();break;case "h":p(c);break;case "p":d();break;case "s":p(l);break;case "b":case "t":m()}a["X-Spam"]||w||F||S++;C||a["X-Spam"]||F|| !I&&!r||A();f("onMessage: "+((new Date).valueOf()-B)+"ms");return a}var fa=[{label:"Exact Tip"},{label:"Compound Tip, include Banked Tokens"}],ga={s:"Standard;Standard x2;Standard x3;Standard x4;Standard x5;;;;;High Roller x10".split(";"),a:20,J:1,I:80,h:function(a,b,e,f){var c,d=arguments.length-4;if(1<d&&-1<Array.prototype.slice.call(arguments).indexOf(f,4))for(c=0;c<d;c++)this["choice"+(c+1)]=arguments[c+4];else for(d++,c=0;c<d;c++)this["choice"+(c+1)]=arguments[c+3];this.defaultValue=f;this.label= a;this.name=b;null===e||e||(this.required=!!e);this.type="choice"}},u={text:[/[^\u0000-\u0080\u00ad\u2605\u2606\u2654\u2655\u265a\u265b]/],l:[],i:"dlnws mcmcm rtmnt chnskv cht4fr frtkns wgwgwg bst4cms httpggl lv4prty lvtrffn nd4strp prfllsn bnjknntt kkmlvlns nsxyjngs pssy4shw vcmsssns wlchstdt 100kstnls chnnmnwhr cmsssnscm grls4prty prmmchtcm rgclsngsn sndtdrtch tknsgnrtr tmrqrllh1 tpgmscrck bfrtsptchd glsmtrprtl mnhndynmmr schnmnprfl schtglbntr snddrtchlv wwwsxchtsr knntjmlgckn lslsnndmldn stdchlngwlg strmngnkdcm wtchmcmgrls chbnnjngsgls dtschmtrprtl fndfrtknshck hrgldtschkrl pyplrwstrnnn schfdsmwgdch wsnddglnpmml wstrnnnrpypl jckjxshrngnds kstnlsndhnrsk llrdngsnchthr mncmstjtztchn wndmrmnfrrlds dknnmnglbwchsn mprdndstrngtrk n1gnhmpgstfrtg chtwththswsmgrl stdnglchnnmnwhr wnnjrktwthmfrfr fsllnghtpcsndvds dsthtdstwchmmrsnd hbknfnnzllnntrssn nrnchbzckmtdntpps schfcktrffnndcmsx fdrstdnglchnnmnwhr llnfssthnmprflvnmr nynwnnjrktwthmfrfr vrllmsndfstnrdtsch glbdgbtsgrnchtmhrdr snddwskstnlsndglrst wsnddnnnndglndtschn chtrbtknnmndchvrgssn ftzstmgglndbrchtshrt mchvrdrcmllswshrwllt nynhrdrmstfckldrmlfs mchnchtlngwrtnndkmmzmr wrbckhtknnmchdjmlbschn kstnlsdtngprtlndtschlnd ntrssntbrmchfndstdnmnmprfl wnnjschtnmnprflndkntktrtmchdrt hbthrgntlchdhlfschlgschffthrvlldtn thsmnstrlysnfbtchsllngthmtfhsgrlfrnd dspmmrsndnfchzdmmvnjdmmdwrdnsgbnntndnsnstnflltdchknrfsnbldsnngwrbngrn".split(" "), j:"anarchy dance69 endlesspoop exbf extremevomit extremevomit2 extremevomitscat FISTING fuckass1 gape420 gay gay6 gaybj gayfuck2 gayfuck5 gaysuck2 goats3 gross kena kisshug55 kisshug56 kisshug57 powerbottom prolapse56 prolapse57 prolapse58 shit50 shit55 shithead takeit tubgirl3 vbutt wag".split(" ")},ha=this,N=null,t,Z=!1,P=!1,Q,A={},ca="",aa={options:fa,label:"Select Ticket to Draw using:"},R={template:"3_rows_11_21_31",row1_label:"...",row1_value:"ToKeNo",row2_label:"...",row2_value:"Type /? for tickets left in draw.", row3_label:"...",row3_value:"Type /help for help, /prizes for prizes."},F,b,y={},X=null,S=0,r,J=[],I=!0;return{A:function(){var a=(new Date).valueOf();f("version: 2014/12/25.0");cb.settings.hasOwnProperty("slot")&&(N="#"+cb.settings.slot);t="#0"===N;F=cb.settings.prizes;F=Math.min(80,F);Q="Enable"===cb.settings.high_traffic;r="Yes"===cb.settings.block_spam;I=!r;b=function(a,e){function f(a){return(a||"").split(",").map(Y).filter(l)}function c(){return B?B+" last ticket bonus":""}function d(a,b,c, e){b<a.length&&a.shuffle();var d,f,h=a.length,n;for(d=0;d<b&&(d<h||e);d++)if(f=(f=c)||0,null!==(f=f<q.length?q[f+g+Math.floor((q.length-f-g)*Math.random())]:null)){y[f]=a[d<h?d:Math.floor(h*Math.random())];for(n=q.indexOf(f);n>g;n--)q[n]=q[n-1];q[g]=f;g++}}function k(a){return 0<=q.indexOf(a)}for(var v=f(O("high_value_prize_list")),r=f(O("medium_value_prize_list")),u=f(O("low_value_prize_list")),B=cb.settings.hasOwnProperty("bonus_prize")&&Y(O("bonus_prize")),n=ga.s.indexOf(cb.settings.game_type)+ 1||1,h=Math.min(v.length,Math.floor(a/4)),A=Math.min(r.length,Math.floor(a/2)-h),C=e-A-h,t,y={},q=[],z=0,g=0,z=0;z<a;z++)t=(z+1)*n,q.push(t);z=q.length;g=0;d(v,h,Math.floor(3*a/4),!1);d(r,A,Math.floor(a/2),!1);d(u,C,0,!0);return{f:c,w:function(a){var d=q.indexOf(a),e=d<g;for(z--;d<z;d++)q[d]=q[d+1];q[d]=a;return e?(g--,(0===g&&!b.f()||0===z)&&U(),y[a]+(0===z&&B?" and "+c():"")):0===z&&(U(),B)?c():null},u:function(a){return q.indexOf(a)>=z},B:function(a){return k(a)&&q.indexOf(a)<g},C:k,H:function(a){return q.slice(0, g).map(function(b){return this[b]+(!a||-1===v.indexOf(this[b])&&-1===r.indexOf(this[b])?"":" ["+b+"]")},y)},a:function(){return g},K:function(){var a,b=0;for(a=0;a<z;a++)b=b<q[a]?q[a]:b;return b},o:function(a){return a*n},b:function(){return z}}}(80,F);V();ba();x.onMessage({background:"",c:"",is_mod:!1,m:"/help",user:"","X-Spam":!1});W();f("init: "+((new Date).valueOf()-a)+"ms")},D:l,onMessage:ea,F:function(a){function p(){return(b.a()?" Good luck, and thanks for ":" Thanks for ")+(b.b()?"playing :)": "tipping :)")}function e(){return"No ticket drawn."+(b.b()?" Type /tickets to see available tickets.":"")}function m(a,c){b.C(c)?b.u(c)?(k("Sorry, ticket "+c+" has already been drawn."+p(),a,"#f2f9fd"),E(e(),"","#d5ebf8")):(A[a]-=c,null!==(B=b.w(c))?(y.hasOwnProperty(a)||(y[a]={}),y[a].hasOwnProperty(B)||(y[a][B]=0),y[a][B]++,E("Congratulations, "+a+"! \u2605\u00a0"+c+"\u00a0\u2605 is "+L(B)+" prize winning ticket. Thank you for playing :)","","#d5ebf8","","bold"),k(a+" wins "+L(B)+" prize.",cb.room_slug, "#f2f9fd","","bold"),ba()):E("Sorry, "+a+". "+c+" wasn't a prize ticket. But, thanks for playing :)","","#d5ebf8"),V()):(k("Sorry, ticket "+c+" is not available."+p(),a,"#f2f9fd"),E(e(),"","#d5ebf8"))}var c=(new Date).valueOf(),d=a.from_user,l=a.amount,r,u=b.o(1),t=b.K(),B;A[d]=A.hasOwnProperty(d)?A[d]+l:l;t?(a.message!==fa[1].label||0===b.a()&&!b.f()?m(d,l):(A[d]<u?(k("Sorry, "+d+". High Roller gameplay is enabled."+p(),d,"#f2f9fd"),E(e(),"","#d5ebf8")):0!==(r=Math.floor(A[d]/u)*u%t)&&m(d,r),A[d]>= t&&m(d,t)),(b.a()||b.b()&&b.f())&&A[d]&&k(d+", you currently have "+v(A[d],"banked token")+" available to compound with your next ticket draw tip.",d,"#f2f9fd")):(k("Sorry, there are no more tickets available. But thanks for the tip :)",d,"#f2f9fd"),E("Game Over. Type /prizes to see prize winners.","","#d5ebf8"),U());f("onTip: "+((new Date).valueOf()-c)+"ms")},G:R,g:ga,v:aa}}(); cb.settings_choices=[{label:"Low Value Prize List (e.g. kiss, dance, flash, shots, ...)",minLength:1,name:"low_value_prize_list",type:"str"},{label:"Medium Value Prize List (e.g. strip, spanks, play, ...)",minLength:1,name:"medium_value_prize_list",required:!1,type:"str"},{label:"High Value Prize List (e.g. snapchat, pw show, new video, ...)",minLength:1,name:"high_value_prize_list",required:!1,type:"str"},{defaultValue:x.g.a,label:"Prize Count",maxValue:x.g.I,minValue:x.g.J,name:"prizes",type:"int"}, {label:"Last Ticket Bonus Prize (e.g. choice of cumshot)",minLength:1,name:"bonus_prize",required:!1,type:"str"}];cb.settings_choices.push(new (Function.prototype.bind.apply(x.g.h,[null,"Gameplay (ticket price multiplier)","game_type",null].concat(x.g.s.filter(x.D)))));cb.settings_choices.push(new x.g.h("(High Traffic Mode see app Description)","high_traffic",!1,"Disabled","Enabled"));cb.settings_choices.push(new x.g.h("(Multi-line Safe Mode see app Description)","multi_line_safe",!1,"Disabled","Enabled")); cb.settings_choices.push(new x.g.h("(Block common forms of chat Spam?)","block_spam",!1,"Yes","No"));cb.onDrawPanel(function(){return x.G});cb.onMessage(function(l){return x.onMessage(l)});cb.onTip(function(l){x.F(l)});cb.tipOptions(function(){if(x.v.options.length)return x.v});x.A();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.