Advertisement
Guest User

Bot main file

a guest
Jul 6th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var config = require('./config');
  2. var DiscordClient = require('discord.io');
  3. var infiniteFlipLoop = false;
  4. var fs = require('fs');
  5. var currentTime;
  6. var bot = new DiscordClient({
  7.  
  8.  
  9.     autorun: true,
  10.     email: config.email,
  11.     password: config.password
  12.  
  13.     });
  14.  
  15. bot.on('ready', function() {
  16.  
  17.     var date = new Date()
  18.  
  19.  
  20.     month = date.getMonth() + 1;
  21.  
  22.     currentTime = date.getDate() + "-" + month + "-" + date.getFullYear() + "T" + date.getHours() + "-" + date.getMinutes() + "-" + date.getSeconds();
  23.     log(currentTime);
  24.  
  25.  
  26.     log("Logged in as: " + bot.username + " - (" + bot.id + ")");
  27.  
  28.     bot.setPresence({
  29.  
  30.             game: config.game
  31.  
  32.     });
  33.     log("Set game to: " + config.game + ".");
  34.  
  35.     var cmdLength = config.commands.length;
  36.  
  37.  
  38.    
  39.  
  40. });
  41.  
  42. bot.on('message', function(user, userID, channelID, message, rawEvent) {
  43.  
  44.         if (message == "/checkloop") {
  45.  
  46.             var commandSendTextOn = "Infinte Table Loop Function is currently Enabled"
  47.             var commandSendTextOff = "Infinte Table Loop Function is currently Disabled"
  48.  
  49.             if (infiniteFlipLoop) {
  50.  
  51.                     bot.sendMessage({to: channelID, message: commandSendTextOn});
  52.                     log("Sent Message: \" " + commandSendTextOn + "\" to channel ID: " + channelID.toString() + ".");
  53.                     setTimeout(function() { deleteCmdMessage(channelID, commandSendTextOn); }, 5000);
  54.  
  55.             } else {
  56.  
  57.                 bot.sendMessage({to: channelID, message: commandSendTextOff});
  58.                 log("Sent Message: \" " + commandSendTextOff + "\" to channel ID: " + channelID.toString() + ".");
  59.                 setTimeout(function() { deleteCmdMessage(channelID, commandSendTextOff); }, 5000);
  60.             }
  61.  
  62.             deleteCmdMessage(channelID, message);
  63.         }
  64.  
  65.         if (userID == config.ownerID && !infiniteFlipLoop && message.toLowerCase() == "/fliploop on") {
  66.  
  67.             var commandSendText = "Infinite Table Loop Function Enabled.";
  68.  
  69.             bot.sendMessage({to: channelID, message: commandSendText});
  70.             log("Sent Message: \" " + commandSendText + "\" to channel ID: " + channelID.toString() + ".");
  71.  
  72.             infiniteFlipLoop = true;
  73.             deleteCmdMessage(channelID, message);
  74.  
  75.             setTimeout(function() {
  76.  
  77.                 deleteCmdMessage(channelID, commandSendText);
  78.                
  79.             }, 5000);
  80.            
  81.  
  82.  
  83.         }
  84.  
  85.  
  86.         if (userID == config.ownerID && infiniteFlipLoop && message.toLowerCase() == "/fliploop off") {
  87.  
  88.  
  89.             infiniteFlipLoop = false;
  90.  
  91.                 var commandSendText = "Infinite Table Loop Function Disabled.";
  92.                
  93.                 bot.sendMessage({to: channelID, message: commandSendText});
  94.                 log("Sent Message: \" " + commandSendText + "\" to channel ID: " + channelID.toString() + ".");
  95.                 deleteCmdMessage(channelID, message);
  96.  
  97.             setTimeout(function() {
  98.  
  99.                 deleteCmdMessage(channelID, commandSendText);
  100.                
  101.             }, 5000);
  102.            
  103.  
  104.         }
  105.  
  106.         if ((infiniteFlipLoop) && (message == "┬─┬ ︵ /(.□. \\\\)" || message == "┬─┬ノ( º _ ºノ)" || message == "┬─┬ ノ( ゜-゜ノ)" || message == "┬─┬ ノ( ^_^ノ)" || message == "┬──┬ ¯\\\\_(ツ)" || message == "(╯°□°)╯︵ /(.□. \\\\)")) {
  107.  
  108.  
  109.             setTimeout(function() { bot.sendMessage({to: channelID, message: "(╯°□°)╯︵ ┻━┻"}); }, 5000);
  110.             log("Sent Infinte Loop message");
  111.            
  112.  
  113.  
  114.         }
  115.  
  116.    
  117.  
  118.  
  119.  
  120.  
  121.         if (userID == config.ownerID) {
  122.  
  123.             messageLowerCase = message.toLowerCase();
  124.  
  125.                 if (message.startsWith("/clean")) {
  126.  
  127.                     messageSplit = message.split(" ");
  128.  
  129.                     log(messageSplit);
  130.                     deleteCmdMessage(channelID, message);
  131.  
  132.  
  133.                     bot.getMessages({
  134.  
  135.                     channel: channelID,
  136.                     limit: messageSplit[1]
  137.  
  138.                     }, function(error, messageArr) {
  139.  
  140.                         if (error) return log(error);
  141.  
  142.                        
  143.                        
  144.  
  145.  
  146.                         for (var i = 0; i < messageArr.length; i++) {
  147.  
  148.  
  149.                                         if (messageArr[i].author.username == "Hashida Itaru") {
  150.  
  151.                                                 bot.deleteMessage({
  152.  
  153.                                                         channel: channelID,
  154.                                                         messageID: messageArr[i].id
  155.  
  156.                                                 });
  157.  
  158.                                                 log("Cleaned message: \" " + messageArr[i].content + "\" (" + messageArr[i].id + ")" + " by " + messageArr[i].author.username + " (" + messageArr[i].author.id + ").");                                        
  159.  
  160.                                         }
  161.  
  162.                                 }
  163.  
  164. });
  165.  
  166.  
  167.  
  168.                 }
  169.  
  170.                 if (messageLowerCase.startsWith("/gamechange ")) {
  171.  
  172.                             messageSplit = message.split("/gamechange");
  173.  
  174.                         bot.setPresence({
  175.  
  176.                                 game: messageSplit[1]
  177.  
  178.                         });
  179.  
  180.                         deleteCmdMessage(channelID, message);
  181.                         log("Changed game to: \" " + messageSplit[1] + ".");
  182.                        
  183.                 }
  184.  
  185.                 if(messageLowerCase.startsWith("/rp ")) {
  186.  
  187.  
  188.                         //var messageSplit = message.split("/rp ", 2)
  189.                         var messageSplit = message.substring(message.indexOf("/rp ")+ 4);
  190.  
  191.                         bot.sendMessage({
  192.  
  193.                                 to: channelID,
  194.                                 message: messageSplit
  195.  
  196.  
  197.                         });
  198.  
  199.                         log("Sent Message: \" " + messageSplit + "\" to channel ID: " + channelID.toString() + ".");
  200.  
  201.  
  202.                    
  203.                                 deleteCmdMessage(channelID, message);
  204.  
  205.  
  206.                 }
  207.  
  208.  
  209.  
  210.  
  211.         }
  212.    
  213.  
  214.     if (userID == config.ownerID && message == "/shutdown") {
  215.            
  216.                 deleteCmdMessage(channelID, message);
  217.             log("Shutting down.")
  218.            
  219.            
  220.            
  221.  
  222.             setTimeout(function() { process.exit(1); }, 5000);
  223.  
  224.  
  225.  
  226.     }
  227.  
  228.  
  229. });
  230.  
  231. function deleteCmdMessage(channelID, message) {
  232.  
  233.  
  234. bot.getMessages({
  235.  
  236.         channel: channelID,
  237.         limit: 3
  238.  
  239. }, function(error, messageArr) {
  240.  
  241. if (error) return log(error);
  242.  
  243.  
  244.     for (var i = 0; i < messageArr.length; i++) {
  245.  
  246.  
  247.                                         if (messageArr[i].content == message) {
  248.  
  249.                                                 bot.deleteMessage({
  250.  
  251.                                                         channel: channelID,
  252.                                                         messageID: messageArr[i].id
  253.  
  254.                                                 });            
  255.  
  256.                                                 log("Cleaned message: \" " + messageArr[i].content + "\" (" + messageArr[i].id + ")" + " by " + messageArr[i].author.username + " (" + messageArr[i].author.id + ").");                            
  257.  
  258.                                         }
  259.  
  260.                                 }
  261.  
  262. });
  263.  
  264.  
  265. }
  266.  
  267. function log(logMessage) {
  268.  
  269.         console.log(logMessage);
  270.  
  271.         fs.appendFile("logs/Darubot-" + currentTime + ".log", logMessage + "\n");
  272.  
  273. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement