Advertisement
Guest User

adadadad

a guest
Nov 24th, 2017
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.66 KB | None | 0 0
  1. registerPlugin(
  2. {
  3. name: 'Random Channel Welcome/Leave Message',
  4. version: '1.1.3.5',
  5. description: 'Certain Channel Welcome/Leave Message with randomized word-/ or textlist',
  6. author: 'Cr4nkSt4r <crankstar@pimp-my.social>',
  7. vars:
  8. {
  9. achannel:
  10. {
  11. title: 'Apply for channel:',
  12. type: 'channel',
  13. placeholder: 'Please insert your ChannelID'
  14. },
  15. bwelcome:
  16. {
  17. title: 'Join message: (%n = Nickname / %r = Randomtext)',
  18. type: 'string',
  19. placeholder: 'Please insert your join message'
  20. },
  21. cwelcome_tts:
  22. {
  23. title: 'Join message TTS: (%n = Nickname / %r = Randomtext)',
  24. type: 'string',
  25. placeholder: 'Please insert your TTS join message'
  26. },
  27. dleave:
  28. {
  29. title: 'Leave message: (%n = Nickname / %r = Randomtext)',
  30. type: 'string',
  31. placeholder: 'Please insert your leave message'
  32. },
  33. eleave_tts:
  34. {
  35. title: 'Leave message TTS: (%n = Nickname / %r = Randomtext)',
  36. type: 'string',
  37. placeholder: 'Please insert your TTS leave message'
  38. },
  39. frandom:
  40. {
  41. title: 'Random words or text for join message (comma seperated):',
  42. type: 'multiline',
  43. placeholder: 'Please insert your random words or text for join message'
  44. },
  45. grandom:
  46. {
  47. title: 'Random words or text for leave message (comma seperated):',
  48. type: 'multiline',
  49. placeholder: 'Please insert your random words or text for leave message'
  50. },
  51. hmethodtc:
  52. {
  53. title: 'Apply on',
  54. type: 'select',
  55. options: ['Join',
  56. 'Leave',
  57. 'Both']
  58. },
  59. itypetc:
  60. {
  61. title: 'Message type:',
  62. type: 'select',
  63. options: ['Private message',
  64. 'TTS',
  65. 'Both']
  66. },
  67. jlanguage:
  68. {
  69. title: 'Language:',
  70. type: 'select',
  71. options: ['German (Women)',
  72. 'German (Men)',
  73. 'English (Women)',
  74. 'English (Men)']
  75. },
  76. klanguageextra:
  77. {
  78. title: 'Locale:',
  79. type: 'string',
  80. placeholder: 'Please insert your locale if you don\'t want to use a preset one'
  81. }
  82.  
  83. }
  84. }, function(sinusbot, config, info)
  85. {
  86.  
  87. //Load Messages
  88. sinusbot.log('Loading...');
  89. var author = info.author.split(',');
  90. if(author.length == 1)
  91. {
  92. author = author[0];
  93. author = author.replace(/<.*>/gi, '').trim();
  94. }
  95. else
  96. {
  97. author = author.map(function(e)
  98. {
  99. return e.replace(/<.*>/gi, '').trim();
  100. });
  101. author = author.join(' & ');
  102. }
  103. sinusbot.log(info.name + ' v' + info.version + ' by ' + author + ' for SinusBot v0.9.9-8f70ff3 (and above)');
  104.  
  105. var lang;
  106. switch(config.jlanguage)
  107. {
  108. case 0:
  109. lang = 'eurgermanfemale';
  110. break;
  111. case 1:
  112. lang = 'eurgermanmale';
  113. break;
  114. case 2:
  115. lang = 'usenglishfemale';
  116. break;
  117. case 3:
  118. lang = 'usenglishmale';
  119. break;
  120. default:
  121. lang = 'usenglishmale';
  122. break;
  123. }
  124.  
  125. sinusbot.log('Language: '+lang+'Selected: '+config.jlanguage);
  126.  
  127. if(typeof config.klanguageextra !== 'undefined' && config.klanguageextra !== null && config.klanguageextra !== '')
  128. {
  129. lang = config.klanguageextra;
  130. }
  131.  
  132. sinusbot.log('Language: '+lang+'Selected: '+config.jlanguage);
  133.  
  134. var channel = config.achannel;
  135. if(!channel || channel == '')
  136. {
  137. channel = 0;
  138. }
  139.  
  140. if(config.frandom)
  141. {
  142. var wordsjoin = config.frandom;
  143. wordsjoin = wordsjoin.split(',');
  144. if(wordsjoin.length > 0)
  145. {
  146. wordsjoin = wordsjoin.filter(function(n){ return n != undefined });
  147. }
  148. if (typeof wordsjoin[0] === 'undefined' || wordsjoin[0] === null)
  149. {
  150. var wordsjoin = [""];
  151. }
  152. }
  153. else
  154. {
  155. var wordsjoin = [""];
  156. }
  157.  
  158. if(config.grandom)
  159. {
  160. var wordsleave = config.grandom;
  161. wordsleave = wordsleave.split(',');
  162. if(wordsleave.length > 0)
  163. {
  164. wordsleave = wordsleave.filter(function(n){ return n != undefined });
  165. }
  166. if (typeof wordsleave[0] === 'undefined' || wordsleave[0] === null)
  167. {
  168. var wordsleave = [""];
  169. }
  170. }
  171. else
  172. {
  173. var wordsleave = [""];
  174. }
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181. var methodtc;
  182. switch(config.hmethodtc)
  183. {
  184. case 0:
  185. methodtc = 1;
  186. break;
  187. case 1:
  188. methodtc = 2;
  189. break;
  190. case 2:
  191. methodtc = 3;
  192. break;
  193. default:
  194. methodtc = 2;
  195. break;
  196. }
  197.  
  198. var typetc;
  199. switch(config.itypetc)
  200. {
  201. case 0:
  202. typetc = 1;
  203. break;
  204. case 1:
  205. typetc = 2;
  206. break;
  207. case 2:
  208. typetc = 3;
  209. break;
  210. default:
  211. typetc = 1;
  212. break;
  213. }
  214.  
  215.  
  216. sinusbot.on('clientMove', function(ev)
  217. {
  218. var minjoin = 0;
  219. var maxjoin = wordsjoin.length-1;
  220. var randomNumberjoin = Math.floor(Math.random() * (maxjoin - minjoin + 1)) + minjoin;
  221.  
  222. var minleave = 0;
  223. var maxleave = wordsleave.length-1;
  224. var randomNumberleave = Math.floor(Math.random() * (maxleave - minleave + 1)) + minleave;
  225.  
  226. if(config.bwelcome !== null && config.bwelcome.substring(0, 2) != '//' && typeof wordsjoin[0] != 'undefined' && wordsjoin[0] !== null)
  227. {
  228. var welcomemessage = config.bwelcome;
  229. welcomemessage = welcomemessage.replace(/%n/g, ev.clientNick);
  230. welcomemessage = welcomemessage.replace(/%r/g, wordsjoin[randomNumberjoin].trim());
  231. }
  232. if(config.cwelcome_tts !== null && config.cwelcome_tts.substring(0, 2) != '//' && typeof wordsjoin[0] != 'undefined' && wordsjoin[0] !== null)
  233. {
  234. var welcomemessage_tts = config.cwelcome_tts;
  235. welcomemessage_tts = welcomemessage_tts.replace(/%n/g, ev.clientNick);
  236. welcomemessage_tts = welcomemessage_tts.replace(/%r/g, wordsjoin[randomNumberjoin].trim());
  237. }
  238. if(config.dleave !== null && config.dleave.substring(0, 2) != '//' && typeof wordsleave[0] != 'undefined' && wordsleave[0] !== null)
  239. {
  240. var leavemessage = config.dleave;
  241. leavemessage = leavemessage.replace(/%n/g, ev.clientNick);
  242. leavemessage = leavemessage.replace(/%r/g, wordsleave[randomNumberleave].trim());
  243. }
  244. if(config.eleave_tts !== null && config.eleave_tts.substring(0, 2) != '//' && typeof wordsleave[0] != 'undefined' && wordsleave[0] !== null)
  245. {
  246. var leavemessage_tts = config.eleave_tts;
  247. leavemessage_tts = leavemessage_tts.replace(/%n/g, ev.clientNick);
  248. leavemessage_tts = leavemessage_tts.replace(/%r/g, wordsleave[randomNumberleave].trim());
  249. }
  250.  
  251. sinusbot.log('Language: '+lang);
  252.  
  253. if(ev.newChannel == channel && ev.oldChannel != 0 && (methodtc == 1 || methodtc == 3))
  254. {
  255. if ((typetc == 1 || typetc == 3) && typeof welcomemessage !== 'undefined' && welcomemessage !== null)
  256. {
  257. sinusbot.chatPrivate(ev.clientId, welcomemessage);
  258. }
  259. if ((typetc == 2 || typetc == 3) && typeof welcomemessage_tts !== 'undefined' && welcomemessage_tts !== null)
  260. {
  261. sinusbot.say(welcomemessage_tts, lang);
  262. }
  263. return;
  264. }
  265. else if(ev.oldChannel == channel && ev.newChannel != channel && (methodtc == 2 || methodtc == 3))
  266. {
  267. if ((typetc == 1 || typetc == 3) && typeof leavemessage !== 'undefined' && leavemessage !== null)
  268. {
  269. sinusbot.chatPrivate(ev.clientId, leavemessage);
  270. }
  271. if ((typetc == 2 || typetc == 3) && typeof leavemessage_tts !== 'undefined' && leavemessage_tts !== null)
  272. {
  273. sinusbot.say(leavemessage_tts, lang);
  274. }
  275. }
  276. });
  277. sinusbot.log('Loaded !');
  278. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement