Advertisement
Guest User

Untitled

a guest
May 27th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const logger = require('winston');
  4.  
  5. var adminOnlyChannel = "null";
  6. var gNames = new Array();
  7. var activeGiveaway = false;
  8. var silentGame = false;
  9. var silentGameChannel = 'null';
  10.  
  11. client.on('ready', () => {
  12.     logger.info('Connected.');
  13.     logger.info('Logged in as ' + client.user.username + ' (' + client.user.id + ')');
  14.     client.user.setActivity('!help for commands', { type: 'LISTENING' });
  15.     logger.info("Set activity to LISTENING '!help for commands'");
  16. });
  17.  
  18. client.on('message', message => {
  19.     if (message.author.bot) return;
  20.     if (!(message.member.roles.find('name', 'Botless'))) {
  21.         var msgArray = message.content.toLowerCase().split(' ');
  22.         var msg = msgArray[0];
  23.  
  24.         // Admin only
  25.         if (msg == '!help') {
  26.             var id = message.member.id;
  27.             message.channel.send('<@' + id + '> -> I will DM you the list of commands and triggers.');
  28.             message.author.send('List of commands: \n' +
  29.             '!help - Displays this list of commands. \n' +
  30.             '!goodnight - Tells everyone good night. \n' +
  31.             '!goodmorning - Tells everyone good morning. \n' +
  32.             '!remind - Sends you a given message after a given time period. \n' +
  33.             '!adminsonly - Temporarily makes current channel admin-only / Switches admin-only channel. \n' +
  34.             '!adminsoff - Makes the current channel no longer admin-only. \n' +
  35.             '!joingiveaway - Enters an ongoing giveaway. \n' +
  36.             '!giveawaywin - Picks a winner for an ongoing giveaway. \n' +
  37.             '!cleargiveaway - Clears entries in an ongoing giveaway. \n' +
  38.             '!giveawayon - Enables a giveaway and announces so. \n' +
  39.             '!giveawayoff - Disables an ongoing giveaway and announces so. \n' +
  40.             '!silentgame - Starts a silent game. \n' +
  41.             "!5050 - Chooses either 'yes' or 'no' randomly. \n" +
  42.             "TRIGGERS: 'no u', 'gay', 'oof', 'fuck you', '<:unoreverse:419925837240860679>'");
  43.             return;
  44.         }
  45.         if (msg == '!goodnight') {
  46.             if (message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner')) {
  47.                 message.channel.send('Good night, @everyone!');
  48.                 return;
  49.             }
  50.         }
  51.         if (msg == '!goodmorning') {
  52.             if (message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner')) {
  53.                 message.channel.send('Good morning, @everyone!');
  54.                 return
  55.             }
  56.         }
  57.         if (msg == '!remind') {
  58.             var id = message.member.id;
  59.             var time = parseInt(msgArray[1]);
  60.             if (isNaN(time)) {
  61.                 message.channel.send('<@' + id + '> -> Invalid arguments. Usage: !remind [time in minutes] [message]');
  62.                 return;
  63.             }
  64.             Array.prototype.myJoin = function(seperator,start,end){
  65.                 if(!start) start = 0;
  66.                 if(!end) end = this.length - 1;
  67.                 end++;
  68.                 return this.slice(start,end).join(seperator);
  69.             };
  70.             var reminder = msgArray.myJoin(' ', 2);
  71.             message.channel.send('<@' + id + '> -> I will remind you in ' + msgArray[1] + ' minute(s).');
  72.             var minutes = time * 1000 * 60;
  73.             var myInterval = setInterval(remindTime, minutes);
  74.             function remindTime() {
  75.                 message.channel.send('<@' + id + '> -> ' + reminder);
  76.                 clearInterval(myInterval);
  77.             }
  78.             return;
  79.         }
  80.         if (msg == '!adminsonly') {
  81.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) return;
  82.             var prevChannel = client.channels.get(adminOnlyChannel);
  83.             if (!(adminOnlyChannel == 'null')) {
  84.                 prevChannel.send('@everyone -> This channel is no longer admin-only chat.');
  85.             }
  86.             adminOnlyChannel = message.channel.id;
  87.             message.channel.send('@everyone -> This channel is now temporarily admin-only chat.');
  88.             return;
  89.         }
  90.         if (msg == '!adminsoff') {
  91.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) return;
  92.             if (adminOnlyChannel == 'null') {
  93.                 var id = message.member.id;
  94.                 message.channel.send('<@' + id + '> -> No channels are currently admin-only.')
  95.                 return
  96.             }
  97.             var prevChannel = client.channels.get(adminOnlyChannel);
  98.             prevChannel.send('@everyone -> This channel is no longer admin-only chat.');
  99.             adminOnlyChannel = null;
  100.             return;
  101.         }
  102.         if (msg == '!joingiveaway') {
  103.             var id = message.member.id;
  104.             if (gNames.indexOf(id) > -1) {
  105.                 message.channel.send('<@' + id + '> -> You are already entered in this giveaway.');
  106.                 return;
  107.             }
  108.             gNames.push(id);
  109.             message.channel.send('<@' + id + '> -> You have been entered for the giveaway!');
  110.             return;
  111.         }
  112.         if (msg == '!giveawaywin') {
  113.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
  114.                 return;
  115.             }
  116.             if (gNames.length == 0) {
  117.                 var id = message.member.id;
  118.                 message.channel.send('<@' + id + '> -> There are no entries in the giveaway.');
  119.                 return;
  120.             }
  121.             if (activeGiveaway == false) {
  122.                 var id = message.member.id;
  123.                 message.channel.send('<@' + id + '> -> There are currently no active giveaways.')
  124.             }
  125.             var random = Math.floor(Math.random()*gNames.length);
  126.             message.channel.send('<@' + gNames[random] + '> has won the giveaway!');
  127.             gNames = [];
  128.             activeGiveaway = false;
  129.             return;
  130.         }
  131.         if (msg == '!cleargiveaway') {
  132.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
  133.                 return;
  134.             }
  135.             gNames = [];
  136.             var id = message.member.id;
  137.             message.channel.send('<@' + id + '> -> Giveaway has been cleared.');
  138.             return;
  139.         }
  140.         if (msg == '!giveawayon') {
  141.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
  142.                 return;
  143.             }
  144.             if (activeGiveaway == true) {
  145.                 var id = message.member.id;
  146.                 message.channel.send('<@' + id + '> -> A giveaway is already active.');
  147.                 return;
  148.             }
  149.             if (msgArray.length > 1) {
  150.                 Array.prototype.myJoin = function(seperator,start,end){
  151.                     if(!start) start = 0;
  152.                     if(!end) end = this.length - 1;
  153.                     end++;
  154.                     return this.slice(start,end).join(seperator);
  155.                 };
  156.                 var announcement = msgArray.myJoin(' ', 1);
  157.                 message.channel.send("@everyone -> A new giveaway is now underway! The item given away will be '" + announcement + "' \n" +
  158.                 "Say '!joingiveaway' to enter the giveaway!");
  159.                 activeGiveaway = true;
  160.             } else {
  161.                 message.channel.send('@everyone -> A new giveaway is now underway! The item given away is undefined. \n' +
  162.                 "Say '!joingiveaway' to enter the giveaway!");
  163.                 activeGiveaway = true;
  164.             }
  165.             return;
  166.         }
  167.         if (msg == '!giveawayoff') {
  168.             if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner'))) {
  169.                 return;
  170.             }
  171.             if (activeGiveaway == false) {
  172.                 var id = message.member.id;
  173.                 message.channel.send('<@' + id + '> -> There are no giveaways active.');
  174.                 return;
  175.             }
  176.             activeGiveaway = false;
  177.             message.channel.send('@everyone -> The current giveaway has been canceled.');
  178.             return;
  179.         }
  180.         if (msg == '!silentgame') {
  181.             if (silentGame == true) return;
  182.             message.channel.send('@everyone -> Silent game! next person to send a message loses.');
  183.             silentGame = true;
  184.             silentGameChannel = message.channel.id;
  185.             return;
  186.         }
  187.         if (msg == '!5050') {
  188.             var id = message.member.id;
  189.             var random = Math.floor(Math.random() * 2) + 1;
  190.             if (random == 1) {
  191.                 message.channel.send('<@' + id + '> -> Yes.');
  192.             }
  193.             if (random == 2) {
  194.                 message.channel.send('<@' + id + '> -> No.');
  195.             }
  196.             return;
  197.         }
  198.  
  199.         // Triggers
  200.         if (msgArray.indexOf('no') > -1 && msgArray.indexOf('u') > -1) {
  201.             if (msgArray.indexOf('u') - msgArray.indexOf('no') == 1) {
  202.                 var id = message.member.id;
  203.                 message.channel.send('Shut the fuck up <@' + id + '>');
  204.                 return;
  205.             }
  206.         }
  207.         if (msgArray.indexOf('gay') > -1) {
  208.             var id = message.member.id;
  209.             message.channel.send('Fak off <@' + id + '> u homophobe');
  210.             return;
  211.         }
  212.         if (msgArray.indexOf('oof') > -1) {
  213.             var id = message.member.id;
  214.             message.channel.send('<@' + id + '> minecraft is better lUl xd');
  215.             return;
  216.         }
  217.         if ((msgArray.indexOf('fuck') > -1 && msgArray.indexOf('you') > -1) || (msgArray.indexOf('fak') > -1 && msgArray.indexOf('u') > -1)) {
  218.             if ((msgArray.indexOf('you') - msgArray.indexOf('fuck') == 1) || (msgArray.indexOf('u') - msgArray.indexOf('fak') == 1)) {
  219.                 var id = message.member.id;
  220.                 message.channel.send('<@' + id + '> well fuck you too.');
  221.                 return;
  222.             }
  223.         }
  224.         if (msgArray.indexOf('<:unoreverse:419925837240860679>') > -1) {
  225.             var id = message.member.id;
  226.             var emoji = client.emojis.find('name', 'unoreverse');
  227.             message.channel.send(emoji + ' my ass. Go back to where you came from <@' + id + '>, you uno geek');
  228.             return;
  229.         }
  230.  
  231.         // Admin-Only
  232.         if (!(message.member.roles.find('name', 'Admin') || message.member.roles.find('name', 'Owner') || message.member.roles.find('name', ':D Bots'))) {
  233.             if (adminOnlyChannel == message.channel.id) {
  234.                 message.delete();
  235.                 return;
  236.             }
  237.         }
  238.         // Silent game
  239.         if (silentGame == true && silentGameChannel == message.channel.id) {
  240.             var id = message.member.id;
  241.             silentGame = false;
  242.             if (message.member.nickname != null) {
  243.                 message.channel.send('<@' + id + '> has sent the losing message! ' + message.member.nickname + ' lost!');
  244.             } else {
  245.                 message.channel.send('<@' + id + '> has sent the losing message! ' + message.member.user.username + ' lost!');
  246.             }
  247.             return;
  248.         }
  249.     }
  250. })
  251.  
  252. client.login('NDQ5NzUyMTYxNzAyNzcyNzM2.DepP5w.yIk-CKPTSeogtDmLnO1q-RUanZA');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement