Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require(`discord.js`);
- const bot = new Discord.Client();
- const GDClient = require("node-geometry-dash");
- const cfg = require ("./config.json");
- const prefix = ("%");
- const GD = new GDClient({
- username: "...", // doesn't work yet :/
- password: "..." // doesn't work yet :/
- });
- function hook(channel, title, message, color, avatar) {
- if (!channel) return console.log(`Channel not specified`);
- if (!title) return console.log(`Title not specified`);
- if (!message) return console.log(`Message not specified`);
- if (!color) color = 'b54a4a';
- if (!avatar) avatarlol = 'https://cdn4.iconfinder.com/data/icons/flat-icon-set/128/chat-icon.png'
- color = color.replace(/\s/g, '');
- avatarlol = avatarlol.replace(/\s/g, '');
- channel.fetchWebhooks()
- .then(Webhook => {
- let foundHook = Webhook.find('name', 'Webhook');
- if (!foundHook) {
- channel.createWebhook('Webhook', 'https://cdn4.iconfinder.com/data/icons/flat-icon-set/128/chat-icon.png')
- .then(Webhook => {
- Webhook.send('', {
- "username": title,
- "avatarURL": avatarlol,
- "embeds": [{
- "color": parseInt(`0x${color}`),
- "description": message
- }]
- })
- .catch(error => {
- console.log(error);
- return channel.send(`Something went wrong, please check the console`);
- })
- })
- } else {
- foundHook.send('', {
- "username": title,
- "avatarURL": avatarlol,
- "embeds": [{
- "color": parseInt(`0x${color}`),
- "description": message
- }]
- })
- .catch(error => {
- console.log(error);
- return channel.send(`Something went wrong, please check the console`);
- })
- }
- })
- }
- bot.on('ready', () => {
- console.log(`Logged in as ${bot.user.tag} (${bot.user.id}) on ${bot.guilds.size} servers`);
- bot.user.setActivity(`${cfg.prefix}help | Currently on ${bot.guilds.size} Servers!`)
- });
- bot.on('message', message => {
- let msg = message.content.toLowerCase();
- let sender = message.author;
- let cont = message.content.slice(prefix.length).split(/ +/)
- let args = cont.slice(1)
- // ---Commands---
- if (msg === prefix + `ping`) {
- message.channel.send(`Pong!`)
- }
- if (msg.startsWith(prefix + `purge`)) {
- async function purge() {
- message.delete();
- if (!message.member.roles.find('name', `admin`)) {
- message.channel.send(`${sender}, sorry but you are not an admin`)
- return;
- }
- if (isNaN(args[0])) {
- message.channel.send(`Please provide a number\nUsage: ${prefix}purge <Amount>`);
- return;
- }
- const fetched = await message.channel.fetchMessages({
- limit: args[0]
- });
- console.log(fetched.size + ` messages found, deleting...`);
- message.channel.bulkDelete(fetched)
- .catch(error => message.channel.send(`Error: ${error}`));
- }
- purge();
- }
- if (msg.startsWith(prefix + `hook`)) {
- message.delete();
- if (msg === prefix + 'hook') {
- return hook(message.channel, 'Hook Usage', `${prefix}hook <title>, <message>, [HEXcolor], [avatarURL]\n\n**<> is required\n[] is optional**`)
- }
- let hookArgs = message.content.slice(prefix.length + 4).split(",");
- hook(message.channel, hookArgs[0], hookArgs[1], hookArgs[2], hookArgs[3], )
- return;
- }
- if (msg.startsWith(prefix + `help`)) {
- var embed = new Discord.RichEmbed()
- .setFooter("Bot by Alten | <> is required, [] is not required")
- .addField("Ping", "pings the bot to show the response time")
- .addField("Purge", "purges a certain amount of messages (Requires admin role)")
- .addField("Hook", "idk what this really does (requires admin role)")
- .addField("Help", "displays this message")
- .addField("Level", "displays information of the level")
- .addField("User", "displays information about the user")
- .setColor(0xea6767)
- message.channel.send(embed)
- };
- if (msg.startsWith(prefix + `level`)) {
- if (GD.levels(`${args}`).then( levels => {
- var embed = new Discord.RichEmbed()
- .setColor(0xb1dfef)
- .addField("Name", levels[0].name)
- .addField("Description", levels[0].description)
- .addField("ID", levels[0].id)
- .addField("Featured", levels[0].featured)
- .addField("Downloads", levels[0].downloads)
- .addField("Likes", levels[0].likes)
- .addField("Stars", levels[0].stars)
- .addField("Length", levels[0].length)
- .addField("Coins", levels[0].coins)
- .setFooter("Bot by Alten | <> is required, [] is not required");
- message.channel.send(embed)
- }));
- };
- if (msg.startsWith(prefix + `user`)){
- GD.users(`${args}`).then( users => {
- var embed = new Discord.RichEmbed()
- .setColor(0xb1dfef)
- .addField("Username", users[0].username)
- .addField("ID", users[0].id)
- .addField("Official coins", users[0].coins)
- .addField("Coins", users[0].userCoins)
- .addField("Stars", users[0].stars)
- .addField("Demons", users[0].demons)
- .addField("CP", users[0].creatorPoints)
- .setFooter("Bot by Alten | <> is required, [] is not required");
- message.channel.send(embed)
- });
- };
- if (msg.startsWith(prefix)) {
- console.log(`Command: ${cont}`)
- }
- });
- bot.login(cfg.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement