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 difficulty = require ("./Diff/diff.json")
- const prefix = ("%");
- const fs = require('fs')
- const diffdir = fs.readdir('./Diff')
- const GD = new GDClient({
- username: "...", // doesn't work yet :/
- password: "..." // doesn't work yet :/
- });
- let experimental = true;
- 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`);
- })
- }
- })
- }
- var randompingmessage = [
- "ths took me about",
- "i was doing a sleep for",
- "no u",
- "**insert random message here**",
- "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuh idk maybe"
- ];
- 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 argss = cont.slice(1)
- let messg = argss.slice(1);
- // -- ---Commands--- --
- if (msg === prefix + `ping`) {
- message.channel.send(randompingmessage[Math.floor(Math.random() * randompingmessage.length)] + ` ${bot.pings}ms`);
- }
- 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(argss[0])) {
- message.channel.send(`Please provide a number\nUsage: ${prefix}purge <Amount>`);
- return;
- }
- const fetched = await message.channel.fetchMessages({
- limit: argss[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")
- .addField("Purge <Number>", "purges a certain amount of messages (Requires admin role)")
- .addField("Hook <title>, <message> [HEXcolor], [avatarURL (doesn't work)]", "idk what this really does (requires admin role)")
- .addField("Help", "displays this message")
- .addField("Level <Name/ID>", "displays information of the level")
- .addField("User <Name/ID>", "displays information about the user")
- .setColor(0xea6767)
- message.channel.send(embed)
- };
- if (msg.startsWith(prefix + `level`)) {
- if (experimental === false) {
- return;
- } else {
- let daNivel = argss[0];
- if(argss[1]) {
- for(i = 1; i < argss.length; i++) {
- daNivel = daNivel + " " + argss[i];
- }
- }
- GD.levels(daNivel).then(levels => {
- var embed = new Discord.RichEmbed()
- .setColor(0xb1dfef)
- .addField("Name", levels[0].name)
- .addField("diff", levels[0].difficulty)
- .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`)){
- if (experimental === false) {
- return;
- } else {
- GD.users(`${argss}`).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 + 'say')) {
- let args2 = message.content.split(" ");
- let props1 = args2.slice(1);
- message.delete();
- var text = props1.toString().replace(",", " ");
- message.channel.send(text);
- }
- if (msg.startsWith(prefix + 'eval')) {
- if (message.author.id !== "184061887212814336") return;
- try {
- var code = argss.join(" ");
- var evaled = eval(code);
- if (typeof evaled !== "string")
- evaled = require("util").inspect(evaled);
- message.channel.sendCode("xl", clean(evaled));
- } catch(error) {
- message.channel.sendMessage(`\`ERROR\` \`\`\`xl\n${clean(error)}\n\`\``);
- }
- }
- if (msg.startsWith(prefix + 'experimental')) {
- if (experimental === false) {
- experimental = true;
- message.channel.send('Experimental mode has been turned on');
- } else {
- experimental = false;
- message.channel.send('Experimental mode has been turned off');
- }
- };
- if (msg.startsWith(prefix)) {
- console.log(`Command: ${cont}`)
- }
- });
- function clean(text) {
- if (typeof(text) === "string")
- return text.replace(/% /g, "%" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
- else
- return text;
- }
- bot.login(cfg.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement