Advertisement
ComputerMan123

HouseBot RW [EXPERIMENTAL]

Dec 4th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require("discord.js");
  2. const yt = require("ytdl-core");
  3. const opus = require("opusscript");
  4. const bot = new Discord.Client();
  5.  
  6. const token = 'Token';
  7. const prefix = '>>';
  8.  
  9. var strikes = [];
  10.  
  11. // HouseBot RW
  12. // By: houseofkraft
  13.  
  14. bot.on("ready", () => {
  15.     bot.user.setStatus("online", "HouseBot / " + bot.guilds.size + " servers");
  16. });
  17.  
  18. bot.on("message", message => {
  19.     // Functions
  20.     function checkPermission(member, perm) {
  21.         if (message.member.roles.filter(r => r.hasPermission(perm)).size > 0) {
  22.             return true
  23.             // Returns True
  24.         }
  25.         else {
  26.             return false
  27.             // Returns False
  28.         }
  29.     }  
  30.  
  31.     if (message.content.startsWith(prefix + "help")) {
  32.         message.channel.sendMessage("HouseBot RW Help\n```\nhelp - Get Help!\nping - Pong!\nwarn <username> <reason> - Warn's a user\ngetwarns <username> - Get's all the warns for the user");
  33.     }
  34.     if (message.content.startsWith(prefix + "ping")) {
  35.         message.channel.sendMessage("Pinging...");
  36.         var before = process.uptime();
  37.         message.edit("Pong!");
  38.         var after = process.uptime();
  39.         var delay = after - before;
  40.         message.channel.sendMessage("Delay: **" + delay.toFixed(0) + "** seconds");
  41.     }
  42.     if (message.content.startsWith(prefix + "about")) {
  43.         message.channel.sendMessage("**HouseBot by houseofkraft**");
  44.     }
  45.     // Striking System
  46.     if (message.content.startsWith(prefix + "warn")) {
  47.         if (checkPermission(message.author, "ADMINISTRATOR")) {
  48.             let args = message.content.split(" ").slice(1);
  49.             if (args.length < 2) {
  50.                 message.channel.sendMessage("Usage: " + prefix + "warn <username> <reason>");
  51.             } else {
  52.                 const user = args[0];
  53.                 const reason = args[1];
  54.                 if (!strikes[user]) {
  55.                     // Make the user in the strike array and add a strike
  56.                     strikes[user] = 1;
  57.                 } else {
  58.                     // Add a strike to the user
  59.                     var amount = strikes[user];
  60.                     strikes[user] = amount + 1;
  61.                 }
  62.                 message.user.sendMessage("You have been warned in **" + message.guild + "** for reason **" + reason + "**");
  63.                 message.channel.sendMessage("Sucessfully warned **" + user + "** for reason: **" + reason + "**");
  64.             }
  65.         } else {
  66.             message.channel.sendMessage("You do not have permission!");
  67.         }
  68.     }
  69.     if (message.content.startsWith(prefix + "getwarns")) {
  70.         let args = message.content.split(" ").slice(1);
  71.         if (args.length < 1) {
  72.             message.channel.sendMessage("Usage: " + prefix + "getwarns <username");
  73.         } else {
  74.             let user = args[0];
  75.             if (!strikes[user]) {
  76.                 message.channel.sendMessage(user + " has a clean record!");
  77.             } else {
  78.                 var warnings = strikes[user];
  79.                 message.channel.sendMessage(user + " has **" + warnings + "** strike(s)!");
  80.             }
  81.  
  82.         }
  83.     }
  84.     // Music System
  85.     if (message.content.startsWith(prefix + "play")) {
  86.         let args = message.content.split(" ").slice(1);
  87.         var url = args[0];
  88.         // Join the voice channel
  89.         const voiceChannel = message.member.voiceChannel;
  90.         if (!voiceChannel) {
  91.             return message.channel.sendMessage(":warning: You need to be in a voice channel!");
  92.         }
  93.         voiceChannel.join()
  94.         .then(connection => {
  95.             let stream = yt(url, { audioonly: true });
  96.             const dispatcher = connection.playStream(stream);
  97.             message.channel.sendMessage("**Now Playing Song**");
  98.             dispatcher.on("end", () => {
  99.                 voiceChannel.leave();
  100.                 message.channel.sendMessage("**The song is over.**");
  101.             });
  102.         });
  103.     }
  104. });
  105. bot.login(token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement