Advertisement
Guest User

Darubot.js updated

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