Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- registerPlugin(
- {
- name: 'Random Channel Welcome/Leave Message',
- version: '1.1.3.5',
- description: 'Certain Channel Welcome/Leave Message with randomized word-/ or textlist',
- author: 'Cr4nkSt4r <crankstar@pimp-my.social>',
- vars:
- {
- achannel:
- {
- title: 'Apply for channel:',
- type: 'channel',
- placeholder: 'Please insert your ChannelID'
- },
- bwelcome:
- {
- title: 'Join message: (%n = Nickname / %r = Randomtext)',
- type: 'string',
- placeholder: 'Please insert your join message'
- },
- cwelcome_tts:
- {
- title: 'Join message TTS: (%n = Nickname / %r = Randomtext)',
- type: 'string',
- placeholder: 'Please insert your TTS join message'
- },
- dleave:
- {
- title: 'Leave message: (%n = Nickname / %r = Randomtext)',
- type: 'string',
- placeholder: 'Please insert your leave message'
- },
- eleave_tts:
- {
- title: 'Leave message TTS: (%n = Nickname / %r = Randomtext)',
- type: 'string',
- placeholder: 'Please insert your TTS leave message'
- },
- frandom:
- {
- title: 'Random words or text for join message (comma seperated):',
- type: 'multiline',
- placeholder: 'Please insert your random words or text for join message'
- },
- grandom:
- {
- title: 'Random words or text for leave message (comma seperated):',
- type: 'multiline',
- placeholder: 'Please insert your random words or text for leave message'
- },
- hmethodtc:
- {
- title: 'Apply on',
- type: 'select',
- options: ['Join',
- 'Leave',
- 'Both']
- },
- itypetc:
- {
- title: 'Message type:',
- type: 'select',
- options: ['Private message',
- 'TTS',
- 'Both']
- },
- jlanguage:
- {
- title: 'Language:',
- type: 'select',
- options: ['German (Women)',
- 'German (Men)',
- 'English (Women)',
- 'English (Men)']
- },
- klanguageextra:
- {
- title: 'Locale:',
- type: 'string',
- placeholder: 'Please insert your locale if you don\'t want to use a preset one'
- }
- }
- }, function(sinusbot, config, info)
- {
- //Load Messages
- sinusbot.log('Loading...');
- var author = info.author.split(',');
- if(author.length == 1)
- {
- author = author[0];
- author = author.replace(/<.*>/gi, '').trim();
- }
- else
- {
- author = author.map(function(e)
- {
- return e.replace(/<.*>/gi, '').trim();
- });
- author = author.join(' & ');
- }
- sinusbot.log(info.name + ' v' + info.version + ' by ' + author + ' for SinusBot v0.9.9-8f70ff3 (and above)');
- var lang;
- switch(config.jlanguage)
- {
- case 0:
- lang = 'eurgermanfemale';
- break;
- case 1:
- lang = 'eurgermanmale';
- break;
- case 2:
- lang = 'usenglishfemale';
- break;
- case 3:
- lang = 'usenglishmale';
- break;
- default:
- lang = 'usenglishmale';
- break;
- }
- sinusbot.log('Language: '+lang+'Selected: '+config.jlanguage);
- if(typeof config.klanguageextra !== 'undefined' && config.klanguageextra !== null && config.klanguageextra !== '')
- {
- lang = config.klanguageextra;
- }
- sinusbot.log('Language: '+lang+'Selected: '+config.jlanguage);
- var channel = config.achannel;
- if(!channel || channel == '')
- {
- channel = 0;
- }
- if(config.frandom)
- {
- var wordsjoin = config.frandom;
- wordsjoin = wordsjoin.split(',');
- if(wordsjoin.length > 0)
- {
- wordsjoin = wordsjoin.filter(function(n){ return n != undefined });
- }
- if (typeof wordsjoin[0] === 'undefined' || wordsjoin[0] === null)
- {
- var wordsjoin = [""];
- }
- }
- else
- {
- var wordsjoin = [""];
- }
- if(config.grandom)
- {
- var wordsleave = config.grandom;
- wordsleave = wordsleave.split(',');
- if(wordsleave.length > 0)
- {
- wordsleave = wordsleave.filter(function(n){ return n != undefined });
- }
- if (typeof wordsleave[0] === 'undefined' || wordsleave[0] === null)
- {
- var wordsleave = [""];
- }
- }
- else
- {
- var wordsleave = [""];
- }
- var methodtc;
- switch(config.hmethodtc)
- {
- case 0:
- methodtc = 1;
- break;
- case 1:
- methodtc = 2;
- break;
- case 2:
- methodtc = 3;
- break;
- default:
- methodtc = 2;
- break;
- }
- var typetc;
- switch(config.itypetc)
- {
- case 0:
- typetc = 1;
- break;
- case 1:
- typetc = 2;
- break;
- case 2:
- typetc = 3;
- break;
- default:
- typetc = 1;
- break;
- }
- sinusbot.on('clientMove', function(ev)
- {
- var minjoin = 0;
- var maxjoin = wordsjoin.length-1;
- var randomNumberjoin = Math.floor(Math.random() * (maxjoin - minjoin + 1)) + minjoin;
- var minleave = 0;
- var maxleave = wordsleave.length-1;
- var randomNumberleave = Math.floor(Math.random() * (maxleave - minleave + 1)) + minleave;
- if(config.bwelcome !== null && config.bwelcome.substring(0, 2) != '//' && typeof wordsjoin[0] != 'undefined' && wordsjoin[0] !== null)
- {
- var welcomemessage = config.bwelcome;
- welcomemessage = welcomemessage.replace(/%n/g, ev.clientNick);
- welcomemessage = welcomemessage.replace(/%r/g, wordsjoin[randomNumberjoin].trim());
- }
- if(config.cwelcome_tts !== null && config.cwelcome_tts.substring(0, 2) != '//' && typeof wordsjoin[0] != 'undefined' && wordsjoin[0] !== null)
- {
- var welcomemessage_tts = config.cwelcome_tts;
- welcomemessage_tts = welcomemessage_tts.replace(/%n/g, ev.clientNick);
- welcomemessage_tts = welcomemessage_tts.replace(/%r/g, wordsjoin[randomNumberjoin].trim());
- }
- if(config.dleave !== null && config.dleave.substring(0, 2) != '//' && typeof wordsleave[0] != 'undefined' && wordsleave[0] !== null)
- {
- var leavemessage = config.dleave;
- leavemessage = leavemessage.replace(/%n/g, ev.clientNick);
- leavemessage = leavemessage.replace(/%r/g, wordsleave[randomNumberleave].trim());
- }
- if(config.eleave_tts !== null && config.eleave_tts.substring(0, 2) != '//' && typeof wordsleave[0] != 'undefined' && wordsleave[0] !== null)
- {
- var leavemessage_tts = config.eleave_tts;
- leavemessage_tts = leavemessage_tts.replace(/%n/g, ev.clientNick);
- leavemessage_tts = leavemessage_tts.replace(/%r/g, wordsleave[randomNumberleave].trim());
- }
- sinusbot.log('Language: '+lang);
- if(ev.newChannel == channel && ev.oldChannel != 0 && (methodtc == 1 || methodtc == 3))
- {
- if ((typetc == 1 || typetc == 3) && typeof welcomemessage !== 'undefined' && welcomemessage !== null)
- {
- sinusbot.chatPrivate(ev.clientId, welcomemessage);
- }
- if ((typetc == 2 || typetc == 3) && typeof welcomemessage_tts !== 'undefined' && welcomemessage_tts !== null)
- {
- sinusbot.say(welcomemessage_tts, lang);
- }
- return;
- }
- else if(ev.oldChannel == channel && ev.newChannel != channel && (methodtc == 2 || methodtc == 3))
- {
- if ((typetc == 1 || typetc == 3) && typeof leavemessage !== 'undefined' && leavemessage !== null)
- {
- sinusbot.chatPrivate(ev.clientId, leavemessage);
- }
- if ((typetc == 2 || typetc == 3) && typeof leavemessage_tts !== 'undefined' && leavemessage_tts !== null)
- {
- sinusbot.say(leavemessage_tts, lang);
- }
- }
- });
- sinusbot.log('Loaded !');
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement