Advertisement
namejeff

MegaBOT Code

Oct 28th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Bot
  2. const mineflayer = require("mineflayer");
  3. const fs = require("fs");
  4. const Vec3 = require("vec3").Vec3;
  5.  
  6. //Setup Variables
  7. var host = "metoothanks.ca";
  8. var port = "25565";
  9. var ip = host + ":" + port;
  10. var user = "sddd";
  11. var pass = "awdawdawd";
  12. var space = " ";
  13.  
  14. //Setup
  15. var bot = mineflayer.createBot({
  16.     host: host,
  17.     port: port,
  18.     username: user,
  19.     password: pass,
  20.     verbose: true,
  21. });
  22.  
  23. //Bot Variables
  24. var prefix = "?";
  25. var version = "a5 Recoded";
  26. var admin = "aptget_";
  27.  
  28. //Command Variables
  29. var msg = "/tell ";
  30. var ignore = "/ignore ";
  31.  
  32. //Errors
  33. var error = "Error: ";
  34. var permissionerror = "Not enough permissions";
  35. var commanderror = "Unknown command";
  36. var genericerror = "Generic error";
  37. var kicked = "Kicked for";
  38. var argumenterror = "Incorrect arguments";
  39. var cannotignore = "Cannot ignore that player";
  40.  
  41. //Help Variables
  42. var helpList = [
  43.     " ]---[MegaBOT Commands]---[",
  44.     " ]---[Prefix: " + prefix + "]---[",
  45.     " ]---[Version: " + version + "]---["
  46. ];
  47.  
  48. //Etc Variables
  49. var colon = ":";
  50. var motds = [
  51.     "name jeff",
  52.     "deez nuts",
  53.     "i like big weener",
  54.     "le me me"
  55. ]
  56.  
  57. //Admin things credit to vlad
  58. var admins = [];
  59. fs.readFile('admins.txt', 'utf-8', (err, data) => {
  60.     admins = data.split('\n');
  61.     admins = admins.splice(0, admins.length - 1);
  62. });
  63. var blacklist = [
  64.     "jeff"
  65. ]
  66.  
  67. function updateTime() {
  68.     var date = new Date();
  69.     var year = date.getFullYear();
  70.     var month = date.getMonth() + 1;
  71.     var day = date.getDate();
  72.     var hours = date.getHours();
  73.     var minutes = date.getMinutes();
  74.     var seconds = date.getSeconds();
  75.     time = ("[" + day + colon + hours + colon + minutes + colon + seconds + "] ");
  76. }
  77. setInterval(updateTime, 1000)
  78. var motdNum = motds[Math.floor(Math.random() * motds.length)];
  79.  
  80. //Chat
  81. bot.on('chat', (username, message) => {
  82.     var name = username.trim();
  83.     if (!message.startsWith(prefix)) return;
  84.     if (name === bot.username || blacklist.includes(name)) return;
  85.  
  86.     var index = message.indexOf(" ");
  87.  
  88.     if (index < 0) {
  89.  
  90.         var keyword = message.substring(prefix.length);
  91.         var args = [];
  92.  
  93.     } else {
  94.  
  95.         var keyword = message.substring(prefix.length, index);
  96.         var args = message.substring(index + 1).split(" & ");
  97.     }
  98.  
  99.     console.log("Command: " + keyword);
  100.     console.log("Arguments: " + args.join(", "));
  101.     if (keyword === "quit") {
  102.         doQuit(username, message);
  103.     } else if (keyword === "motd") {
  104.         bot.chat("MOTD: " + motdNum)
  105.     } else if (keyword === "time") {
  106.         doTime(username, message, args);
  107.     } else if (keyword === "ignore") {
  108.         doIgnore(username, message, args)
  109.     } else if (keyword === "admin") {
  110.         giveAdmin(username, message, args)
  111.     }
  112.  
  113.  
  114.     function doTime(username, message, args) {
  115.         if (args[0] === "irl") {
  116.             bot.chat(time);
  117.         } else if (args[0] === "minecraft") {
  118.             bot.chat("[" + bot.time.day % 24000 + "]");
  119.         } else {
  120.             bot.chat(msg + username + error + argumenterror)
  121.         }
  122.     }
  123.  
  124.     function doQuit(username, message) {
  125.         if (name === admin) {
  126.             bot.chat(msg + username + space + shutdown + time)
  127.             console.log(time + shutdown);
  128.  
  129.             function runQuit() {
  130.                 bot.quit();
  131.             }
  132.             runQuit();
  133.         } else {
  134.             bot.chat(msg + username + space + error + permissionerror);
  135.         }
  136.     }
  137.  
  138.     function giveAdmin(username, message, args) {
  139.         if (admins.includes(username)) {
  140.             if (args[0] === " " || args[0] === "" || args[0] === null || args[0] === undefined) {
  141.                 bot.chat(msg + username + error + argumenterror)
  142.             } else {
  143.                 admins.push(args)
  144.                 var temp = "";
  145.                 for (var i = 0; i < admins.length; i++) {
  146.                     temp += admins[i] + "\n";
  147.                 }
  148.                 fs.writeFile('admins.txt', temp);
  149.                 bot.chat('Admin: ' + args)
  150.             }
  151.         }
  152.     }
  153.  
  154.     function doIgnore(username, message, args) {
  155.         if (admins.includes(username)) {
  156.             if (args[0] === " " || args[0] === "" || args[0] === null || args[0] === undefined) {
  157.                 bot.chat(msg + username + error + argumenterror);
  158.                 console.log(time + username + "| Argument error");
  159.             } else if (args[0] === admin) {
  160.                 bot.chat(msg + username + error + cannotignore);
  161.                 console.log(time + username + "| Cannot ignore " + args[0]);
  162.             } else {
  163.                 bot.chat(ignore + args[0])
  164.                 bot.chat(msg + username + "I ignored " + args[0]);
  165.                 console.log(time + username + "| Ignored " + args[0]);
  166.             }
  167.         } else {
  168.             bot.chat(msg + username + error + permissionerror);
  169.             console.log(time + username + "| Does not have permissions for " + ignore);
  170.         }
  171.     }
  172. })
  173.  
  174. //Bot Events
  175. bot.on('kicked', (reason) => {
  176.     console.log(time + error + kicked + ` ${reason}`)
  177. })
  178.  
  179. bot.on('login', (username, message) => {
  180.     doLoginFunc();
  181.  
  182.     function doLoginFunc() {
  183.         bot.chat(time + "MOTD: " + motdNum)
  184.     }
  185. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement