Browse Source

added chatterbonus(extra points for activity)

master
Brandon Cornejo 11 years ago
parent
commit
10b6c45215
  1. 26
      lib/currency.js

26
lib/currency.js

@ -74,6 +74,7 @@ function Currency(irc, db, options) {
__self.config.subscribers_json = options.subscribers || ''; __self.config.subscribers_json = options.subscribers || '';
__self.config.website = options.website || ''; __self.config.website = options.website || '';
__self.config.modpowers = options.modpowers || false; __self.config.modpowers = options.modpowers || false;
__self.config.chatterbonus = options.chatterbonus || false;
// general settings // general settings
__self.pre_text = '> ' + __self.config.currency + ': '; __self.pre_text = '> ' + __self.config.currency + ': ';
@ -104,6 +105,7 @@ function Currency(irc, db, options) {
__self.give_coins_timer = options.payrate || 30;//minutes __self.give_coins_timer = options.payrate || 30;//minutes
__self.subscriber_check = 4;//minutes __self.subscriber_check = 4;//minutes
__self.subscribers = []; __self.subscribers = [];
__self.active_list = [];
// raffle settings // raffle settings
__self.raffle_status = false; __self.raffle_status = false;
@ -143,6 +145,21 @@ Currency.prototype.commands = function (data) {
// broadcaster only commands // broadcaster only commands
if (broadcaster_bot_initiated || (__self.config.modpowers && moderator_initiated)) { if (broadcaster_bot_initiated || (__self.config.modpowers && moderator_initiated)) {
//toggle chatter bonus
if (data[4] == 'chatterbonus') {
switch (data[5]) {
case 'on':
__self.config.chatterbonus = true;
__self.irc.emit('message', {message:__self.pre_text + 'Chatter bonus is on! Earn extra potatoes by being active in the chat.'});
break;
case 'off':
__self.config.chatterbonus = false;
__self.irc.emit('message', {message:__self.pre_text + 'Chatterbonus is now off. Potato deflation!'});
break;
}
}
//open / close auction system //open / close auction system
if (data[4] === 'auction') { if (data[4] === 'auction') {
switch (data[5]) { switch (data[5]) {
@ -597,19 +614,27 @@ Currency.prototype.handout_coins = function () {
if (__self.viewer_list.indexOf(viewer) < 0) { if (__self.viewer_list.indexOf(viewer) < 0) {
__self.viewer_list.push(viewer); __self.viewer_list.push(viewer);
} }
if (__self.active_list.indexOf(viewer) < 0) {
__self.active_list.push(viewer);
}
} }
// give coins after \who and handout_coins is true // give coins after \who and handout_coins is true
if (__self.give_coins && data_split[3] == '315') { if (__self.give_coins && data_split[3] == '315') {
var clone_viewer_list = __self.viewer_list; var clone_viewer_list = __self.viewer_list;
var clone_active_list = __self.active_list;
// clear old list and start recording // clear old list and start recording
__self.viewer_list = []; __self.viewer_list = [];
__self.active_list = [];
// build sql from the saved viewer list // build sql from the saved viewer list
var sql = ''; var sql = '';
for (var i = 0; i < clone_viewer_list.length; i++) { for (var i = 0; i < clone_viewer_list.length; i++) {
var currency_amount = __self.subscribers.indexOf(clone_viewer_list[i]) >= 0 ? 2 : 1; var currency_amount = __self.subscribers.indexOf(clone_viewer_list[i]) >= 0 ? 2 : 1;
if (__self.config.chatterbonus){
if(clone_active_list.indexOf(clone_viewer_list[i])) currecy_amount++;
}
if (clone_viewer_list[i] !== '') { if (clone_viewer_list[i] !== '') {
if (i != clone_viewer_list.length - 1) { if (i != clone_viewer_list.length - 1) {
sql += 'INSERT INTO viewers (user, points) '; sql += 'INSERT INTO viewers (user, points) ';
@ -628,6 +653,7 @@ Currency.prototype.handout_coins = function () {
} }
} else { } else {
__self.viewer_list = []; __self.viewer_list = [];
__self.active_list = [];
} }
}); });

Loading…
Cancel
Save