Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
507
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.30 KB | None | 0 0
  1. const log = require('fancy-log');
  2. const https = require('https');
  3. const yt = require('ytdl-core');
  4. const Discord = require('discord.js');
  5. const snek = require('snekfetch');
  6. var getJSON = require('get-json');
  7. const bot = new Discord.Client();
  8. let queue = {};
  9. module.exports = {
  10. ban: (msg) => {
  11. let firstMen = msg.mentions.members.first();
  12. let args = msg.content.split(' ').slice(1);
  13. let logsChannel = msg.guild.channels.find("name", "mod-logs");
  14. let reason = args.slice(1).join(' ');
  15. var argresult = args.join(' ');
  16. if(msg.member.permissions.has("BAN_MEMBERS")) {
  17. if(argresult == msg.author){
  18. msg.channel.send("you cant ban yourself!");
  19. }else if(!firstMen){
  20. msg.channel.send("Please specify a user")
  21. }else {
  22. firstMen.ban().then(bannedUser => {
  23. if(args[1]){
  24. if(reason.length < 1) {
  25. return;
  26. }else {
  27. msg.channel.send(`${bannedUser} has been banned by ${msg.author} for \`${reason}\``);
  28. if(!logsChannel) {
  29. msg.channel.send("No logs channel found! Please create a channel called `mod-logs`")
  30. }else {
  31. logsChannel.send(`🚫 > ${bannedUser} (${bannedUser.id}) has been banned by ${msg.author} for \`${reason}\` on ${new Date}`);
  32. }
  33. }
  34. }else {
  35. msg.channel.send(`${bannedUser} has been banned by ${msg.author}`);
  36. if(!logsChannel) {
  37. msg.channel.send("No logs channel found! Please create a channel called `mod-logs`")
  38. }else {
  39. logsChannel.send(`🚫 > ${bannedUser} (${bannedUser.id}) has been banned by ${msg.author} on ${new Date}`);
  40. }
  41. }
  42. }).catch(e => {
  43. msg.channel.send("Oop! I ran into some error! please check console!");
  44. log(e);
  45. })
  46. }
  47. }else {
  48. msg.channel.send("No Permissions!");
  49. }
  50. },
  51. eeval: (msg) => {
  52. console.log("11");
  53. if(msg.author.id !== "203816413188718592") {
  54. return;
  55. }else{
  56. if(!args[0]) {
  57. return msg.reply('must provide code to run.').then(m => m.delete(3000));
  58. }
  59. const code = args.join(' ');
  60. try {
  61. let result = eval(code);
  62. if(typeof result !== 'string') result = inspect(result, {
  63. depth: 2,
  64. maxArrayLength: 2048
  65. });
  66. result = result.replace(bot.token, 'Bot Token');
  67. if(result.length > 2000) {
  68. snek.post('https://haste.lizard.space/documents').send(result).then(res => {
  69. msg.channel.send(`Result too long, generated hastebin link instead: https://haste.lizard.space/${res.body.key}.js`);
  70. }).catch(err => {
  71. msg.channel.send('Could not haste');
  72. console.error(err);
  73. });
  74. } else {
  75. msg.channel.send(result, { code: 'js'}).catch(() => null); // if the eval has no output
  76. }
  77. } catch(err) {
  78. msg.channel.send(err, { code: 'js'});
  79. }
  80. }
  81. },
  82. '8ball': (msg) => {
  83. let args = msg.content.split(' ').slice(1);
  84. var response = [
  85. "sure why not",
  86. "yes",
  87. "yeah baby!",
  88. "uhm.. yes",
  89. "tbh yes",
  90. "idk",
  91. "I dont know?",
  92. "uh idk",
  93. "probably?",
  94. "most likely yes.",
  95. "no",
  96. "nahhh",
  97. "no way",
  98. "probably not"
  99. ];
  100. var rand = response[Math.floor(Math.random() * response.length)];
  101. if(!args[0]){
  102. msg.channel.send("For the magic 8ball to work you need to have a question ~_~");
  103. }else {
  104. var rand = response[Math.floor(Math.random() * response.length)];
  105. msg.channel.send(rand);
  106. }
  107.  
  108. },
  109. help: (msg) => {
  110.  
  111. },
  112. kick: (msg) => {
  113. let firstMen = msg.mentions.members.first();
  114. let args = msg.content.split(' ').slice(1);
  115. let logsChannel = msg.guild.channels.find("name", "mod-logs");
  116. let reason = args.slice(1).join(' ');
  117. var argresult = args.join(' ');
  118. if(msg.member.permissions.has("KICK_MEMBERS")) {
  119. if(argresult == msg.author){
  120. msg.channel.send("you cant kick yourself!");
  121. }else if(!firstMen){
  122. msg.channel.send("Please specify a user");
  123. }else {
  124. firstMen.kick().then(kickedUser => {
  125. if(args[1]){
  126. if(reason.length < 1) {
  127. return;
  128. }else {
  129. if(!logsChannel) {
  130. msg.channel.send(`${kickedUser} has been kicked by ${msg.author} for \`${reason}\``);
  131. msg.channel.send("No logs channel found! Please create a channel called `mod-logs`")
  132. }else {
  133. logsChannel.send(`πŸ‘’ > ${kickedUser} (${kickedUser.id}) has been kicked by ${msg.author} for \`${reason}\` on ${new Date}`);
  134. }
  135. }
  136. }else {
  137. msg.channel.send(`${kickedUser} has been kicked by ${msg.author}`);
  138. if(!logsChannel) {
  139. msg.channel.send("No logs channel found! Please create a channel called `mod-logs`")
  140. }else {
  141. logsChannel.send(`πŸ‘’ > ${kickedUser} (${kickedUser.id}) has been kicked by ${msg.author} on ${new Date}`);
  142. }
  143. }
  144. }).catch(e => {
  145. msg.channel.send("Oop! I ran into some error! please check console!").then(m => m.delete(4000));
  146. log(e);
  147. })
  148. }
  149. }else {
  150. msg.channel.send("No Permissions!");
  151. }
  152. },
  153. warn: (msg) => {
  154. let reason = args.slice(1).join(' ');
  155. var fs = require('fs');
  156. var user = `{"User":[{"UserName":${arg[0]},"reason":${reason}}]}`;
  157.  
  158. fs.readFile('./users.json', 'utf-8', function(err, data) {
  159. if (err) throw err
  160. var arrayOfObjects = JSON.parse(data)
  161. arrayOfObjects.users.push(user);
  162.  
  163. console.log(arrayOfObjects)
  164.  
  165. fs.writeFile('./users.json', JSON.stringify(arrayOfObjects), 'utf-8', function(err) {
  166. if (err) throw err
  167. console.log('Done!')
  168. })
  169. })
  170. },
  171. stats: (msg) => {
  172. msg.guild.members.fetch().then(members => {
  173. var online = members.filter(mem=> mem.presence.status === "online");
  174. var dnd = members.filter(mem=> mem.presence.status === "dnd");
  175. var away = members.filter(mem=> mem.presence.status === "idle");
  176. var offline = members.filter(mem=> mem.presence.status === "offline");
  177. let embed = new Discord.MessageEmbed()
  178. .setThumbnail(msg.guild.iconURL())
  179. .setTitle("Server Statistics")
  180. .addField("Server name", msg.guild.name, true)
  181. .addField("Server ID", msg.guild.id, true)
  182. .addField("Server owner", msg.guild.owner)
  183. .addField("Online users", `<:greentick:402765219518087169> > ${online.size} \r\n<:dnd:402777590881845250> > ${dnd.size} \r\n<:away:402777600084279297> > ${away.size} \r\n<:offline:402777583915237396> > ${offline.size}`, true)
  184. .addField("User count", msg.guild.memberCount, true)
  185. .setColor("#8FA8BC")
  186. msg.channel.send({embed});
  187. })
  188. },
  189. cat: (msg) => {
  190. var url = 'http://random.cat/meow';
  191. getJSON(url, function(error, response){
  192. msg.channel.send(`Heres a cat!🐱 ${response.file}`);
  193. })
  194. },
  195. dog: (msg) => {
  196. var url = 'https://random.dog/woof.json';
  197. getJSON(url, function(error, response){
  198. var dogJson = response.url;
  199. msg.channel.send(`Heres a doggo!🐢 ${response.url}`);
  200. })
  201. },
  202. mute: (msg) => {
  203. var role2 = msg.guild.roles.find("name", "muted");
  204. const logsChannel = msg.guild.channels.find('name', 'mod-logs');
  205. let firstMen = msg.mentions.members.first();
  206. if(!role2){
  207. msg.channel.send("No Muted role found!");
  208. }else if
  209. (msg.member.permissions.has("MUTE_MEMBERS")) {
  210. if(!firstMen) {
  211. msg.channel.send(`❌ > Please provide a user to mute`);
  212. }else if(firstMen.roles.has(role2.id)){
  213. msg.channel.send("❓ > User is already muted");
  214. }else {
  215. firstMen.addRole(role2).then(mutedUser => {
  216. msg.channel.send(`🀐 > ${mutedUser} has been muted by ${msg.author}`);
  217. if(!logsChannel) {
  218. msg.channel.send("No logs channel found! Please create a channel called `mod-logs`")
  219. }else{
  220. logsChannel.send(`🀐 > ${mutedUser} has been muted by ${msg.author} on ${new Date}`);
  221. log(`INFO > ${mutedUser} has been muted on ${msg.guild.id} by ${msg.author} `);
  222. }
  223. }).catch(e => {
  224. msg.channel.send("Oop! I ran into some error! please check console!");
  225. log(e);
  226. })
  227. }
  228. }else {
  229. msg.channel.send("No Permissions!");
  230. }
  231. },
  232. unmute: (msg) => {
  233. var role2 = msg.guild.roles.find("name", "muted");
  234. const logsChannel = msg.guild.channels.find('name', 'mod-logs');
  235. let firstMen = msg.mentions.members.first();
  236. if(msg.member.permissions.has("MUTE_MEMBERS")) {
  237. if(!firstMen){
  238. msg.channel.send(`❌ > Please provide a user to unmute`);
  239. }else if(!firstMen.roles.has(role2.id)) {
  240. msg.channel.send("❓ > User is not muted");
  241. }else {
  242. firstMen.removeRole(role2).then(unmutedUser => {
  243. msg.channel.send(`😁 > ${unmutedUser} has been unmuted by ${msg.author}`);
  244. log(`INFO > ${unmutedUser} has been unmuted on ${msg.guild.id} by ${msg.author} `);
  245. logsChannel.send(`😁 > ${unmutedUser} (${unmutedUser.id}) has been unmuted by ${msg.author} on ${new Date()}`);
  246. })
  247. }
  248. }else {
  249. msg.channel.send("No Permissions!");
  250. }
  251. },
  252. unban: (msg) => {
  253. const logsChannel = msg.guild.channels.find('name', 'mod-logs');
  254. let firstMen = msg.mentions.members.first();
  255. let args = msg.content.split(' ').slice(1);
  256. if(!msg.member.permissions.has("BAN_MEMBERS")) {
  257. msg.channel.send("No Permissions!");
  258. }else if(args[0] == msg.author) {
  259. msg.channel.send("you cant unban yourself doof");
  260. } else if(!args[0]){
  261. msg.channel.send(`❌ > Please provide an ID to unban`);
  262. }else {
  263. msg.guild.unban(args[0]).then(user => {
  264. msg.channel.send(`<@${user}> has been unbanned`);
  265. logsChannel.send(`<@${user}> has been unbanned by ${msg.author} (${msg.author.id}) on ${new Date}`);
  266. }).catch(e => {
  267. msg.channel.send("Oop! I ran into some error! please check console!");
  268. log(e);
  269. })
  270. }
  271. },
  272. commands: (msg) => {
  273. if(msg.author.id === "210319700754825218" || msg.author.id === "203816413188718592") {
  274. let embed = new Discord.MessageEmbed()
  275. .setThumbnail(msg.guild.iconURL())
  276. .setTitle("Commands!")
  277. .addField("!cat", "a Random picture of a cat!")
  278. .addField("!dog", "a Random picture of a doggo!")
  279. .addField("!8ball", "Hell yeah!")
  280. .addField("!youtube", "Show Royal Music's YouTube statistics!")
  281. .setColor("8FA8BC");
  282.  
  283. msg.channel.send({embed});
  284. }else {
  285. return;
  286. }
  287. },
  288. del: (msg) => {
  289. let args = msg.content.split(' ').slice(1);
  290. const logsChannel = msg.guild.channels.find('name', 'mod-logs');
  291. let numberM = parseInt(args);
  292. if(msg.member.permissions.has("MANAGE_MESSAGES")) {
  293. if(!args[0]){
  294. msg.channel.send(`❌ > Please provide a number between 1-99`);
  295. }else if(isNaN(args[0])){
  296. msg.channel.send("❌ > Please provide a number")
  297. }else {
  298. console.log(`${msg.author} (${msg.author.id}) deleted ${args} amount of messages on ${new Date()} on server ${msg.guild.name} (${msg.guild.id})`);
  299. msg.channel.bulkDelete(number + 1);
  300. logsChannel.send(`πŸ’ˆ > ${msg.author} (${msg.author.id}) deleted ${args} messages on ${new Date()}`);
  301. }
  302. }else {
  303. msg.channel.send("Phineas is an ass");
  304. }
  305. },
  306. youtube: (msg) => {
  307. var url = 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id=UCrC_ZFYISEAUuCu00y52Evg&key=AIzaSyBZedL_j-gRRXvY7Ra8vkqoYCP5d87PZ6k';
  308.  
  309. https.get(url, function(res){
  310. var body = '';
  311. res.on('data', function(chunk){
  312. body += chunk;
  313. });
  314. res.on('end', function(){
  315. var fbResponse = JSON.parse(body);
  316. var subs = fbResponse.items[0].statistics.subscriberCount;
  317. var vidNum = fbResponse.items[0].statistics.videoCount;
  318. var viewNum = fbResponse.items[0].statistics.viewCount;
  319. let embed = new Discord.MessageEmbed()
  320. .setThumbnail("https://pbs.twimg.com/profile_images/912639824355610624/xUIZI-uP_400x400.jpg")
  321. .setTitle("YouTube Statistics")
  322. .addField("Description", "Welcome to Royal Music, home of Lyric & Visual Videos of New Electronic Music including chill EDM, Future Bass, Pop & Trap. Our videos with lyrics also have closed captions")
  323. .addField("Subscriber Count", subs, true)
  324. .addField("Video Count", vidNum, true)
  325. .addField("View Count", viewNum)
  326. .setColor("#8FA8BC")
  327. msg.channel.send({embed});
  328.  
  329. });
  330. }).on('error', function(e){
  331. console.log("Got an error: ", e);
  332. });
  333. },
  334. default: () => {
  335.  
  336. },
  337. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement