Advertisement
Guest User

aa

a guest
Mar 1st, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require(`discord.js`);
  2. const bot = new Discord.Client();
  3. const GDClient = require("node-geometry-dash");
  4. const cfg = require ("./config.json");
  5. const prefix = ("%");
  6. const GD = new GDClient({
  7.     username: "...",  // doesn't work yet :/
  8.     password: "..."   // doesn't work yet :/
  9.   });
  10.  
  11. function hook(channel, title, message, color, avatar) {
  12.     if (!channel) return console.log(`Channel not specified`);
  13.     if (!title) return console.log(`Title not specified`);
  14.     if (!message) return console.log(`Message not specified`);
  15.     if (!color) color = 'b54a4a';
  16.     if (!avatar) avatarlol = 'https://cdn4.iconfinder.com/data/icons/flat-icon-set/128/chat-icon.png'
  17.  
  18.     color = color.replace(/\s/g, '');
  19.     avatarlol = avatarlol.replace(/\s/g, '');
  20.     channel.fetchWebhooks()
  21.         .then(Webhook => {
  22.             let foundHook = Webhook.find('name', 'Webhook');
  23.             if (!foundHook) {
  24.                 channel.createWebhook('Webhook', 'https://cdn4.iconfinder.com/data/icons/flat-icon-set/128/chat-icon.png')
  25.                     .then(Webhook => {
  26.                         Webhook.send('', {
  27.                                 "username": title,
  28.                                 "avatarURL": avatarlol,
  29.                                 "embeds": [{
  30.                                     "color": parseInt(`0x${color}`),
  31.                                     "description": message
  32.                                 }]
  33.                             })
  34.                             .catch(error => {
  35.                                 console.log(error);
  36.                                 return channel.send(`Something went wrong, please check the console`);
  37.                             })
  38.                     })
  39.             } else {
  40.                 foundHook.send('', {
  41.                         "username": title,
  42.                         "avatarURL": avatarlol,
  43.                         "embeds": [{
  44.                             "color": parseInt(`0x${color}`),
  45.                             "description": message
  46.                         }]
  47.                     })
  48.                     .catch(error => {
  49.                         console.log(error);
  50.                         return channel.send(`Something went wrong, please check the console`);
  51.                     })
  52.             }
  53.         })
  54. }
  55.  
  56. bot.on('ready', () => {
  57.     console.log(`Logged in as ${bot.user.tag} (${bot.user.id}) on ${bot.guilds.size} servers`);
  58.     bot.user.setActivity(`${cfg.prefix}help | Currently on ${bot.guilds.size} Servers!`)
  59. });
  60.  
  61. bot.on('message', message => {
  62.     let msg = message.content.toLowerCase();
  63.     let sender = message.author;
  64.     let cont = message.content.slice(prefix.length).split(/ +/)
  65.     let args = cont.slice(1)
  66.  
  67.     //                                       ---Commands---
  68.  
  69.     if (msg === prefix + `ping`) {
  70.         message.channel.send(`Pong!`)
  71.     }
  72.  
  73.     if (msg.startsWith(prefix + `purge`)) {
  74.         async function purge() {
  75.             message.delete();
  76.  
  77.             if (!message.member.roles.find('name', `admin`)) {
  78.                 message.channel.send(`${sender}, sorry but you are not an admin`)
  79.                 return;
  80.             }
  81.  
  82.             if (isNaN(args[0])) {
  83.                 message.channel.send(`Please provide a number\nUsage: ${prefix}purge <Amount>`);
  84.                 return;
  85.             }
  86.  
  87.             const fetched = await message.channel.fetchMessages({
  88.                 limit: args[0]
  89.             });
  90.             console.log(fetched.size + ` messages found, deleting...`);
  91.  
  92.             message.channel.bulkDelete(fetched)
  93.                 .catch(error => message.channel.send(`Error: ${error}`));
  94.         }
  95.         purge();
  96.     }
  97.  
  98.     if (msg.startsWith(prefix + `hook`)) {
  99.         message.delete();
  100.  
  101.         if (msg === prefix + 'hook') {
  102.             return hook(message.channel, 'Hook Usage', `${prefix}hook <title>, <message>, [HEXcolor], [avatarURL]\n\n**<> is required\n[] is optional**`)
  103.         }
  104.         let hookArgs = message.content.slice(prefix.length + 4).split(",");
  105.  
  106.         hook(message.channel, hookArgs[0], hookArgs[1], hookArgs[2], hookArgs[3], )
  107.         return;
  108.     }
  109.  
  110.     if (msg.startsWith(prefix + `help`)) {
  111.         var embed = new Discord.RichEmbed()
  112.             .setFooter("Bot by Alten | <> is required, [] is not required")
  113.             .addField("Ping", "pings the bot to show the response time")
  114.             .addField("Purge", "purges a certain amount of messages (Requires admin role)")
  115.             .addField("Hook", "idk what this really does (requires admin role)")
  116.             .addField("Help", "displays this message")
  117.             .addField("Level", "displays information of the level")
  118.             .addField("User", "displays information about the user")
  119.             .setColor(0xea6767)        
  120.  
  121.         message.channel.send(embed)
  122.     };
  123.  
  124.     if (msg.startsWith(prefix + `level`)) {
  125.         if (GD.levels(`${args}`).then( levels => {
  126.             var embed = new Discord.RichEmbed()
  127.             .setColor(0xb1dfef)
  128.             .addField("Name", levels[0].name)
  129.             .addField("Description", levels[0].description)
  130.             .addField("ID", levels[0].id)
  131.             .addField("Featured", levels[0].featured)
  132.             .addField("Downloads", levels[0].downloads)
  133.             .addField("Likes", levels[0].likes)
  134.             .addField("Stars", levels[0].stars)
  135.             .addField("Length", levels[0].length)
  136.             .addField("Coins", levels[0].coins)
  137.             .setFooter("Bot by Alten | <> is required, [] is not required");        
  138.  
  139.             message.channel.send(embed)
  140.         }));
  141.     };
  142.  
  143.     if (msg.startsWith(prefix + `user`)){
  144.         GD.users(`${args}`).then( users => {
  145.             var embed = new Discord.RichEmbed()
  146.             .setColor(0xb1dfef)
  147.             .addField("Username", users[0].username)
  148.             .addField("ID", users[0].id)
  149.             .addField("Official coins", users[0].coins)
  150.             .addField("Coins", users[0].userCoins)
  151.             .addField("Stars", users[0].stars)
  152.             .addField("Demons", users[0].demons)
  153.             .addField("CP", users[0].creatorPoints)
  154.             .setFooter("Bot by Alten | <> is required, [] is not required");        
  155.  
  156.             message.channel.send(embed)
  157.           });
  158.     };
  159.  
  160.     if (msg.startsWith(prefix)) {
  161.         console.log(`Command: ${cont}`)
  162.     }
  163. });
  164.  
  165. bot.login(cfg.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement