Advertisement
Guest User

Untitled

a guest
Aug 16th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Discord = require('discord.io');
  2. var logger = require('winston');
  3. var auth = require('./auth.json');
  4.  
  5. var server_id = '260423837865345025';
  6. var hufflepuff = '347071513813319680';
  7. var gryffindor = '347072146306105354';
  8. var slytherin = '347072253089021953';
  9. var ravenclaw = '347071362072051724';
  10. var muggle =    '347077353178136588';
  11.  
  12. function getRandomArbitrary(min, max) {
  13.     return Math.random() * (max - min) + min;
  14. }
  15.  
  16. function chooseRandomRole()
  17. {
  18.     var rand_num = Math.floor(getRandomArbitrary(1,5));
  19.  
  20.     if(rand_num == 1)
  21.     {
  22.         return hufflepuff;
  23.     }
  24.     else if(rand_num == 2)
  25.     {
  26.         return gryffindor;
  27.     }
  28.     else if(rand_num == 3)
  29.     {
  30.         return slytherin;
  31.     }
  32.     else if(rand_num == 4)
  33.     {
  34.         return ravenclaw;
  35.     }
  36. }
  37.  
  38. function getRoleName(roleId)
  39. {
  40.     if(roleId == hufflepuff)
  41.     {
  42.         return 'Hufflepuff';
  43.     }
  44.     else if(roleId == gryffindor)
  45.     {
  46.         return 'Gryffindor';
  47.     }
  48.     else if(roleId == slytherin)
  49.     {
  50.         return 'Slytherin';
  51.     }
  52.     else if(roleId == ravenclaw)
  53.     {
  54.         return 'Ravenclaw';
  55.     }
  56. }
  57.  
  58. function hasHouse(roles)
  59. {
  60.     var hasHouse = false;
  61.  
  62.     roles.forEach(function(element)
  63.     {
  64.         if(element == hufflepuff)
  65.         {
  66.             hasHouse = true;
  67.         }
  68.         else if(element == gryffindor)
  69.         {
  70.             hasHouse = true;
  71.         }
  72.         else if(element == slytherin)
  73.         {
  74.             hasHouse = true;
  75.         }
  76.         else if(element == ravenclaw)
  77.         {
  78.             hasHouse = true;
  79.         }
  80.     });
  81.  
  82.     return hasHouse;
  83. }
  84.  
  85. // Configure logger settings
  86. logger.remove(logger.transports.Console);
  87. logger.add(logger.transports.Console, {
  88.     colorize: true
  89. });
  90. logger.level = 'debug';
  91. // Initialize Discord Bot
  92. var bot = new Discord.Client({
  93.    token: auth.token,
  94.    autorun: true
  95. });
  96. bot.on('ready', function (evt) {
  97.     logger.info('Connected');
  98.     logger.info('Logged in as: ');
  99.     logger.info(bot.username + ' - (' + bot.id + ')');
  100.     //logger.info(bot.servers[server_id].members['210858683473723404']);
  101.     logger.info(bot.servers[server_id].roles);
  102. });
  103. bot.on('message', function (user, userID, channelID, message, evt) {
  104.     // Our bot needs to know if it will execute a command
  105.     // It will listen for messages that will start with `!`
  106.     if (message.substring(0, 1) == '!') {
  107.         var args = message.substring(1).split(' ');
  108.         var cmd = args[0];
  109.        
  110.         args = args.splice(1);
  111.         switch(cmd) {
  112.             // !ping
  113.             case 'ping':
  114.                 bot.sendMessage({
  115.                     to: channelID,
  116.                     message: 'Pong!'
  117.                 });
  118.             break;
  119.             case 'sort':
  120.                 var has_house = hasHouse(bot.servers[server_id].members[userID].roles);
  121.  
  122.                 if(has_house == true)
  123.                 {
  124.                    
  125.                     bot.sendMessage({
  126.                         to: channelID,
  127.                         message: 'You are already sorted fool!',
  128.                     });
  129.                 }
  130.                 else
  131.                 {
  132.                     random_role_num = chooseRandomRole();
  133.                     bot.sendMessage({
  134.                         to: channelID,
  135.                         message: 'You have been assigned the house of ' + getRoleName(random_role_num) + "!",
  136.                     });
  137.                     bot.addToRole({
  138.                         serverID: server_id,
  139.                         userID: userID,
  140.                         roleID: random_role_num,
  141.                     });
  142.                 }
  143.                
  144.             break;
  145.             case 'hi':
  146.                 bot.sendMessage({
  147.                     to: channelID,
  148.                     message: 'What do you wish from me delinquent!',
  149.                 });
  150.             break;
  151.             case 'smelly':
  152.                 bot.sendMessage({
  153.                     to: channelID,
  154.                     message: "Shut up smelly!",
  155.                 });
  156.             break;
  157.             case 'unsort':
  158.                 bot.sendMessage({
  159.                     to: channelID,
  160.                     message: "So be it muggle!",
  161.                 });
  162.                 bot.removeFromRole({
  163.                         serverID: server_id,
  164.                         userID: userID,
  165.                         roleID: hufflepuff,
  166.                     });
  167.                 bot.removeFromRole({
  168.                         serverID: server_id,
  169.                         userID: userID,
  170.                         roleID: gryffindor,
  171.                     });
  172.                 bot.removeFromRole({
  173.                         serverID: server_id,
  174.                         userID: userID,
  175.                         roleID: slytherin,
  176.                     });
  177.                 bot.removeFromRole({
  178.                         serverID: server_id,
  179.                         userID: userID,
  180.                         roleID: ravenclaw,
  181.                     });
  182.                 bot.addToRole({
  183.                         serverID: server_id,
  184.                         userID: userID,
  185.                         roleID: muggle,
  186.                     });
  187.             break;
  188.             // Just add any case commands if you want to..
  189.          }
  190.      }
  191. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement