LaylaDolce
Author: layladolce
Description Source Code Launch Bot Current Users

Short Description:

MissLaya_ Santa

Full Description

//My Santa Team

//Santa-14
//

// CB app settings
cb.settings_choices = [

{name: 'bText', label: 'Text to put in front of Santa messages (e.g. JBF)', type: 'str', minLength: 0, maxLength: 30, required: false, defaultValue:':MSanta'},
{name: 'bTextColor', label: 'Santa text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'FF0000'},
{name: 'bBGColor', label: 'Santa background color - HTML colour code without starting \'#\' e.g. (2F1BE0 is blue)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '98FB98'},
{name: 'bMinTip', label: 'Minimum tip to become Santa', type: 'int', minValue: 1, defaultValue: 500},
{name: 'bAnnounce', label: 'Text to show when someone tips to become a Santa, the text MEMBERNAME will be replaced with the username of the new member (Note: graphics don\'t work in this text)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just became a santa'},
{name: 'bMemberList', label: 'List of current Santa, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''},

];

var mmMembers = {};
var mgMembers = {};
var bMembers = {};
var dMembers = {};
var mmNotice = "Tip " + cb.settings.bMinTip + " to become a Santa!\nThis bot is made for MissLayla_!";

// For auto-silencing at least some of token_wh*re_c*nts usernames
var twcRegex = /t.?k.?n.?wh.?r.?_c.?nt.?/i;

function showMMNotice() {
cb.chatNotice(mmNotice);
cb.setTimeout(showMMNotice, 900000);
}

cb.onMessage(function (msg) {
// vars for ease of use
var u = msg['user'];

// Don't process commands and hide them
if (/^\//.test(msg['m'])) {
msg['X-Spam'] = true;
return msg;
}
if (isD(u)) {
// msg['background'] = '#' + cb.settings.dBGColor;
msg['c'] = '#' + cb.settings.dTextColor;
msg['m'] = "[" + cb.settings.dText + "] " + msg['m'];
}
else if (isB(u)) {
// msg['background'] = '#' + cb.settings.bBGColor;
msg['c'] = '#' + cb.settings.bTextColor;
msg['m'] = " " + cb.settings.bText + " " + msg['m'];
}
else if (isMG(u)) {
// msg['background'] = '#' + cb.settings.mgBGColor;
msg['c'] = '#' + cb.settings.mgTextColor;
msg['m'] = "[" + cb.settings.mgText + "] " + msg['m'];
} else if (isMM(u)) {
// msg['background'] = '#' + cb.settings.mmBGColor;
msg['c'] = '#' + cb.settings.mmTextColor;
msg['m'] = "[" + cb.settings.mmText + "] " + msg['m'];
}
if (twcRegex.test(u)) {
// Auto-silencing at least some of token_wh*re_c*nts usernames
msg['X-Spam'] = true;
}
return msg;
});

cb.onTip(function (tip) {
var amountTipped = parseInt(tip['amount']);

if ((amountTipped >= cb.settings.dMinTip || (amountTipped >= (cb.settings.dMinTip - cb.settings.bMinTip) && isB(tip['from_user'])) || (amountTipped >= (cb.settings.dMinTip - cb.settings.mgMinTip) && isMG(tip['from_user']))) && !isD(tip['from_user'])) {
// Make Santa and announce it
var announcement = cb.settings.dAnnounce.replace("MEMBERNAME", tip['from_user']);
makeD(tip['from_user']);
for (var i = 0; i < cb.settings.dRainCount; i++) {
cb.chatNotice(cb.settings.dRainText);
}
cb.chatNotice(announcement);
}
else if ((amountTipped >= cb.settings.bMinTip || (amountTipped >= (cb.settings.bMinTip - cb.settings.mgMinTip) && isMG(tip['from_user'])) ) && !isB(tip['from_user']) && !isD(tip['from_user'])) {
// Make Santa and announce it
var announcement = cb.settings.bAnnounce.replace("MEMBERNAME", tip['from_user']);
makeB(tip['from_user']);
for (var i = 0; i < cb.settings.bRainCount; i++) {
cb.chatNotice(cb.settings.bRainText);
}
cb.chatNotice(announcement);
}
else if (amountTipped >= cb.settings.mgMinTip && !isMG(tip['from_user']) && !isB(tip['from_user']) && !isD(tip['from_user'])) {
// Make Bunny and announce it
var announcement = cb.settings.mgAnnounce.replace("MEMBERNAME", tip['from_user']);
makeMG(tip['from_user']);
for (var i = 0; i < cb.settings.mgRainCount; i++) {
cb.chatNotice(cb.settings.mgRainText);
}
cb.chatNotice(announcement);
} else if (amountTipped >= cb.settings.mmMinTip && !isMM(tip['from_user']) && !isMG(tip['from_user']) && !isB(tip['from_user']) && !isD(tip['from_user'])) {
// Make Lover and announce it
var announcement = cb.settings.mmAnnounce.replace("MEMBERNAME", tip['from_user']);
makeMM(tip['from_user']);
for (var i = 0; i < cb.settings.mmRainCount; i++) {
cb.chatNotice(cb.settings.mmRainText);
}
cb.chatNotice(announcement);
}
});

function isD(username) {
return (username in dMembers);
}

function isB(username) {
return (username in bMembers);
}

function isMG(username) {
return (username in mgMembers);
}

function isMM(username) {
return (username in mmMembers);
}

function makeD(username) {
dMembers[username] = {'u': 1};
}

function makeB(username) {
bMembers[username] = {'u': 1};
}

function makeMG(username) {
mgMembers[username] = {'u': 1};
}

function makeMM(username) {
mmMembers[username] = {'u': 1};
}

function grabSettings() {
cb.log("starting grabbing settings");
// Get legend members
if (cb.settings.mmMemberList) {
var mmMemberSettings = cb.settings.mmMemberList.split(',');
for (var ii = 0; ii < mmMemberSettings.length; ii++) {
var clean = mmMemberSettings[ii].toLowerCase().replace(/ /g, "");
mmMembers[clean] = {'u': 1};
}
}

// Get ace
if (cb.settings.mgMemberList) {
var mgMemberSettings = cb.settings.mgMemberList.split(',');
for (var ii = 0; ii < mgMemberSettings.length; ii++) {
var clean = mgMemberSettings[ii].toLowerCase().replace(/ /g, "");
mgMembers[clean] = {'u': 1};
}
}

// Get Santa
if (cb.settings.bMemberList) {
var bMemberSettings = cb.settings.bMemberList.split(',');
for (var ii = 0; ii < bMemberSettings.length; ii++) {
var clean = bMemberSettings[ii].toLowerCase().replace(/ /g, "");
bMembers[clean] = {'u': 1};
}
}

// Get Megahero
if (cb.settings.dMemberList) {
var dMemberSettings = cb.settings.dMemberList.split(',');
for (var ii = 0; ii < dMemberSettings.length; ii++) {
var clean = dMemberSettings[ii].toLowerCase().replace(/ /g, "");
dMembers[clean] = {'u': 1};
}
}

cb.log("finished grabbing settings");
}

grabSettings();
showMMNotice();

comments powered by Disqus

© Copyright Chaturbate 2011- 2019. All Rights Reserved.