From 3e7418615811ad33703635e873f5f723969069ce Mon Sep 17 00:00:00 2001 From: night0721 Date: Sat, 30 Jul 2022 15:54:39 +0100 Subject: [PATCH] this commit cost my computer to lag as dumb... --- client/NYX.js | 133 ++++---- command/Fun/ascii.js | 23 -- command/Fun/dare.js | 21 -- command/Fun/hangman.js | 97 ------ command/Fun/say.js | 20 -- command/Fun/ship.js | 42 --- command/Fun/simprate.js | 33 -- command/Fun/truth.js | 21 -- command/Fun/wyr.js | 31 -- events/interactionCreate.js | 6 +- start.bat | 4 +- {client => unused/client}/CodeClient.js | 0 {client => unused/client}/GiveawaysClient.js | 2 +- {client => unused/client}/StarboardClient.js | 2 +- {client => unused/client}/URLClient.js | 0 {util/dist => unused}/cmds.js | 0 unused/commands/Config/panel.js | 28 -- unused/commands/Config/rr-add.js | 46 --- unused/commands/Config/rr-rmv.js | 34 -- {command => unused/commands}/Economy/bal.js | 0 {command => unused/commands}/Economy/bet.js | 0 .../commands}/Economy/blackjack.js | 0 {command => unused/commands}/Economy/buy.js | 0 {command => unused/commands}/Economy/daily.js | 0 {command => unused/commands}/Economy/gift.js | 0 {command => unused/commands}/Economy/give.js | 0 {command => unused/commands}/Economy/gun.js | 0 {command => unused/commands}/Economy/inv.js | 0 .../commands}/Economy/multiplier.js | 0 .../commands}/Economy/profile.js | 0 {command => unused/commands}/Economy/rich.js | 0 {command => unused/commands}/Economy/shop.js | 0 {command => unused/commands}/Economy/slots.js | 0 {command => unused/commands}/Economy/steal.js | 0 {command => unused/commands}/Economy/work.js | 0 unused/commands/Fun/busted.js | 27 -- unused/commands/Fun/choose.js | 73 ---- unused/commands/Fun/coinflip.js | 17 - unused/commands/Fun/connect4.js | 321 ------------------ unused/commands/Fun/dino.js | 98 ------ unused/commands/Fun/dog.js | 28 -- unused/commands/Fun/drop.js | 50 --- unused/commands/Fun/ds.js | 24 -- unused/commands/Fun/fun.js | 130 ------- unused/commands/Fun/hack.js | 138 -------- unused/commands/Fun/hug.js | 43 --- unused/commands/Fun/image.js | 63 ---- unused/commands/Fun/kiss.js | 43 --- unused/commands/Fun/messageinfo.js | 41 --- unused/commands/Fun/obama.js | 45 --- unused/commands/Fun/quote.js | 42 --- unused/commands/Fun/roleinfo.js | 85 ----- unused/commands/Fun/rps.js | 223 ------------ unused/commands/Fun/sr.js | 29 -- unused/commands/Fun/topic.js | 18 - unused/commands/Fun/topics.json | 31 -- unused/commands/Fun/triggered.js | 25 -- unused/commands/Information/banner.js | 52 --- unused/commands/Information/servericon.js | 17 - unused/commands/Information/serverinfo.js | 185 ---------- unused/commands/Moderation/announce.js | 63 ---- .../commands}/Moderation/ban.js | 0 .../commands}/Moderation/kick.js | 0 .../commands}/Moderation/lock.js | 0 .../commands}/Moderation/mute.js | 0 .../commands}/Moderation/nuke.js | 0 unused/commands/Moderation/permission.js | 120 ------- .../commands}/Moderation/purge.js | 0 .../commands}/Moderation/role.js | 0 .../commands}/Moderation/slowmode.js | 0 .../commands}/Moderation/unban.js | 0 .../commands}/Moderation/unmute.js | 0 .../commands}/Moderation/warn.js | 2 +- .../commands}/Music/bassboost.js | 0 .../commands}/Music/clearqueue.js | 0 .../commands}/Music/disconnect.js | 0 {command => unused/commands}/Music/grab.js | 0 {command => unused/commands}/Music/loop.js | 0 {command => unused/commands}/Music/move.js | 0 .../commands}/Music/nowplaying.js | 0 {command => unused/commands}/Music/pause.js | 0 {command => unused/commands}/Music/play.js | 0 {command => unused/commands}/Music/queue.js | 0 {command => unused/commands}/Music/remove.js | 0 {command => unused/commands}/Music/resume.js | 0 {command => unused/commands}/Music/seek.js | 0 {command => unused/commands}/Music/shuffle.js | 0 {command => unused/commands}/Music/skip.js | 0 {command => unused/commands}/Music/volume.js | 0 unused/commands/Owner/encrypt.js | 39 --- .../commands/Utilities}/add.js | 0 {command => unused/commands}/Utilities/afk.js | 0 unused/commands/Utilities/codebin.js | 2 +- unused/commands/Utilities/docs.js | 27 -- draw.js => unused/commands/Utilities/draw.js | 2 +- .../commands}/Utilities/emoji.js | 0 .../commands}/Utilities/emojiadd.js | 0 .../commands}/Utilities/esnipe.js | 0 unused/commands/Utilities/github.js | 61 ---- .../{Giveaway => Utilities}/giveaway.js | 2 +- unused/commands/Utilities/hexcolor.js | 54 --- unused/commands/Utilities/lb.js | 34 -- .../commands}/Utilities/lyrics.js | 0 .../commands}/Utilities/nsfw.js | 0 unused/commands/Utilities/poll.js | 38 --- unused/commands/Utilities/rank.js | 303 ----------------- unused/commands/Utilities/shorturl.js | 2 +- .../commands}/Utilities/snipe.js | 0 unused/commands/Utilities/timer.js | 77 ----- {util/dist => unused}/err.js | 0 {events => unused/events}/afk.js | 2 +- unused/events/messageCreate.js | 243 ------------- {events => unused/events}/messageDelete.js | 0 unused/events/messageReaction.js | 30 -- {events => unused/events}/messageUpdate.js | 0 {events => unused/events}/raw.js | 2 +- {events => unused/events}/starboard.js | 2 +- {events => unused/events}/voiceStateUpdate.js | 2 +- unused/models/reaction.js | 10 - {data => util/Data}/APEX/apex.json | 0 {data => util/Data}/APEX/legends.json | 46 +-- {data => util/Data}/CODM/loadout.js | 0 {data => util/Data}/CODM/new-stats.js | 0 {data => util/Data}/CODM/stats.js | 0 util/assets/fonts/Poppins-Regular.ttf | Bin 160316 -> 0 bytes util/assets/fonts/Poppins-SemiBold.ttf | Bin 157312 -> 0 bytes util/dist/handler.js | 21 -- 127 files changed, 107 insertions(+), 3468 deletions(-) delete mode 100644 command/Fun/ascii.js delete mode 100644 command/Fun/dare.js delete mode 100644 command/Fun/hangman.js delete mode 100644 command/Fun/say.js delete mode 100644 command/Fun/ship.js delete mode 100644 command/Fun/simprate.js delete mode 100644 command/Fun/truth.js delete mode 100644 command/Fun/wyr.js rename {client => unused/client}/CodeClient.js (100%) rename {client => unused/client}/GiveawaysClient.js (98%) rename {client => unused/client}/StarboardClient.js (78%) rename {client => unused/client}/URLClient.js (100%) rename {util/dist => unused}/cmds.js (100%) delete mode 100644 unused/commands/Config/panel.js delete mode 100644 unused/commands/Config/rr-add.js delete mode 100644 unused/commands/Config/rr-rmv.js rename {command => unused/commands}/Economy/bal.js (100%) rename {command => unused/commands}/Economy/bet.js (100%) rename {command => unused/commands}/Economy/blackjack.js (100%) rename {command => unused/commands}/Economy/buy.js (100%) rename {command => unused/commands}/Economy/daily.js (100%) rename {command => unused/commands}/Economy/gift.js (100%) rename {command => unused/commands}/Economy/give.js (100%) rename {command => unused/commands}/Economy/gun.js (100%) rename {command => unused/commands}/Economy/inv.js (100%) rename {command => unused/commands}/Economy/multiplier.js (100%) rename {command => unused/commands}/Economy/profile.js (100%) rename {command => unused/commands}/Economy/rich.js (100%) rename {command => unused/commands}/Economy/shop.js (100%) rename {command => unused/commands}/Economy/slots.js (100%) rename {command => unused/commands}/Economy/steal.js (100%) rename {command => unused/commands}/Economy/work.js (100%) delete mode 100644 unused/commands/Fun/busted.js delete mode 100644 unused/commands/Fun/choose.js delete mode 100644 unused/commands/Fun/coinflip.js delete mode 100644 unused/commands/Fun/connect4.js delete mode 100644 unused/commands/Fun/dino.js delete mode 100644 unused/commands/Fun/dog.js delete mode 100644 unused/commands/Fun/drop.js delete mode 100644 unused/commands/Fun/ds.js delete mode 100644 unused/commands/Fun/fun.js delete mode 100644 unused/commands/Fun/hack.js delete mode 100644 unused/commands/Fun/hug.js delete mode 100644 unused/commands/Fun/image.js delete mode 100644 unused/commands/Fun/kiss.js delete mode 100644 unused/commands/Fun/messageinfo.js delete mode 100644 unused/commands/Fun/obama.js delete mode 100644 unused/commands/Fun/quote.js delete mode 100644 unused/commands/Fun/roleinfo.js delete mode 100644 unused/commands/Fun/rps.js delete mode 100644 unused/commands/Fun/sr.js delete mode 100644 unused/commands/Fun/topic.js delete mode 100644 unused/commands/Fun/topics.json delete mode 100644 unused/commands/Fun/triggered.js delete mode 100644 unused/commands/Information/banner.js delete mode 100644 unused/commands/Information/servericon.js delete mode 100644 unused/commands/Information/serverinfo.js delete mode 100644 unused/commands/Moderation/announce.js rename {command => unused/commands}/Moderation/ban.js (100%) rename {command => unused/commands}/Moderation/kick.js (100%) rename {command => unused/commands}/Moderation/lock.js (100%) rename {command => unused/commands}/Moderation/mute.js (100%) rename {command => unused/commands}/Moderation/nuke.js (100%) delete mode 100644 unused/commands/Moderation/permission.js rename {command => unused/commands}/Moderation/purge.js (100%) rename {command => unused/commands}/Moderation/role.js (100%) rename {command => unused/commands}/Moderation/slowmode.js (100%) rename {command => unused/commands}/Moderation/unban.js (100%) rename {command => unused/commands}/Moderation/unmute.js (100%) rename {command => unused/commands}/Moderation/warn.js (99%) rename {command => unused/commands}/Music/bassboost.js (100%) rename {command => unused/commands}/Music/clearqueue.js (100%) rename {command => unused/commands}/Music/disconnect.js (100%) rename {command => unused/commands}/Music/grab.js (100%) rename {command => unused/commands}/Music/loop.js (100%) rename {command => unused/commands}/Music/move.js (100%) rename {command => unused/commands}/Music/nowplaying.js (100%) rename {command => unused/commands}/Music/pause.js (100%) rename {command => unused/commands}/Music/play.js (100%) rename {command => unused/commands}/Music/queue.js (100%) rename {command => unused/commands}/Music/remove.js (100%) rename {command => unused/commands}/Music/resume.js (100%) rename {command => unused/commands}/Music/seek.js (100%) rename {command => unused/commands}/Music/shuffle.js (100%) rename {command => unused/commands}/Music/skip.js (100%) rename {command => unused/commands}/Music/volume.js (100%) delete mode 100644 unused/commands/Owner/encrypt.js rename {command/Owner => unused/commands/Utilities}/add.js (100%) rename {command => unused/commands}/Utilities/afk.js (100%) delete mode 100644 unused/commands/Utilities/docs.js rename draw.js => unused/commands/Utilities/draw.js (97%) rename {command => unused/commands}/Utilities/emoji.js (100%) rename {command => unused/commands}/Utilities/emojiadd.js (100%) rename {command => unused/commands}/Utilities/esnipe.js (100%) delete mode 100644 unused/commands/Utilities/github.js rename unused/commands/{Giveaway => Utilities}/giveaway.js (98%) delete mode 100644 unused/commands/Utilities/hexcolor.js delete mode 100644 unused/commands/Utilities/lb.js rename {command => unused/commands}/Utilities/lyrics.js (100%) rename {command => unused/commands}/Utilities/nsfw.js (100%) delete mode 100644 unused/commands/Utilities/poll.js delete mode 100644 unused/commands/Utilities/rank.js rename {command => unused/commands}/Utilities/snipe.js (100%) delete mode 100644 unused/commands/Utilities/timer.js rename {util/dist => unused}/err.js (100%) rename {events => unused/events}/afk.js (96%) delete mode 100644 unused/events/messageCreate.js rename {events => unused/events}/messageDelete.js (100%) delete mode 100644 unused/events/messageReaction.js rename {events => unused/events}/messageUpdate.js (100%) rename {events => unused/events}/raw.js (64%) rename {events => unused/events}/starboard.js (88%) rename {events => unused/events}/voiceStateUpdate.js (98%) delete mode 100644 unused/models/reaction.js rename {data => util/Data}/APEX/apex.json (100%) rename {data => util/Data}/APEX/legends.json (98%) rename {data => util/Data}/CODM/loadout.js (100%) rename {data => util/Data}/CODM/new-stats.js (100%) rename {data => util/Data}/CODM/stats.js (100%) delete mode 100644 util/assets/fonts/Poppins-Regular.ttf delete mode 100644 util/assets/fonts/Poppins-SemiBold.ttf diff --git a/client/NYX.js b/client/NYX.js index d348a80..45eca32 100644 --- a/client/NYX.js +++ b/client/NYX.js @@ -30,8 +30,8 @@ class NYX extends Client { super(options); this.slashCommands = new Collection(); this.hide = new Collection(); - this.esnipes = new Collection(); - this.snipes = new Collection(); + // this.esnipes = new Collection(); + // this.snipes = new Collection(); this.config = config; this.data = require("../util/functions/mongoose"); this.color = config.color; @@ -55,71 +55,72 @@ class NYX extends Client { "840225563193114624", // Command Test ]; const client = this; - require("../util/functions/economy")(client); - this.manager = new Manager({ - plugins: [ - new Spotify({ - clientID: process.env.SPOTIFY_ID, - clientSecret: process.env.SPOTIFY_SECRET, - }), - ], - nodes: [ - { - host: config.Lavalink.Host, - port: config.Lavalink.Port, - password: config.Lavalink.Password, - retryDelay: 5000, - }, - ], - autoPlay: true, - send: (id, payload) => { - const guild = client.guilds.cache.get(id); - if (guild) guild.shard.send(payload); - }, - }) - .on("nodeConnect", node => - console.log(`Node "${node.options.identifier}" has connected`) - ) - .on("nodeError", (node, error) => - console.log( - `Node "${node.options.identifier}" encountered an error: ${error.message}` - ) - ) - .on("trackStart", (player, track) => { - const channel = client.channels.cache.get(player.textChannel); - const embed = new MessageEmbed() - .setColor(config.color) - .setAuthor( - `Now Playing`, - "https://cdn.discordapp.com/emojis/897017864085712936.gif" - ) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setThumbnail(player.queue.current.displayThumbnail()) - .setDescription(`[${track.title}](${track.uri})`) - .addField( - "Duration", - `\`${utils.prettyMs(track.duration, { - colonNotation: true, - })}\``, - true - ); - channel.send({ embeds: [embed] }); - }) - .on("queueEnd", player => { - const channel = client.channels.cache.get(player.textChannel); - const embed2 = new MessageEmbed() - .setColor(config.color) - .setAuthor( - `Queue has ended`, - "https://cdn.discordapp.com/emojis/897017864085712936.gif" - ) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp(); - channel.send({ embeds: [embed2] }); - // player.destroy(); Remove if 24/7 - }); } + // require("../util/functions/economy")(client); + // this.manager = new Manager({ + // plugins: [ + // new Spotify({ + // clientID: process.env.SPOTIFY_ID, + // clientSecret: process.env.SPOTIFY_SECRET, + // }), + // ], + // nodes: [ + // { + // host: config.Lavalink.Host, + // port: config.Lavalink.Port, + // password: config.Lavalink.Password, + // retryDelay: 5000, + // }, + // ], + // autoPlay: true, + // send: (id, payload) => { + // const guild = client.guilds.cache.get(id); + // if (guild) guild.shard.send(payload); + // }, + // }) + // .on("nodeConnect", node => + // console.log(`Node "${node.options.identifier}" has connected`) + // ) + // .on("nodeError", (node, error) => + // console.log( + // `Node "${node.options.identifier}" encountered an error: ${error.message}` + // ) + // ) + // .on("trackStart", (player, track) => { + // const channel = client.channels.cache.get(player.textChannel); + // const embed = new MessageEmbed() + // .setColor(config.color) + // .setAuthor( + // `Now Playing`, + // "https://cdn.discordapp.com/emojis/897017864085712936.gif" + // ) + // .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) + // .setTimestamp() + // .setThumbnail(player.queue.current.displayThumbnail()) + // .setDescription(`[${track.title}](${track.uri})`) + // .addField( + // "Duration", + // `\`${utils.prettyMs(track.duration, { + // colonNotation: true, + // })}\``, + // true + // ); + // channel.send({ embeds: [embed] }); + // }) + // .on("queueEnd", player => { + // const channel = client.channels.cache.get(player.textChannel); + // const embed2 = new MessageEmbed() + // .setColor(config.color) + // .setAuthor( + // `Queue has ended`, + // "https://cdn.discordapp.com/emojis/897017864085712936.gif" + // ) + // .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) + // .setTimestamp(); + // channel.send({ embeds: [embed2] }); + // // player.destroy(); Remove if 24/7 + // }); + // } start() { require("../util/dist/handler")(this); this.data diff --git a/command/Fun/ascii.js b/command/Fun/ascii.js deleted file mode 100644 index 24f81e5..0000000 --- a/command/Fun/ascii.js +++ /dev/null @@ -1,23 +0,0 @@ -const axios = require("axios"); -module.exports = { - name: "ascii", - description: "Converts text into ASCII art", - category: "Fun", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "text", - description: "The text you want to convert", - required: true, - }, - ], - run: async (client, interaction, args) => { - const data = await axios - .get( - `https://artii.herokuapp.com/make?text=${encodeURIComponent(args[0])}` - ) - .then(res => res.data); - interaction.followUp(`\`\`\`${data}\`\`\``); - }, -}; diff --git a/command/Fun/dare.js b/command/Fun/dare.js deleted file mode 100644 index 3bf99ae..0000000 --- a/command/Fun/dare.js +++ /dev/null @@ -1,21 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const tnd = require("../../util/Data/tnd.json"); -module.exports = { - name: "dare", - description: "The maturity level of the topics the question can relate to", - run: async (client, interaction) => { - const embed = new MessageEmbed() - .setAuthor({ - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dyamic: true }), - }) - .setTitle(tnd.dare[Math.round(Math.random() * tnd.dare.length - 1)]) - .setColor(client.color) - .setFooter({ - text: `Made by ${client.author}`, - iconURL: client.user.displayAvatarURL(), - }) - .setTimestamp(); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/command/Fun/hangman.js b/command/Fun/hangman.js deleted file mode 100644 index 78a961f..0000000 --- a/command/Fun/hangman.js +++ /dev/null @@ -1,97 +0,0 @@ -const axios = require("axios"); -const { MessageEmbed } = require("discord.js"); -const playing = new Set(); -module.exports = { - name: "hangman", - description: "Play a hangman game", - category: "Fun", - run: async (client, interaction) => { - await interaction.deleteReply(); - if (playing.has(interaction.channel.id)) { - return interaction.followUp({ - content: "Only one game may be occurring per channel.", - }); - } - playing.add(interaction.channel.id); - try { - const data = await axios - .get(`${process.env.api}/api/v1/fun/hangman`) - .then(res => res.data); - const word = data.word; - let points = 0; - let displayText = null; - let guessed = false; - const confirmation = []; - const incorrect = []; - const display = new Array(word.length).fill("◯"); - while (word.length !== confirmation.length && points < 6) { - const embed = new MessageEmbed() - .setColor(client.color) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setTitle("Hangman game").setDescription(` - ${displayText === null ? "Here we go!" : displayText ? "Good job!" : "Nope!"} - \`${display.join(" ")}\`. Which letter do you choose? - Incorrect Tries: ${incorrect.join(", ") || "None"} - \`\`\` - . ┌─────┐ - . ┃ ┋ - . ┃ ${points > 0 ? "O" : ""} - . ┃ ${points > 2 ? "/" : " "}${points > 1 ? "|" : ""}${ - points > 3 ? "\\" : "" - } - . ┃ ${points > 4 ? "/" : ""}${points > 5 ? "\\" : ""} - ============= - \`\`\` - `); - await interaction.channel.send({ embeds: [embed] }); - const filter = res => { - const choice = res.content.toLowerCase(); - return ( - res.author.id === interaction.user.id && - !confirmation.includes(choice) && - !incorrect.includes(choice) - ); - }; - const guess = await interaction.channel.awaitMessages({ - filter, - max: 1, - time: 30000, - }); - if (!guess.size) { - await interaction.channel.send({ content: "Sorry, time is up!" }); - break; - } - const choice = guess.first().content.toLowerCase(); - if (choice === "end") break; - if (choice.length > 1 && choice === word) { - guessed = true; - break; - } else if (word.includes(choice)) { - displayText = true; - for (let i = 0; i < word.length; i++) { - if (word.charAt(i) !== choice) continue; // eslint-disable-line max-depth - confirmation.push(word.charAt(i)); - display[i] = word.charAt(i); - } - } else { - displayText = false; - if (choice.length === 1) incorrect.push(choice); - points++; - } - } - playing.delete(interaction.channel.id); - if (word.length === confirmation.length || guessed) { - return interaction.channel.send({ - content: `You won. The word is **${word}**!`, - }); - } - return interaction.channel.send({ - content: `You lost. The word is **${word}**.`, - }); - } catch (err) { - console.log(err); - playing.delete(interaction.channel.id); - } - }, -}; diff --git a/command/Fun/say.js b/command/Fun/say.js deleted file mode 100644 index f6c2814..0000000 --- a/command/Fun/say.js +++ /dev/null @@ -1,20 +0,0 @@ -const { Util } = require("discord.js"); -module.exports = { - name: "say", - description: "Pretend a bot to say", - usage: "(Words)", - category: "Fun", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "words", - description: "The words to say", - required: true, - }, - ], - run: async (client, interaction, args) => { - await interaction.deleteReply(); - interaction.channel.send(Util.cleanContent(args[0], interaction.channel)); - }, -}; diff --git a/command/Fun/ship.js b/command/Fun/ship.js deleted file mode 100644 index 4861053..0000000 --- a/command/Fun/ship.js +++ /dev/null @@ -1,42 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const block = "⬛"; -const heart = "🟥"; - -module.exports = { - name: "ship", - description: "Ship an user to an user", - usage: "(User) (User)", - category: "Fun", - options: [ - { - type: 6, - name: "1stuser", - description: "The user you want to ship", - required: true, - }, - { - type: 6, - name: "2nduser", - description: "The user you want to ship", - required: true, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const user1 = interaction.guild.members.cache.get(args[0]).user.username; - const user2 = interaction.guild.members.cache.get(args[1]).user.username; - const loveEmbed = new MessageEmbed() - .setColor("dd2e44") - .setFooter({ text: `Shipped by ${interaction.user.tag}` }) - .setTimestamp() - .setTitle(`💘 | Shipping ${user1} and ${user2} | 💘`) - .setDescription(`🔻 | ${user1} \n${ship()}\n🔺 | ${user2}`); - interaction.followUp({ embeds: [loveEmbed] }); - }, -}; -function ship() { - const hearts = Math.floor(Math.random() * 100); - const hearte = hearts / 10; - const str = `${heart.repeat(hearte)}${block.repeat(10 - hearte)} ${hearts}%`; - return str; -} diff --git a/command/Fun/simprate.js b/command/Fun/simprate.js deleted file mode 100644 index 7161ed1..0000000 --- a/command/Fun/simprate.js +++ /dev/null @@ -1,33 +0,0 @@ -const { MessageEmbed } = require("discord.js"); - -module.exports = { - name: "simprate", - description: "Check how simp is the user", - usage: "(@User)", - category: "Fun", - options: [ - { - type: 6, - name: "user", - description: "The user you want to see", - required: true, - }, - ], - run: async (client, interaction, args) => { - const simp = Math.floor(Math.random() * 100); - const user = interaction.guild.members.cache.get(args[0]); - interaction.followUp({ - embeds: [ - new MessageEmbed() - .setTitle(`${user.user.username}'s simp rate`) - .setDescription(`${user.user.username} is a ${simp}% simp`) - .setColor(client.color) - .setFooter({ - text: `Made by ${client.author}`, - iconURL: client.user.displayAvatarURL(), - }) - .setTimestamp(), - ], - }); - }, -}; diff --git a/command/Fun/truth.js b/command/Fun/truth.js deleted file mode 100644 index 7f19ae6..0000000 --- a/command/Fun/truth.js +++ /dev/null @@ -1,21 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const tnd = require("../../util/Data/tnd.json"); -module.exports = { - name: "truth", - description: "Gives a random question that has to be answered truthfully", - run: async (client, interaction, args) => { - const embed = new MessageEmbed() - .setAuthor({ - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dyamic: true }), - }) - .setTitle(tnd.truth[Math.round(Math.random() * tnd.truth.length - 1)]) - .setColor(client.color) - .setFooter({ - text: `Made by ${client.author}`, - iconURL: client.user.displayAvatarURL(), - }) - .setTimestamp(); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/command/Fun/wyr.js b/command/Fun/wyr.js deleted file mode 100644 index 9130c40..0000000 --- a/command/Fun/wyr.js +++ /dev/null @@ -1,31 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const questions = require("../../util/Data/wyr.json"); -module.exports = { - name: "wyr", - description: "Send some would-you rather questions", - run: async (client, interaction, args) => { - const messagetext = questions[Math.floor(Math.random() * questions.length)]; - const question = messagetext.split("Would you rather ")[1]; - const q = question.split(" or "); - const Option1 = q[0]; - const Option2 = q[1]; - const embed = new MessageEmbed() - .setTitle("Would You Rather") - .setDescription( - `🇦 ${Option1} \n\n **OR** \n\n :regional_indicator_b: ${Option2}` - ) - .setAuthor({ - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dyamic: true }), - }) - .setColor(client.color) - .setFooter({ - text: `Made by ${client.author}`, - iconURL: client.user.displayAvatarURL(), - }) - .setTimestamp(); - wyrmessage = await interaction.followUp({ embeds: [embed] }); - wyrmessage.react("🇦"); - wyrmessage.react("🇧"); - }, -}; diff --git a/events/interactionCreate.js b/events/interactionCreate.js index 4d8529d..1fe7cf2 100644 --- a/events/interactionCreate.js +++ b/events/interactionCreate.js @@ -40,12 +40,12 @@ client.on("interactionCreate", async interaction => { if (!guildDB) return; const userDB = await client.data.getUser(interaction.user.id); if (!userDB) return; - const userEconDB = await client.data.getUserEcon(interaction.user.id); + // const userEconDB = await client.data.getUserEcon(interaction.user.id); data.Guild = guildDB; data.User = userDB; - data.UserEcon = userEconDB; + // data.UserEcon = userEconDB; if (!guildDB) await client.data.CreateGuild(interaction.guild.id); - if (!userEconDB) await client.createProfile(interaction.user.id); + //if (!userEconDB) await client.createProfile(interaction.user.id); if (data.User) { if (data.User.Blacklist) { return interaction.followUp({ diff --git a/start.bat b/start.bat index 5c32f67..b16d1de 100644 --- a/start.bat +++ b/start.bat @@ -1 +1,3 @@ -node . \ No newline at end of file +title cath +node . +pause \ No newline at end of file diff --git a/client/CodeClient.js b/unused/client/CodeClient.js similarity index 100% rename from client/CodeClient.js rename to unused/client/CodeClient.js diff --git a/client/GiveawaysClient.js b/unused/client/GiveawaysClient.js similarity index 98% rename from client/GiveawaysClient.js rename to unused/client/GiveawaysClient.js index d4724bd..ca79139 100644 --- a/client/GiveawaysClient.js +++ b/unused/client/GiveawaysClient.js @@ -1,5 +1,5 @@ const { GiveawaysClient } = require("cath"); -const client = require(".."); +const client = require("../.."); require("dotenv").config(); module.exports = new GiveawaysClient({ client, diff --git a/client/StarboardClient.js b/unused/client/StarboardClient.js similarity index 78% rename from client/StarboardClient.js rename to unused/client/StarboardClient.js index 7ef7710..fbf6a95 100644 --- a/client/StarboardClient.js +++ b/unused/client/StarboardClient.js @@ -1,5 +1,5 @@ const { StarboardClient } = require("cath"); -const client = require(".."); +const client = require("../.."); module.exports = new StarboardClient({ client, color: client.color, diff --git a/client/URLClient.js b/unused/client/URLClient.js similarity index 100% rename from client/URLClient.js rename to unused/client/URLClient.js diff --git a/util/dist/cmds.js b/unused/cmds.js similarity index 100% rename from util/dist/cmds.js rename to unused/cmds.js diff --git a/unused/commands/Config/panel.js b/unused/commands/Config/panel.js deleted file mode 100644 index bb789d2..0000000 --- a/unused/commands/Config/panel.js +++ /dev/null @@ -1,28 +0,0 @@ -const { Client, Message, MessageEmbed } = require("discord.js"); -const Schema = require("../../models/reaction"); - -module.exports = { - name: "panel", - description: "Reaction-Role Panel", - UserPerm: "ADMINISTRATOR", - category: "Config", - run: async (client, message, args) => { - const channel = message.mentions.channels.first() || message.channel; - Schema.findOne({ Guild: message.guild.id }, async (err, data) => { - if (!data) return client.err(message, "Config", "panel", 10); - const mapped = Object.keys(data.Roles) - .map((value, index) => { - const role = message.guild.roles.cache.get(data.Roles[value][0]); - return `${index + 1}) ${data.Roles[value][1].raw} - ${role}`; - }) - .join("\n\n"); - channel.send(new MessageEmbed().setDescription(mapped)).then(msg => { - data.Message = msg.id; - data.save(); - - const reactions = Object.values(data.Roles).map(val => val[1].id); // ?? val[1].raw); - reactions.map(emoji => msg.react(emoji)); - }); - }); - }, -}; diff --git a/unused/commands/Config/rr-add.js b/unused/commands/Config/rr-add.js deleted file mode 100644 index d94e34a..0000000 --- a/unused/commands/Config/rr-add.js +++ /dev/null @@ -1,46 +0,0 @@ -const { Client, Message, MessageEmbed, Util } = require("discord.js"); -const Schema = require("../../models/reaction"); -module.exports = { - name: "rr-add", - UserPerm: "ADMINISTRATOR", - description: "Create reaction role for server", - usage: "(Role) (emoji(Must be in server)", - category: "Config", - run: async (client, message, args) => { - const role = - message.mentions.roles.first() || - message.guild.roles.cache.get(args[0]) || - message.guild.roles.cache.find(r => r.name == args[0]); - const [, emoji] = args; - if (!emoji) return client.err(message, "Config", "rr-add", 11); - const parsedEmoji = Util.parseEmoji(emoji); - Schema.findOne({ Guild: message.guild.id }, async (err, data) => { - if (data) { - data.Roles[parsedEmoji.name] = [ - role.id, - { - id: parsedEmoji.id, - raw: emoji, - }, - ]; - await Schema.findOneAndUpdate({ Guild: message.guild.id }, data); - } - else { - new Schema({ - Guild: message.guild.id, - Message: 0, - Roles: { - [parsedEmoji.name]: [ - role.id, - { - id: parsedEmoji.id, - raw: emoji, - }, - ], - }, - }).save(); - } - message.channel.send(`Added ${role.name}.`); - }); - }, -}; diff --git a/unused/commands/Config/rr-rmv.js b/unused/commands/Config/rr-rmv.js deleted file mode 100644 index 92a9f12..0000000 --- a/unused/commands/Config/rr-rmv.js +++ /dev/null @@ -1,34 +0,0 @@ -const Schema = require("../../models/reaction"); -module.exports = { - name: "rr-rmv", - UserPerm: "ADMINISTRATOR", - description: "Remove reaction role for server", - category: "Config", - run: async (client, message, args, utils) => { - message.channel - .send({ content: "**Do you want to remove the reaction roles?**" }) - .then(async msg => { - Schema.findOne({ Guild: message.guild.id }, async (err, data) => { - if (err) throw err; - if (!data) return client.err(message, "Config", "rr-rmv", 10); - }); - const emoji = await utils.confirmation( - msg, - message.author, - ["✅", "❌"], - 10000, - ); - if (emoji === "✅") { - msg.delete(); - await Schema.findOneAndDelete({ Guild: message.guild.id }); - message.channel.send({ - content: `Removed reaction roles for this server.`, - }); - } - if (emoji === "❌") { - msg.delete(); - message.channel.send({ content: "Cancelled." }); - } - }); - }, -}; diff --git a/command/Economy/bal.js b/unused/commands/Economy/bal.js similarity index 100% rename from command/Economy/bal.js rename to unused/commands/Economy/bal.js diff --git a/command/Economy/bet.js b/unused/commands/Economy/bet.js similarity index 100% rename from command/Economy/bet.js rename to unused/commands/Economy/bet.js diff --git a/command/Economy/blackjack.js b/unused/commands/Economy/blackjack.js similarity index 100% rename from command/Economy/blackjack.js rename to unused/commands/Economy/blackjack.js diff --git a/command/Economy/buy.js b/unused/commands/Economy/buy.js similarity index 100% rename from command/Economy/buy.js rename to unused/commands/Economy/buy.js diff --git a/command/Economy/daily.js b/unused/commands/Economy/daily.js similarity index 100% rename from command/Economy/daily.js rename to unused/commands/Economy/daily.js diff --git a/command/Economy/gift.js b/unused/commands/Economy/gift.js similarity index 100% rename from command/Economy/gift.js rename to unused/commands/Economy/gift.js diff --git a/command/Economy/give.js b/unused/commands/Economy/give.js similarity index 100% rename from command/Economy/give.js rename to unused/commands/Economy/give.js diff --git a/command/Economy/gun.js b/unused/commands/Economy/gun.js similarity index 100% rename from command/Economy/gun.js rename to unused/commands/Economy/gun.js diff --git a/command/Economy/inv.js b/unused/commands/Economy/inv.js similarity index 100% rename from command/Economy/inv.js rename to unused/commands/Economy/inv.js diff --git a/command/Economy/multiplier.js b/unused/commands/Economy/multiplier.js similarity index 100% rename from command/Economy/multiplier.js rename to unused/commands/Economy/multiplier.js diff --git a/command/Economy/profile.js b/unused/commands/Economy/profile.js similarity index 100% rename from command/Economy/profile.js rename to unused/commands/Economy/profile.js diff --git a/command/Economy/rich.js b/unused/commands/Economy/rich.js similarity index 100% rename from command/Economy/rich.js rename to unused/commands/Economy/rich.js diff --git a/command/Economy/shop.js b/unused/commands/Economy/shop.js similarity index 100% rename from command/Economy/shop.js rename to unused/commands/Economy/shop.js diff --git a/command/Economy/slots.js b/unused/commands/Economy/slots.js similarity index 100% rename from command/Economy/slots.js rename to unused/commands/Economy/slots.js diff --git a/command/Economy/steal.js b/unused/commands/Economy/steal.js similarity index 100% rename from command/Economy/steal.js rename to unused/commands/Economy/steal.js diff --git a/command/Economy/work.js b/unused/commands/Economy/work.js similarity index 100% rename from command/Economy/work.js rename to unused/commands/Economy/work.js diff --git a/unused/commands/Fun/busted.js b/unused/commands/Fun/busted.js deleted file mode 100644 index af69173..0000000 --- a/unused/commands/Fun/busted.js +++ /dev/null @@ -1,27 +0,0 @@ -const { MessageAttachment } = require("discord.js"); -module.exports = { - name: "busted", - description: "Bust someone", - category: "Fun", - options: [ - { - type: 6, - name: "user", - description: "The user you want to use the effect", - required: true, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const user = interaction.guild.members.cache.get(args[0]); - const ima = new MessageAttachment( - `${ - process.env.api - }/api/v1/image/busted?image=${user.user.displayAvatarURL({ - format: "png", - size: 2048, - })}`, - ); - interaction.followUp({ files: [ima] }); - }, -}; diff --git a/unused/commands/Fun/choose.js b/unused/commands/Fun/choose.js deleted file mode 100644 index fd17e6a..0000000 --- a/unused/commands/Fun/choose.js +++ /dev/null @@ -1,73 +0,0 @@ -module.exports = { - name: "choose", - description: "Choose random things", - usage: "(Choices)", - category: "Fun", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "first", - description: "The first choice", - required: true, - }, - { - type: 3, - name: "second", - description: "The second choice", - required: true, - }, - { - type: 3, - name: "third", - description: "The third choice", - required: false, - }, - { - type: 3, - name: "forth", - description: "The forth choice", - required: false, - }, - { - type: 3, - name: "fifth", - description: "The fifth choice", - required: false, - }, - { - type: 3, - name: "sixth", - description: "The sixth choice", - required: false, - }, - { - type: 3, - name: "seventh", - description: "The seventh choice", - required: false, - }, - { - type: 3, - name: "eighth", - description: "The eighth choice", - required: false, - }, - { - type: 3, - name: "ninth", - description: "The ninth choice", - required: false, - }, - { - type: 3, - name: "tenth", - description: "The tenth choice", - required: false, - }, - ], - run: async (client, interaction, args) => { - const choices = args[Math.floor(Math.random() * args.length)]; - interaction.followUp(`I will choose - \`${choices}\``); - }, -}; diff --git a/unused/commands/Fun/coinflip.js b/unused/commands/Fun/coinflip.js deleted file mode 100644 index 6accdd9..0000000 --- a/unused/commands/Fun/coinflip.js +++ /dev/null @@ -1,17 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "coinflip", - description: "Flip a coin", - category: "Fun", - run: async (client, interaction, args) => { - const HT = ["Heads!", "Tails!"]; - const pick = HT[Math.floor(Math.random() * HT.length)]; - const embed = new MessageEmbed() - .setColor(client.color) - .setTitle("CoinFilp Game") - .setTimestamp() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setDescription(pick); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/unused/commands/Fun/connect4.js b/unused/commands/Fun/connect4.js deleted file mode 100644 index fefb9c1..0000000 --- a/unused/commands/Fun/connect4.js +++ /dev/null @@ -1,321 +0,0 @@ -const { Client, Message, MessageEmbed } = require("discord.js"); -module.exports = { - name: "connect4", - aliases: ["c4"], - usage: "(User)", - description: "Play a connect 4 game with a user", - category: "Fun", - run: async (client, message, args) => { - const challenger = message.member; - const oppenent = message.mentions.members.first(); - - if (!oppenent) return client.err(message, "Fun", "connect4", 1); - - const question = await message.channel.send( - `${oppenent}, would you like to play connect 4 against ${challenger}?`, - ); - - ["✅", "❌"].forEach(async el => await question.react(el)); - - const filter = (reaction, user) => - ["✅", "❌"].includes(reaction.emoji.name) && user.id === oppenent.id; - - const response = await question.awaitReactions(filter, { max: 1 }); - - const reaction = response.first(); - - if (reaction.emoji.name === "❌") {return question.edit("Looks like they didn't want to play");} - else { - await message.delete(); - await question.delete(); - - const board = [ - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ["⚪", "⚪", "⚪", "⚪", "⚪", "⚪", "⚪"], - ]; - - const renderBoard = board => { - let tempString = ""; - for (const boardSection of board) { - tempString += `${boardSection.join("")}\n`; - } - - tempString = tempString.concat("1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣"); - - return tempString; - }; - - const initialState = renderBoard(board); - - const initial = new MessageEmbed().setDescription(initialState); - - const gameMessage = await message.channel.send(initial); - - ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣"].forEach(async el => - gameMessage.react(el), - ); - - const gameFilter = (reaction, user) => - ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣"].includes( - reaction.emoji.name, - ) && - (user.id === oppenent.id || user.id === challenger.id); - - const gameCollector = gameMessage.createReactionCollector(gameFilter); - - const gameData = [ - { member: challenger, playerColor: "🔴" }, - { member: oppenent, playerColor: "🟡" }, - ]; - - let player = 0; - - const checkFour = (a, b, c, d) => - a === b && b === c && c === d && a !== "⚪"; - - const horizontalCheck = () => { - for (let i = 0; i < 6; i++) { - for (let j = 0; j < 4; j++) { - if ( - checkFour( - board[i][j], - board[i][j + 1], - board[i][j + 2], - board[i][j + 3], - ) - ) { - return [ - board[i][j], - board[i][j + 1], - board[i][j + 2], - board[i][j + 3], - ]; - } - } - } - }; - - const verticalCheck = () => { - for (let j = 0; j < 7; j++) { - for (let i = 0; i < 3; i++) { - if ( - checkFour( - board[i][j], - board[i + 1][j], - board[i + 2][j], - board[i + 3][j], - ) - ) { - return [ - board[i][j], - board[i + 1][j], - board[i + 2][j], - board[i + 3][j], - ]; - } - } - } - }; - - const diagonal1 = () => { - for (let col = 0; col < 4; col++) { - for (let row = 0; row < 3; row++) { - if ( - checkFour( - board[row][col], - board[row + 1][col + 1], - board[row + 2][col + 2], - board[row + 3][col + 3], - ) - ) { - return [ - board[row][col], - board[row + 1][col + 1], - board[row + 2], - board[col + 2], - board[row + 3][col + 3], - ]; - } - } - } - }; - - const diagonal2 = () => { - for (let col = 0; col < 4; col++) { - for (let row = 5; row > 2; row--) { - if ( - checkFour( - board[row][col], - board[row - 1][col + 1], - board[row - 2][col + 2], - board[row - 3][col + 3], - ) - ) { - return [ - board[row][col], - board[row - 1][col + 1], - board[row - 2][col + 2], - board[row - 3][col + 3], - ]; - } - } - } - }; - - const tieCheck = () => { - let count = 0; - for (const el of board) { - for (const string of el) { - if (string !== "⚪") count++; - } - } - if (count === 42) return true; - else return false; - }; - - const checks = [horizontalCheck, verticalCheck, diagonal1, diagonal2]; - - gameCollector.on("collect", (reaction, user) => { - if (user.id === gameData[player].member.id) { - const openSpaces = []; - - switch (reaction.emoji.name) { - case "1️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][0] === "⚪") openSpaces.push({ i, j: 0 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - - break; - case "2️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][1] === "⚪") openSpaces.push({ i, j: 1 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - - break; - case "3️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][2] === "⚪") openSpaces.push({ i, j: 2 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - break; - case "4️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][3] === "⚪") openSpaces.push({ i, j: 3 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - break; - case "5️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][4] === "⚪") openSpaces.push({ i, j: 4 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - break; - case "6️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][5] === "⚪") openSpaces.push({ i, j: 5 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - break; - case "7️⃣": - for (let i = 5; i > -1; i--) { - if (board[i][6] === "⚪") openSpaces.push({ i, j: 6 }); - } - if (openSpaces.length === 0) { - return message.channel.send( - `${gameData[player].member}, that column is already full. Choose a differnt one.`, - ); - } - else { - board[openSpaces[0].i][openSpaces[0].j] = - gameData[player].playerColor; - } - break; - } - - if (tieCheck()) { - const TieEmbed = new MessageEmbed().setDescription( - renderBoard(board), - ); - gameCollector.stop("Tie Game"); - return gameMessage.edit(`It was a tie game!`, { embed: TieEmbed }); - } - - for (const func of checks) { - const data = func(); - if (data) { - const WinEmbed = new MessageEmbed().setDescription( - renderBoard(board), - ); - gameCollector.stop(`${gameData[player].member.id} won`); - return gameMessage.edit( - `${gameData[player].member} has won the game!`, - { embed: WinEmbed }, - ); - } - } - - player = (player + 1) % 2; - - const newEmbed = new MessageEmbed().setDescription( - renderBoard(board), - ); - gameMessage.edit("", { embed: newEmbed }); - } - }); - } - }, -}; diff --git a/unused/commands/Fun/dino.js b/unused/commands/Fun/dino.js deleted file mode 100644 index 4746def..0000000 --- a/unused/commands/Fun/dino.js +++ /dev/null @@ -1,98 +0,0 @@ -module.exports = { - name: "dinochrome", - category: "Fun", - description: "Dinosaur in Chrome", - run: async (client, interaction, args) => { - await interaction.deleteReply(); - const msg = await interaction.channel.send(`---------------🦖`); - let time = 1 * 1000; - setTimeout(function() { - msg.edit(`-----------🦖----`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`----------🦖------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`--------🦖--------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`------🦖-----------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`-------🦖-----------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`---🌵-----🦖---------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`---🌵-🦖-------------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`🦖\n ---🌵--------------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`------🦖---🌵--------------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`----🦖-----🌵----------------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`-🌵🌵-----🦖-------🌵--------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`----🌵🌵-🦖----------🌵------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`🦖\n ---🌵🌵-------------🌵---`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`-----🦖---🌵🌵-------------🌵--`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`-------🦖-----🌵🌵-------------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`🎂----🦖--------🌵🌵-----------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`---🎂--🦖----------🌵🌵---------`); - }, time); - time += 1.5 * 1000; - - setTimeout(function() { - msg.edit(`**Ⓜⓘⓢⓢⓘⓞⓝ Ⓒⓞⓜⓟⓛⓔⓣⓔⓓ !**\n ---🎂🦖----------🌵🌵-------------`); - }, time); - }, -}; diff --git a/unused/commands/Fun/dog.js b/unused/commands/Fun/dog.js deleted file mode 100644 index 0dff125..0000000 --- a/unused/commands/Fun/dog.js +++ /dev/null @@ -1,28 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const { getreddit } = require("cath"); -module.exports = { - name: "dog", - category: "Fun", - description: "Get a dog from reddit", - run: async (client, interaction, args) => { - const subreddits = ["dog", "dogs"]; - const subreddit = subreddits[Math.floor(Math.random() * subreddits.length)]; - const data = await getreddit(subreddit); - interaction.followUp({ - embeds: [ - new MessageEmbed({ - title: data.title, - url: data.url, - image: { url: data.image }, - timestamp: Date.now(), - footer: { text: data.footer }, - color: client.color, - author: { - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dynamic: true }), - }, - }), - ], - }); - }, -}; diff --git a/unused/commands/Fun/drop.js b/unused/commands/Fun/drop.js deleted file mode 100644 index 8429ae3..0000000 --- a/unused/commands/Fun/drop.js +++ /dev/null @@ -1,50 +0,0 @@ -module.exports = { - name: "drop", - usage: "{Channel} (Number)", - description: "Drops money to a channel", - category: "Economy", - options: [ - { - type: 7, - name: "channel", - description: "The channel you want to drop", - required: true, - channelTypes: ["GUILD_TEXT"], - }, - { - type: 4, - name: "cp", - description: "The amount of CP to drop", - required: true, - }, - ], - run: async (client, interaction, args) => { - const channel = interaction.guild.channels.cache.get(args[0]); - const coinsAmount = args[1]; - if (coinsAmount < 100) { - interaction.followUp({ - content: `You need to drop at least 100 ${client.currency}`, - }); - } else if ((await client.bal(interaction.user.id)) < coinsAmount) { - interaction.followUp({ content: "You don't have enough balance" }); - } else { - const filter = msg => - msg.guild.id === interaction.guild.id && msg.content === `claim`; - interaction.followUp({ - content: "The drop has started in " + channel.toString(), - }); - channel.send({ - content: `${interaction.user.username} has dropped a ${client.currency} bomb! Type \`claim\` to claim ${client.currency}!!`, - }); - client.rmv(interaction.user.id, parseInt(coinsAmount)); - channel.awaitMessages({ filter, max: 1, time: 60000 }).then(async msg => { - const id = msg.first().author.id; - const coinsToClaim = parseInt(coinsAmount); - await client.add(id, coinsToClaim, interaction); - msg.first().reply({ - content: `Congratultions! You have claimed **${coinsToClaim}** ${client.currency}!`, - }); - }); - } - }, -}; diff --git a/unused/commands/Fun/ds.js b/unused/commands/Fun/ds.js deleted file mode 100644 index 675be1f..0000000 --- a/unused/commands/Fun/ds.js +++ /dev/null @@ -1,24 +0,0 @@ -const axios = require("axios"); -module.exports = { - name: "doublestruck", - description: "Doublestruck your text", - usage: "(text)", - category: "Fun", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "text", - description: "The text you want to convert", - required: true, - }, - ], - run: async (client, interaction, args) => { - const text = args[0].split(" ").join("+"); - const res = await axios.get( - "https://api.popcatdev.repl.co/doublestruck?text=" + text, - ); - const json = await res.json(); - interaction.followUp(json.text); - }, -}; diff --git a/unused/commands/Fun/fun.js b/unused/commands/Fun/fun.js deleted file mode 100644 index f1df383..0000000 --- a/unused/commands/Fun/fun.js +++ /dev/null @@ -1,130 +0,0 @@ -const { MessageEmbed, MessageAttachment } = require("discord.js"); -const { random8ball } = require("cath"); -module.exports = { - name: "fun", - description: "Fun commands", - options: [ - { - type: "SUB_COMMAND", - name: "8ball", - description: "8ball an answer", - options: [ - { - type: 3, - name: "question", - description: "The question you want to ask", - required: true, - }, - ], - }, - { - type: "SUB_COMMAND", - name: "rickroll", - description: "Rickroll?", - }, - { - type: "SUB_COMMAND", - name: "emojify", - description: "Emojify a sentence", - options: [ - { - type: 3, - name: "text", - description: "The text you want to convert", - required: true, - }, - ], - }, - { - type: "SUB_COMMAND", - name: "pp", - description: "Check how long is the user", - options: [ - { - type: 6, - name: "user", - description: "The user you want to see", - required: false, - }, - ], - }, - ], - run: async (client, interaction, args) => { - if (args[0] == "8ball") { - const data = await random8ball(); - const embed = new MessageEmbed() - .setAuthor( - `🎱 ${interaction.user.tag} asks`, - interaction.user.displayAvatarURL({ dynamic: true }) - ) - .setDescription( - `**🎱Question:** \n${args[1]} \n**🎱Answer:** \n ${data}` - ) - .setColor(client.color) - .setTimestamp() - .setURL(client.web) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - interaction.followUp({ embeds: [embed] }); - } else if (args[0] === "rickroll") { - const roll = [ - "Never gonna give you up", - "Never gonna let you down", - "Never gonna run around and desert you", - "Never gonna make you cry", - "Never gonna say goodbye", - "Never gonna tell a lie and hurt you", - ]; - const rick = roll[Math.floor(Math.random() * roll.length)]; - interaction.followUp({ - content: `**${rick}**`, - files: [ - new MessageAttachment( - "https://i.pinimg.com/originals/88/82/bc/8882bcf327896ab79fb97e85ae63a002.gif" - ), - ], - }); - } else if (args[0] === "emojify") { - const mapping = { - " ": " ", - 0: ":zero:", - 1: ":one:", - 2: ":two:", - 3: ":three:", - 4: ":four:", - 5: ":five:", - 6: ":six:", - 7: ":seven:", - 8: ":eight:", - 9: ":nine:", - "!": ":grey_exclamation:", - "?": ":grey_question:", - "#": ":hash:", - "*": ":asterisk:", - }; - "abcdefghijklmnopqrstuvwxyz".split("").forEach(c => { - mapping[c] = mapping[c.toUpperCase()] = ` :regional_indicator_${c}:`; - }); - interaction.followUp( - args[1] - .split("") - .map(c => mapping[c] || c) - .join("") - ); - } else if (args[0] === "pp") { - const { user } = - interaction.guild.members.cache.get(args[1]) || interaction.member; - const embed = new MessageEmbed() - .addField( - `${user.username}'s peepee`, - `8${"=".repeat(Math.floor(Math.random() * 20))}D` - ) - .setColor(client.color) - .setTitle("Peepee size machine") - .setTimestamp() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - interaction.followUp({ - embeds: [embed], - }); - } - }, -}; diff --git a/unused/commands/Fun/hack.js b/unused/commands/Fun/hack.js deleted file mode 100644 index b95c790..0000000 --- a/unused/commands/Fun/hack.js +++ /dev/null @@ -1,138 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "hack", - description: "Hack a user", - usage: "(User)", - category: "Fun", - options: [ - { - type: 6, - name: "user", - description: "The user you want to hack", - required: true, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args, utils) => { - const answers = [ - "@yousuck.noob", - "@hesnoob.haha", - "@thisguy.suck", - "@paypal.removed", - "@noob.haha", - "@hacked.xyz", - "@susmate.com", - "@gmail.sus", - "@why-im.withyou", - "@someone-end.me", - "@isnoob.io", - "@username-is.noob", - "@hahaget.lost", - "@yahoo.sus", - "@botmail.zip", - "@gmail.com", - "@yahoo.com", - ]; - const passwords = [ - "Disb****", - "disc******", - "pass**********", - "get****", - "mails***", - "endm****", - "gamer***********", - "asegeio*********", - "whys*******", - "Brot******", - "imwith*******", - "luckyyougotthispasswordlolnocencor", - "starb*******", - "egghunt2***", - "secr*****", - ]; - const ips = [ - "10.313.523.502.00.1", - "25.537.753.462.29.2", - "21.175.866.974.07.08", - "32.653.587.825.35.5", - "12.172.764.781.22.8", - "91.723.242.452.09.3", - "92.743.116.896.85.6", - "84.091.000.853.54.7", - "51.071.124.129.12.0", - ]; - const answer = answers[Math.floor(Math.random() * answers.length)]; - const passwrd = passwords[Math.floor(Math.random() * passwords.length)]; - const ip = ips[Math.floor(Math.random() * ips.length)]; - const taggedUser = interaction.guild.members.cache.get(args[0]); - await interaction.deleteReply(); - interaction.channel - .send(`Hacking ${taggedUser.user.username}...`) - .then(async msg => { - utils.sleep(100); - msg.edit("Status: ■□□□□□□□□□□ 0%"); - utils.sleep(100); - msg.edit("Status: ■■□□□□□□□□□ 7%: Hacking Email..."); - utils.sleep(600); - msg.edit( - `Status: ■■■□□□□□□□□ 8%:\n \`Email: ${taggedUser.user.username}@yousuck.noob\`\n \`Password: ${passwrd}\` ` - ); - utils.sleep(600); - msg.edit("Status: ■■□□□□□□□□□ 9%: Logging in to the Email..."); - utils.sleep(2000); - msg.edit("Status: ■■■□□□□□□□□ 12%: Turning off the antivirus"); - utils.sleep(1000); - msg.edit("Status: ■■■■□□□□□□ 14%: Downloading SYNAPSE X"); - utils.sleep(100); - msg.edit("Status: ■■■□□□□□□□□ 17%: Deleting Captcha..."); - utils.sleep(100); - msg.edit("Status: ■■□□□□□□□□□ 20%: Deleting Paypal account..."); - utils.sleep(10); - msg.edit("Status: ■■■□□□□□□□□ 21%"); - utils.sleep(12); - msg.edit("Status: ■■■■□□□□□□□ 22%"); - utils.sleep(100); - msg.edit("Status: ■■■■■□□□□□□ 24%: Paypal account deleted"); - utils.sleep(1000); - msg.edit("Status: ■■■■□□□□□□ 29%: Hacking is almost ready..."); - utils.sleep(80); - msg.edit("Status: ■■■□□□□□□□□ 31%"); - utils.sleep(80); - msg.edit("Status: ■■■■□□□□□□□ 36%"); - utils.sleep(40); - msg.edit("Status: ■■■■■□□□□□□ 41%"); - utils.sleep(60); - msg.edit("Status: ■■■■□□□□□□□ 47%"); - utils.sleep(50); - msg.edit("Status: ■■■■■■□□□□□ 53%"); - utils.sleep(3000); - msg.edit( - `Status: ■■■■■■■□□□□ 58%: Email password changed so ${taggedUser.user.username} can not login` - ); - utils.sleep(500); - msg.edit("Status: ■■■■■■□□□□□ 66%"); - utils.sleep(60); - msg.edit("Status: ■■■■■□□□□□□ 74%"); - utils.sleep(20); - msg.edit(`Status: ■■■■■□□□□□□ 79%: IP address found: ${ip}`); - utils.sleep(83); - msg.edit("Status: ■■■■■■□□□□ 80%"); - utils.sleep(50); - msg.edit("Status: ■■■■■■■□□□ 85%"); - utils.sleep(14); - msg.edit("Status: ■■■■■■■■■□□ 93%"); - utils.sleep(70); - msg.edit("Status: ■■■■■■■■■■□ 97%"); - utils.sleep(90); - msg.edit("Status: ■■■■■■■■■■■ 100%"); - const embed = new MessageEmbed() - .setDescription(`${taggedUser} has been hacked!`) - .addField("Email", `${taggedUser.user.username}${answer}`) - .addField("Password", `${passwrd}`) - .addField("IP address", `${ip}`) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setColor(client.color); - await msg.edit({ embeds: [embed] }); - }); - }, -}; diff --git a/unused/commands/Fun/hug.js b/unused/commands/Fun/hug.js deleted file mode 100644 index 9673961..0000000 --- a/unused/commands/Fun/hug.js +++ /dev/null @@ -1,43 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "hug", - description: "Hug someone", - category: "Fun", - usage: "(User)", - options: [ - { - type: 6, - name: "user", - description: "The user you want to hug", - required: true, - }, - { - type: 3, - name: "words", - description: "The words you want to say", - required: false, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const user = interaction.guild.members.cache.get(args[0]); - words = args[1]; - if (user.id === interaction.user.id) { - return interaction.followUp("You can't hug yourself"); - } - const embed = new MessageEmbed() - .setDescription(`${interaction.user} **hugs** ${user}`) - .setImage( - `https://media.tenor.com/images/ca88f916b116711c60bb23b8eb608694/tenor.gif` - ) - .setColor(client.color) - .setTimestamp() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - if (words) { - embed.addField("Words:", words); - } - await interaction - .followUp({ embeds: [embed] }) - .then(msg => msg.react("💕")); - }, -}; diff --git a/unused/commands/Fun/image.js b/unused/commands/Fun/image.js deleted file mode 100644 index e212dec..0000000 --- a/unused/commands/Fun/image.js +++ /dev/null @@ -1,63 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const { getreddit } = require("cath"); -module.exports = { - name: "image", - description: "Generate images", - options: [ - { - type: "SUB_COMMAND", - name: "meme", - description: "Get a meme from reddit", - }, - { - type: "SUB_COMMAND", - name: "cat", - description: "Get a cat from reddit", - }, - ], - run: async (client, interaction, args) => { - if (args[0] == "meme") { - const subreddits = ["comedyheaven", "dank", "meme", "memes"]; - const subreddit = - subreddits[Math.floor(Math.random() * subreddits.length)]; - const data = await getreddit(subreddit); - interaction.followUp({ - embeds: [ - new MessageEmbed({ - title: data.title, - url: data.url, - image: { url: data.image }, - timestamp: Date.now(), - footer: { text: data.footer }, - color: client.color, - author: { - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dynamic: true }), - }, - }), - ], - }); - } else if (args[0] === "cat") { - const subreddits = ["cat", "cats"]; - const subreddit = - subreddits[Math.floor(Math.random() * subreddits.length)]; - const data = await getreddit(subreddit); - interaction.followUp({ - embeds: [ - new MessageEmbed({ - title: data.title, - url: data.url, - image: { url: data.image }, - timestamp: Date.now(), - footer: { text: data.footer }, - color: client.color, - author: { - name: interaction.user.tag, - iconURL: interaction.user.displayAvatarURL({ dynamic: true }), - }, - }), - ], - }); - } - }, -}; diff --git a/unused/commands/Fun/kiss.js b/unused/commands/Fun/kiss.js deleted file mode 100644 index 2ab55b6..0000000 --- a/unused/commands/Fun/kiss.js +++ /dev/null @@ -1,43 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "kiss", - description: "Kiss someone", - category: "Fun", - usage: "(User)", - options: [ - { - type: 6, - name: "user", - description: "The user you want to kiss", - required: true, - }, - { - type: 3, - name: "words", - description: "The words you want to say", - required: false, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const user = interaction.guild.members.cache.get(args[0]); - words = args[1]; - if (user.id === interaction.user.id) { - return interaction.followUp("You can't kiss yourself"); - } - const embed = new MessageEmbed() - .setDescription(`${interaction.user} **kisses** ${user}`) - .setImage( - `https://media.discordapp.net/attachments/814310468906123274/817656819416825896/image0.gif` - ) - .setColor(client.color) - .setTimestamp() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - if (words) { - embed.addField("Words:", words); - } - await interaction - .followUp({ embeds: [embed] }) - .then(msg => msg.react("💕")); - }, -}; diff --git a/unused/commands/Fun/messageinfo.js b/unused/commands/Fun/messageinfo.js deleted file mode 100644 index ed4a8e3..0000000 --- a/unused/commands/Fun/messageinfo.js +++ /dev/null @@ -1,41 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "messageinfo", - category: "Information", - type: "CHAT_INPUT", - description: "Check the info of a message", - options: [ - { - type: 3, - name: "message", - description: "The message you want to see", - required: true, - }, - ], - run: async (client, interaction, args) => { - try { - await interaction.channel.messages.fetch(args[0]).catch(() => { - interaction.followUp({ - content: "Message not found in this channel..", - }); - }); - const msg = await interaction.channel.messages.cache.get(args[0]); - const hasImage = msg.attachments.size && msg.attachments.first().width; - const embed = new MessageEmbed() - .setColor(msg.member ? msg.member.displayHexColor : client.color) - .setImage(hasImage ? msg.attachments.first().url : null) - .setAuthor( - msg.author.tag, - msg.author.displayAvatarURL({ format: "png", dynamic: true }) - ) - .addField("Content", msg.content || "No content") - .setTimestamp(msg.createdAt) - .addField("ID", msg.id) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .addField("Jump", `[Click Here to Jump](${msg.url})`); - return interaction.followUp({ embeds: [embed] }); - } catch (err) { - console.log(err); - } - }, -}; diff --git a/unused/commands/Fun/obama.js b/unused/commands/Fun/obama.js deleted file mode 100644 index e6e0a8b..0000000 --- a/unused/commands/Fun/obama.js +++ /dev/null @@ -1,45 +0,0 @@ -const o = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠛⠛⠉⠉⠉⠋⠛⠛⠛⠻⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const b = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠛⠉⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠉⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const a = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const m = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠏⠄⠄⠄⠄⠄⠄⠄⠂⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠹⣿⣿⣿⣿⣿⣿⣿"; -const a2 = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠠⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠘⢻⣿⣿⣿⣿⣿"; -const aa = "⣿⣿⣿⣿⣿⣿⣿⣿⠃⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⠄⢠⠄⠄⡀⠄⠄⢀⠂⠄⠄⠄⠄⠄⠄⠄⠄⠄⡁⠄⠄⢛⣿⣿⣿⣿"; -const ab = "⣿⣿⣿⣿⣿⣿⣿⡇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠐⡈⢔⠸⣐⢕⢕⢵⢰⢱⢰⢐⢤⡡⡢⣕⢄⢢⢠⠄⠄⠄⠄⠄⠄⠙⣿⣿⣿"; -const ac = "⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡁⠂⠅⢕⠌⡎⡎⣎⢎⢮⢮⣳⡳⣝⢮⢺⢜⢕⢕⢍⢎⠪⡐⠄⠁⠄⠸⣿⣿"; -const ad = "⣿⣿⣿⣿⣿⣿⠏⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠐⠄⠄⢅⠣⡡⡣⣣⡳⡵⣝⡮⣗⣗⡯⣗⣟⡮⡮⣳⣣⣳⢱⢱⠱⣐⠄⠂⠄⢿⣿"; -const ae = "⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⠄⠄⠄⠂⠄⠄⠄⠄⠄⠄⢂⢈⠢⡱⡱⡝⣮⣿⣟⣿⣽⣷⣿⣯⣿⣷⣿⣿⣿⣾⣯⣗⡕⡇⡇⠄⠂⡀⢹⣿"; -const af = "⣿⣿⣿⣿⣿⡟⠄⠄⠄⠄⠄⠄⠂⠄⠄⠄⠄⠄⠄⠐⢀⢂⢕⢸⢨⢪⢳⡫⣟⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡺⡮⡣⡣⠠⢂⠒⢸⣿"; -const ag = "⣿⣿⣿⣿⣿⡇⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠠⠐⠄⡂⠆⡇⣗⣝⢮⢾⣻⣞⣿⣿⣿⣿⣿⣿⣿⣿⢿⣽⣯⡯⣺⢸⢘⠨⠔⡅⢨⣿"; -const ah = "⣿⣿⠋⠉⠙⠃⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⠄⠄⠄⡂⡪⡪⡪⡮⡮⡯⣻⣽⣾⣿⣿⣿⣟⣿⣿⣿⣽⣿⣿⡯⣯⡺⡸⡰⡱⢐⡅⣼⣿"; -const ai = "⣿⠡⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠠⠈⠆⠱⠑⠝⠜⠕⡝⡝⣞⢯⢿⣿⣿⡿⣟⣿⣿⣿⡿⡿⣽⣷⣽⡸⡨⡪⣂⠊⣿⣿"; -const aj = "⣿⠡⠄⡨⣢⠐⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠐⠍⡓⣗⡽⣝⠽⠍⠅⠑⠁⠉⠘⠘⠘⠵⡑⢜⢀⢀⢉⢽"; -const ak = "⣿⠁⠠⢱⢘⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠈⠱⣁⠜⡘⠌⠄⠄⡪⣳⣟⡮⢅⠤⠠⠄⠄⣀⣀⡀⡀⠄⠈⡂⢲⡪⡠⣿"; -const al = "⣿⡇⠨⣺⢐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡀⠄⠄⠄⠤⡠⡢⢒⠦⠠⠄⠄⠄⡸⢽⣟⢮⠢⡂⡐⠄⡈⡀⠤⡀⠄⠑⢄⠨⢸⡺⣐⣿"; -const am = "⣿⣿⠈⠕⠁⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡂⡪⡐⡥⢤⣰⣰⣰⡴⡮⠢⠂⠄⠄⡊⢮⢺⢕⢵⢥⡬⣌⣒⡚⣔⢚⢌⢨⢚⠌⣾⡪⣾⣿"; -const an = "⣿⣿⣆⠄⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⡑⢕⢕⡯⡷⣕⢧⢓⢭⠨⡀⠄⡂⠨⡨⣪⡳⣝⢝⡽⣻⣻⣞⢽⣲⢳⢱⢡⠱⠨⣟⢺⣿⣿"; -const ao = "⣿⣿⣿⡆⠄⡅⠇⡄⠄⠄⠄⠄⠄⠄⠄⠐⠨⢪⢹⢽⢽⣺⢝⠉⠁⠁⠄⠄⠄⢌⢎⡖⡯⡎⡗⢝⠜⣶⣯⣻⢮⡻⣟⣳⡕⠅⣷⣿⣿⣿"; -const ap = "⣿⣿⣿⣿⣶⣶⣿⣷⠄⠄⠄⠄⠄⠄⠄⠄⠈⠔⡑⠕⠝⠄⡀⠄⠄⠊⢆⠂⠨⡪⣺⣮⣿⡾⡜⣜⡜⣄⠙⢞⣿⢿⡿⣗⢝⢸⣾⣿⣿⣿"; -const aq = "⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⠄⡀⠄⠄⠄⠄⢀⠄⠠⠄⠠⠄⠄⠄⠄⠄⠄⠊⠺⡹⠳⡙⡜⡓⡭⡺⡀⠄⠣⡻⡹⡸⠨⣣⣿⣿⣿⣿"; -const ar = "⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⠄⠠⠄⠄⣂⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢄⠤⡤⡄⡆⡯⡢⡣⡣⡓⢕⠽⣄⠄⠨⡂⢌⣼⣿⣿⣿⣿⣿"; -const a_ = "⣿⣿⣿⣿⣿⣿⣿⣿⡆⠄⠄⠄⠄⠈⠆⠄⠸⡂⠄⠄⠄⢀⠄⢀⠈⠄⠂⠁⠙⠝⠼⠭⠣⠣⠣⠑⠌⠢⠣⡣⡠⡘⣰⣱⣿⣿⣿⣿⣿⣿"; -const at = "⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⠄⠄⠄⠄⢑⠄⠈⡱⠄⢘⠄⡀⠨⢐⣧⣳⣷⣶⣦⣤⣴⣶⣶⣶⡶⠄⡠⡢⡕⣜⠎⡮⣣⣿⣿⣿⣿⣿⣿⣿"; -const au = "⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⠄⠄⠄⠄⠄⠢⠄⠨⠄⠄⠣⡀⠄⢀⢀⢙⠃⡿⢿⠿⡿⡿⢟⢋⢔⡱⣝⢜⡜⡪⡪⣵⣿⣿⣿⣿⣿⣿⣿⣿"; -const av = "⣿⣿⣿⣿⣿⣿⣿⣿⡁⠄⠄⠄⠄⠄⠄⠄⠅⠄⠡⠄⠄⠡⢀⢂⠢⡡⠡⠣⡑⣏⢯⡻⡳⣹⡺⡪⢎⠎⡆⢣⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const aw = "⣿⣿⣿⣿⣿⣿⣿⣿⣇⠄⠄⠄⠄⠄⠄⠄⠐⠄⠄⠁⠄⢈⠄⢂⠕⡕⡝⢕⢎⢎⢮⢎⢯⢺⢸⢬⠣⢃⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const ax = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠠⠨⡐⠌⢆⢇⢧⢭⣣⡳⣵⢫⣳⢱⠱⢑⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const ay = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠁⡊⢌⢢⢡⢣⢪⡺⡪⡎⡎⡎⡚⣨⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const az = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠕⡅⢗⢕⡳⡭⣳⢕⠕⡱⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const ba = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠌⠄⠑⠩⢈⢂⣱⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const bb = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡀⢄⠄⣀⠄⡀⣀⢠⢄⣖⣖⣞⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; -const bc = "⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣱⡐⡕⡕⡽⣝⣟⣮⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿"; - -module.exports = { - name: "obama", - category: "Utilities", - description: "Obama", - run: async (client, interaction, args) => { - interaction.followUp({ - content: `${o}\n${b}\n${a}\n${m}\n${a2}\n${aa}\n${ab}\n${ac}\n${ad}\n${ae}\n${af}\n${ag}\n${ah}\n${ai}\n${aj}\n${ak}\n${al}\n${am}\n${an}\n${ao}\n${ap}\n${aq}\n${ar}\n${a_}\n${at}\n${au}\n${av}\n${aw}\n${ax}\n${ay}\n${az}\n${ba}\n${bb}\n${bc}`, - }); - }, -}; diff --git a/unused/commands/Fun/quote.js b/unused/commands/Fun/quote.js deleted file mode 100644 index 3949f93..0000000 --- a/unused/commands/Fun/quote.js +++ /dev/null @@ -1,42 +0,0 @@ -const { - Client, - Message, - MessageEmbed, - MessageAttachment, -} = require("discord.js"); -// const { Canvas } = require("canvacord"); -module.exports = { - name: "quote", - description: "Quote a message", - usage: "{User} (Message)", - category: "Fun", - run: async (client, message, args) => { - const member = message.mentions.users.first() || message.author; - if (message.mentions.users.first()) { - const imgae = await Canvas.quote({ - image: member.displayAvatarURL({ - format: "png", - }), - message: args.slice(1).join(" "), - username: member.displayName ? member.displayName : member.username, - color: "ffffff", - }); - const attach = new MessageAttachment(imgae, "quote.png"); - message.reply(attach); - } - else { - const imgae = await Canvas.quote({ - image: message.author.displayAvatarURL({ - format: "png", - }), - message: args.join(" "), - username: message.member.nickname - ? message.member.nickname - : member.username, - color: "ffffff", - }); - const attach = new MessageAttachment(imgae, "quote.png"); - message.reply(attach); - } - }, -}; diff --git a/unused/commands/Fun/roleinfo.js b/unused/commands/Fun/roleinfo.js deleted file mode 100644 index 5e57090..0000000 --- a/unused/commands/Fun/roleinfo.js +++ /dev/null @@ -1,85 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const moment = require("moment"); -module.exports = { - name: "roleinfo", - description: "Get information of a role", - category: "Infromation", - options: [ - { - name: "role", - type: "ROLE", - description: "The role you want to see", - required: true, - }, - ], - type: "CHAT_INPUT", - /** - * - * @param {Client} client - * @param {CommandInteracion} interaction - * @param {String[]} args - */ - run: async (client, interaction, args, utils) => { - const role = interaction.guild.roles.cache.get(args[0]); - const position = `\`${ - interaction.guild.roles.cache.size - role.position - }\`/\`${interaction.guild.roles.cache.size}\``; - const embed = new MessageEmbed() - .setTimestamp() - .setURL(client.web) - .setAuthor( - interaction.member.displayName, - interaction.user.displayAvatarURL({ dynamic: true }) - ) - .setTitle("Role Info") - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setColor(role.color) - .addFields( - { - name: "ID", - value: role.id, - }, - { - name: "Name", - value: role.name, - inline: true, - }, - { - name: "Color", - value: role.hexColor, - inline: true, - }, - { - name: "Position", - value: position, - inline: true, - }, - { - name: `Hoisted`, - value: `${role.hoist ? "Yes" : "No"}`, - inline: true, - }, - { - name: "Mentionable", - value: `${role.mentionable ? "Yes" : "No"}`, - inline: true, - }, - { - name: "Bot Role", - value: `${role.managed ? "Yes" : "No"}`, - inline: true, - }, - { - name: "Creation Date", - value: `\`${moment(role.createdAt).format("DD/MMM/YYYY")}\``, - inline: true, - }, - { - name: "Permissions", - value: utils.fixPermissions(role.permissions.toArray()), - inline: true, - } - ); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/unused/commands/Fun/rps.js b/unused/commands/Fun/rps.js deleted file mode 100644 index 960534b..0000000 --- a/unused/commands/Fun/rps.js +++ /dev/null @@ -1,223 +0,0 @@ -const Discord = require("discord.js"); - -module.exports = { - name: "rockpaperscissors", - description: "Play RPS with someone", - usage: "(User)", - category: "Fun", - options: [ - { - type: 6, - name: "user", - description: "The user you want to play with", - required: true, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args, utils) => { - const user = interaction.guild.members.cache.get(args[0]); - if (user.user.id == interaction.user.id) { - return interaction.followUp("You can't play with yourself"); - } - if (user.user.bot) return interaction.followUp("You can't play with bots"); - - const embed = new Discord.MessageEmbed() - .setDescription(`Wait for **${user.user.username}** to accept your game`) - .setColor(client.color) - .setTimestamp() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - - const confirm = new Discord.MessageActionRow().addComponents( - new Discord.MessageButton() - .setLabel("Accept") - .setStyle("SUCCESS") - .setCustomId("accept") - .setEmoji("808683134786863124"), - new Discord.MessageButton() - .setLabel("Decline") - .setStyle("DANGER") - .setCustomId("decline") - .setEmoji("808683573544353792") - ); - await interaction - .followUp({ - content: `<@!${user.user.id}>`, - embeds: [embed], - components: [confirm], - }) - .then(async m => { - const filter = button => button.user.id == user.user.id; - const collector = m.createMessageComponentCollector({ - filter, - type: "BUTTON", - time: 60000, - }); - collector.on("collect", button => { - if (button.customId == "decline") { - button.deferUpdate(); - return collector.stop("decline"); - } - button.deferUpdate(); - const pick = new Discord.MessageEmbed() - .setTitle(`${interaction.user.username} VS ${user.user.username}`) - .setColor(client.color) - .setDescription("Choose either 🪨, 📄, or ✂️") - .setTimestamp(); - const choices = new Discord.MessageActionRow().addComponents( - new Discord.MessageButton() - .setCustomId("rock") - .setStyle("SECONDARY") - .setEmoji("🪨"), - new Discord.MessageButton() - .setCustomId("paper") - .setStyle("SECONDARY") - .setEmoji("📄"), - new Discord.MessageButton() - .setCustomId("scissors") - .setStyle("SECONDARY") - .setEmoji("✂️") - ); - m.edit({ - embeds: [pick], - components: [choices], - }); - collector.stop(); - const users = new Set(); - users.add(interaction.user.id); - users.add(user.user.id); - let ping, pong; - const filter = b => users.has(b.user.id); - const collect = m.createMessageComponentCollector({ - filter, - type: "BUTTON", - time: 60000, - }); - collect.on("collect", async b => { - users.delete(b.user.id); - if (b.user.id == user.user.id) { - ping = b.customId; - await b.reply({ - content: `You have choosen **${utils.format(ping)}**`, - ephemeral: true, - }); - } - if (b.user.id == interaction.user.id) { - pong = b.customId; - await b.reply({ - content: `You have choosen **${utils.format(pong)}**`, - ephemeral: true, - }); - } - if (users.size == 0) return collect.stop(); - }); - collect.on("end", (c, reason) => { - if (reason == "time") { - const timeout = new Discord.MessageEmbed() - .setTitle("Timeout") - .setColor("RED") - .setDescription( - "Game cancelled since a player didn't react in time" - ); - m.edit({ - embeds: [timeout], - }); - } else { - const sit1 = ping == "rock" && pong == "scissors"; - const sit2 = ping == "scissors" && pong == "rock"; - const sit3 = ping == "scissors" && pong == "paper"; - const sit4 = ping == "paper" && pong == "scissors"; - const sit5 = ping == "paper" && pong == "rock"; - const sit6 = ping == "rock" && pong == "paper"; - if (sit1 || sit3 || sit5) { - const embed = new Discord.MessageEmbed() - .setTitle(`${user.user.username} wins!`) - .setColor("GREEN") - .setFooter( - `Made by ${client.author}`, - client.user.displayAvatarURL() - ) - .addField( - `${user.user.username} choice`, - `${utils.format(ping)}` - ) - .addField( - `${interaction.user.username} choice`, - `${utils.format(pong)}` - ) - .setTimestamp(); - m.edit({ - embeds: [embed], - components: [], - }); - } else if (sit2 || sit4 || sit6) { - const embed = new Discord.MessageEmbed() - .setTitle(`${interaction.user.username} wins!`) - .setColor("GREEN") - .setFooter( - `Made by ${client.author}`, - client.user.displayAvatarURL() - ) - .addField( - `${interaction.user.username} choice`, - `${utils.format(pong)}` - ) - .addField( - `${user.user.username} choice`, - `${utils.format(ping)}` - ) - .setTimestamp(); - m.edit({ - embeds: [embed], - components: [], - }); - } else { - const embed = new Discord.MessageEmbed() - .setTitle(`Tie!`) - .setColor("GREY") - .setFooter( - `Made by ${client.author}`, - client.user.displayAvatarURL() - ) - .addField( - `${interaction.user.username} choice`, - `${utils.format(pong)}` - ) - .addField( - `${user.user.username} choice`, - `${utils.format(ping)}` - ) - .setTimestamp(); - m.edit({ embeds: [embed], components: [] }); - } - } - }); - }); - collector.on("end", (collected, reason) => { - if (reason == "time") { - const embed = new Discord.MessageEmbed() - .setTitle("Timeout") - .setColor("RED") - .setDescription( - `**${user.user.username}** did not confirm before 60 seconds of time` - ); - m.edit({ - embeds: [embed], - components: [], - }); - } - if (reason == "decline") { - const embed = new Discord.MessageEmbed() - .setTitle("Declined") - .setColor("RED") - .setDescription( - `**${user.user.username}** has declined your game of RPS` - ); - m.edit({ - embeds: [embed], - components: [], - }); - } - }); - }); - }, -}; diff --git a/unused/commands/Fun/sr.js b/unused/commands/Fun/sr.js deleted file mode 100644 index 5da1126..0000000 --- a/unused/commands/Fun/sr.js +++ /dev/null @@ -1,29 +0,0 @@ -const axios = require("axios"); - -module.exports = { - name: "superscript", - description: "Superscript your text", - usage: "(text)", - category: "Fun", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "text", - description: "The text you want to convert", - required: true, - }, - ], - run: async (client, interaction, args) => { - const text = args[0]; - if (text.includes("@")) { - return interaction.followUp({ - content: "Text cannot includes '@'", - }); - } - const data = await axios - .get(`${process.env.api}/api/v1/fun/superscript?text=${text}`) - .then(res => res.data.text); - interaction.followUp({ content: data }); - }, -}; diff --git a/unused/commands/Fun/topic.js b/unused/commands/Fun/topic.js deleted file mode 100644 index 2aeef6a..0000000 --- a/unused/commands/Fun/topic.js +++ /dev/null @@ -1,18 +0,0 @@ -const topics = require("../../../util/Data/topics.json"); -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "topic", - description: "Generate topics", - run: async (client, interaction, args) => { - const embed = new MessageEmbed() - .setTitle(`${interaction.user.username} picked a topic`) - .setDescription(`${topics[Math.floor(Math.random() * topics.length)]}`) - .setColor(client.color) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setThumbnail( - "https://media.discordapp.net/attachments/896078559293104128/896392631565828146/nyx_logo_transparent.webp" - ); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/unused/commands/Fun/topics.json b/unused/commands/Fun/topics.json deleted file mode 100644 index 2c6bf19..0000000 --- a/unused/commands/Fun/topics.json +++ /dev/null @@ -1,31 +0,0 @@ -[ - "If you could be best friends with any person in the world, who would it be?", - "How can governments make education more efficient?", - "What is something you enjoy enjoy or like about discord?", - "Do you play any sports?", - "What are your plans for the weekend?", - "What kind of music are you into?", - "What music did you like when you were younger?", - "What’s your favorite movie?", - "Who’s your favorite actor / actress / director?", - "Do you like cooking?", - "Do you like reading books?", - "Are there any books you would really recommend I read?", - "Where do you wish you could go?", - "What’s your favorite place you’ve been?", - "What hobbies did you have when you were younger?", - "What pet would you like to have?", - "What current trend is going to look the silliest in 10 years?", - "What subjects were hardest for you in school?", - "What’s your favorite app on your phone?", - "What app would you suggest everyone get?", - "What’s your favorite season? And why?", - "What is the longest you’ve been offline?", - "What's your opinion on console or PC games?", - "Do you think that VR will become mainstream in the near future?", - "What is that myth that you grew up knowing but found out recently that is a lie?", - "If you had to erase a movie from your mind, which one would it be?", - "Have you ever wished you were born on another planet?", - "What makes someone a good person?", - "What qualities do you look for in a friend?" -] \ No newline at end of file diff --git a/unused/commands/Fun/triggered.js b/unused/commands/Fun/triggered.js deleted file mode 100644 index 84a9e18..0000000 --- a/unused/commands/Fun/triggered.js +++ /dev/null @@ -1,25 +0,0 @@ -// const { Canvas } = require("canvacord"); -const { MessageAttachment } = require("discord.js"); -module.exports = { - name: "triggered", - usage: "{User}", - description: "Have a trigger effect on a user's avatar", - category: "Fun", - options: [ - { - type: 6, - name: "user", - description: "The user you want to use the effect", - required: true, - }, - ], - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const user = interaction.guild.members.cache.get(args[0]); - const ava = user.user.displayAvatarURL({ format: "png", size: 2048 }); - const imga = await Canvas.trigger(ava); - interaction.followUp({ - files: [new MessageAttachment(imga, "image.gif")], - }); - }, -}; diff --git a/unused/commands/Information/banner.js b/unused/commands/Information/banner.js deleted file mode 100644 index 43127f5..0000000 --- a/unused/commands/Information/banner.js +++ /dev/null @@ -1,52 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "banner", - description: "Show user's banner", - type: "CHAT_INPUT", - usage: "{User}", - category: "Information", - options: [ - { - type: 6, - name: "user", - description: "The user you want to see", - required: false, - }, - ], - run: async (client, interaction, args) => { - const { user } = - interaction.guild.members.cache.get(args[0]) || interaction.member; - const data = await user.fetch(); - if (data?.banner) { - const extension = data.banner.startsWith("a_") ? ".gif" : ".png"; - const url = `https://cdn.discordapp.com/banners/${user.id}/${data.banner}${extension}?size=2048`; - - const embed = new MessageEmbed() - .setDescription(`[Link to Banner](${url})`) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setTitle(`${user.tag}'s Banner`) - .setImage(url) - .setColor(data?.hexAccentColor || client.color); - interaction.followUp({ embeds: [embed] }); - } else if (data?.hexAccentColor) { - const embed = new MessageEmbed() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setDescription( - `**${user.tag}** does not have a banner but they have an accent color` - ) - .setColor(data?.hexAccentColor); - interaction.followUp({ embeds: [embed] }); - } else { - const embed = new MessageEmbed() - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setDescription( - `Seems like **${user.username}** doesn't have a banner or an accent color.` - ) - .setColor(client.color); - interaction.followUp({ embeds: [embed] }); - } - }, -}; diff --git a/unused/commands/Information/servericon.js b/unused/commands/Information/servericon.js deleted file mode 100644 index e64e5bd..0000000 --- a/unused/commands/Information/servericon.js +++ /dev/null @@ -1,17 +0,0 @@ -const { MessageEmbed } = require("discord.js"); - -module.exports = { - name: "servericon", - description: "View the icon of the server", - category: "Information", - type: "CHAT_INPUT", - run: async (client, interaction, args) => { - const Embed = new MessageEmbed() - .setTitle(`Icon of ${interaction.guild.name}`) - .setURL(client.web) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setImage(interaction.guild.iconURL({ dynamic: true, size: 2048 })); - interaction.followUp({ embeds: [Embed] }); - }, -}; diff --git a/unused/commands/Information/serverinfo.js b/unused/commands/Information/serverinfo.js deleted file mode 100644 index 06d8a62..0000000 --- a/unused/commands/Information/serverinfo.js +++ /dev/null @@ -1,185 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const moment = require("moment"); -const filterLevels = { - DISABLED: "Off", - MEMBERS_WITHOUT_ROLES: "No Role", - ALL_MEMBERS: "Everyone", -}; - -const verificationLevels = { - NONE: "None", - LOW: "Low", - MEDIUM: "Medium", - HIGH: "High", - VERY_HIGH: "Very High", -}; - -const regions = { - brazil: "Brazil", - europe: "Europe", - hongkong: "Hong Kong", - india: "India", - japan: "Japan", - russia: "Russia", - singapore: "Singapore", - southafrica: "South Africa", - sydeny: "Sydeny", - "us-central": "US Central", - "us-east": "US East", - "us-west": "US West", - "us-south": "US South", -}; - -module.exports = { - name: "serverinfo", - description: "Check the info of the server", - category: "Information", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "server", - description: "The server you want to see (Paste Server ID)", - required: false, - }, - ], - run: async (client, interaction, args, utils) => { - try { - const g = client.guilds.cache.get(args[0]) || interaction.guild; - const vanityCode = g.vanityURLCode; - let vanityInvite = `https://discord.gg/${vanityCode}`; - if (vanityCode === null) vanityInvite = "No custom URL"; - const members = g.members.cache; - const roles = g.roles.cache - .sort((a, b) => b.position - a.position) - .map(role => role.toString()); - const owner = await g.fetchOwner(); - const voiceChannel = g.channels.cache.filter( - ch => ch.type === "GUILD_VOICE" - ).size; - const textChannel = g.channels.cache.filter( - ch => ch.type === "GUILD_TEXT" - ).size; - const categoryChannel = g.channels.cache.filter( - ch => ch.type === "GUILD_CATEGORY" - ).size; - const embed = new MessageEmbed() - .setTimestamp() - .setTitle("**Server Information**") - .setAuthor(`${g.name}`, g.iconURL({ dynamic: true })) - .setColor(client.color) - .setDescription(g.description || "No Description") - .setThumbnail(g.iconURL({ dynamic: true, size: 1024 })) - .addFields( - { - name: `<:nyx_owner:897418259433943120> Owner Info`, - value: ` - **Owner ❯** ${owner} - 🆔 **Owner ID ❯** \`${owner.id}\` - `, - inline: true, - }, - { - name: `Misc Info`, - value: ` - **🆔 Server ID ❯** \`${g.id}\` - **🌐 Region ❯** ${regions[g.regions]} - **🔗 Vanity Link ❯** [${vanityCode}](${vanityInvite}) - `, - inline: true, - }, - { - name: ` Creation Date`, - value: ` - ${moment(g.createdTimestamp).format("LL")} ${moment( - g.createdTimestamp - ).format("LTS")} (${moment(g.createdTimestamp).fromNow()})`, - inline: true, - }, - // Row 2 - { - name: `<:4chanluv:836623612689121320> Emojies ${g.emojis.cache}`, - value: ` - **Static ❯** ${g.emojis.cache.size.toString()} - **Animated ❯** ${g.emojis.cache - .filter(emoji => emoji.animated) - .size.toString()}`, - inline: true, - }, - { - name: `Member Statistics`, - value: ` - 👥 **Total❯** ${g.memberCount.toString()} - 🚶 **Users❯** ${members - .filter(member => !member.user.bot) - .size.toString()} - 🤖 **Bots❯** ${members - .filter(member => member.user.bot) - .size.toString()}`, - inline: true, - }, - { - name: `Channel Info`, - value: ` - 📁 **Categories ❯** ${categoryChannel} - #️⃣ **Text❯** ${textChannel} - 🔊 **Voice❯** ${voiceChannel}`, - inline: true, - }, - // Row 3 - { - name: `Server Specification`, - value: ` - **<:partner:840231939944480829> Partnered ❯** ${ - g.partnered - ? "" - : "" - } - **<:verifiedserver:897410018234728449> Verified ❯** ${ - g.verified - ? "" - : "" - } - **🚥 Verification Level ❯** ${verificationLevels[g.verificationLevel]} - **💢 Explicit Filter ❯** ${filterLevels[g.explicitContentFilter]} - **Tier ❯** ${ - g.premiumTier == "TIER_3" - ? "3 <:nyx_tier3:897406181511946261>" - : g.premiumTier == "TIER_2" - ? "2 <:nyx_tier2:897406181541281792>" - : g.premiumTier == "TIER_1" - ? "1 <:nyx_tier1:897406181558067210>" - : "0" - } - **Count ❯** ${g.premiumSubscriptionCount || "0"}`, - inline: true, - }, - { - name: ` Community Features`, - value: `${ - utils.fixFeatures(g.features) || "No Community Features" - }`, - inline: true, - }, - { - name: `👔 Role Info [${roles.length}]`, - value: `${ - roles.length < 10 - ? roles.join(" **|** ") - : roles.length > 10 - ? `${roles.slice(0, 10).join(" **|** ")}\n+${ - roles.length - 10 - } roles...` - : "None" - }`, - inline: true, - } - ) - .setURL(vanityCode ? vanityInvite : "https://cath.gq/") - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()); - interaction.followUp({ embeds: [embed] }); - } catch (e) { - console.log(e); - } - }, -}; diff --git a/unused/commands/Moderation/announce.js b/unused/commands/Moderation/announce.js deleted file mode 100644 index 459f2e7..0000000 --- a/unused/commands/Moderation/announce.js +++ /dev/null @@ -1,63 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "announce", - UserPerms: ["MANAGE_MESSAGES"], - BotPerms: ["MANAGE_MESSAGES"], - usage: "{Channel} (Message)", - description: "Announce a message to a channel.", - category: "Moderation", - options: [ - { - type: 7, - name: "channel", - description: "The channel to announce", - required: true, - channelTypes: ["GUILD_TEXT"], - }, - { - type: 3, - name: "message", - description: "The message to announce", - required: true, - }, - ], - run: async (client, interaction, args) => { - const channel = interaction.guild.channels.cache.get(args[0]); - if (channel.type !== "GUILD_TEXT") { - return interaction.followUp({ - content: "Please provide a text channel", - }); - } - try { - channel.send({ - embeds: [ - new MessageEmbed() - .setAuthor( - `Sent by ${interaction.member.displayName}`, - interaction.user.displayAvatarURL({ dynamic: true }), - ) - .setDescription(args[1]) - .setTimestamp() - .setColor(client.color), - ], - }); - interaction.followUp({ - embeds: [ - new MessageEmbed() - .setTitle(`Message Announced`) - .addField("**Moderator**", interaction.user.tag, true) - .setFooter( - `Made by ${client.author}`, - client.user.displayAvatarURL(), - ) - .setTimestamp() - .setColor(client.color), - ], - }); - } - catch (e) { - console.log(e); - interaction.followUp({ content: `**Error**: ${e.message}` }); - } - }, -}; diff --git a/command/Moderation/ban.js b/unused/commands/Moderation/ban.js similarity index 100% rename from command/Moderation/ban.js rename to unused/commands/Moderation/ban.js diff --git a/command/Moderation/kick.js b/unused/commands/Moderation/kick.js similarity index 100% rename from command/Moderation/kick.js rename to unused/commands/Moderation/kick.js diff --git a/command/Moderation/lock.js b/unused/commands/Moderation/lock.js similarity index 100% rename from command/Moderation/lock.js rename to unused/commands/Moderation/lock.js diff --git a/command/Moderation/mute.js b/unused/commands/Moderation/mute.js similarity index 100% rename from command/Moderation/mute.js rename to unused/commands/Moderation/mute.js diff --git a/command/Moderation/nuke.js b/unused/commands/Moderation/nuke.js similarity index 100% rename from command/Moderation/nuke.js rename to unused/commands/Moderation/nuke.js diff --git a/unused/commands/Moderation/permission.js b/unused/commands/Moderation/permission.js deleted file mode 100644 index 62af139..0000000 --- a/unused/commands/Moderation/permission.js +++ /dev/null @@ -1,120 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "permission", - usage: "(User)", - description: "Show user's permission in server/channel", - category: "Utilities", - type: "CHAT_INPUT", - options: [ - { - type: 6, - name: "user", - description: "The use you want to see", - required: false, - }, - ], - run: async (client, interaction, args) => { - const yes = "✔️"; - const no = "❌"; - const x = "```"; - const s = "📛"; - const c = "♨️"; - - const permissions = [ - "CREATE_INSTANT_INVITE", - "KICK_MEMBERS", - "BAN_MEMBERS", - "ADMINISTRATOR", - "MANAGE_CHANNELS", - "MANAGE_GUILD", - "ADD_REACTIONS", - "VIEW_AUDIT_LOG", - "PRIORITY_SPEAKER", - "STREAM", - "VIEW_CHANNEL", - "SEND_MESSAGES", - "SEND_TTS_MESSAGES", - "MANAGE_MESSAGES", - "EMBED_LINKS", - "ATTACH_FILES", - "READ_MESSAGE_HISTORY", - "MENTION_EVERYONE", - "USE_EXTERNAL_EMOJIS", - "VIEW_GUILD_INSIGHTS", - "CONNECT", - "SPEAK", - "STREAM", - "MUTE_MEMBERS", - "DEAFEN_MEMBERS", - "MOVE_MEMBERS", - "USE_VAD", - "CHANGE_NICKNAME", - "MANAGE_NICKNAMES", - "MANAGE_ROLES", - "MANAGE_WEBHOOKS", - "MANAGE_EMOJIS_AND_STICKER", - "USE_VAD", - "PRIORITY_SPEAKER", - "REQUEST_TO_SPEAK", - "MANAGE_THREADS", - "USE_PUBLIC_THREADS", - "USE_PRIVATE_THREADS", - "USE_EXTERNAL_STICKERS", - "USE_APPLICATION_COMMANDS", - ]; - - const user = - interaction.guild.members.cache.get(args[0]) || interaction.member; - const userId = user.user.id; - let description = `Server - ${s}\nCurrent channel - ${c}\n\n${s} | ${c}\n`; - const embed = new MessageEmbed() - .setTitle(`${user.user.username} Permissions`) - .setColor(user.displayColor) - .setURL(client.web) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp(); - permissions.forEach(perm => { - description += `${user.permissions.has(perm) ? yes : no} | ${ - interaction.channel.permissionsFor(userId).has(perm) ? yes : no - } - ${perm - .replace("CREATE_INSTANT_INVITE", "Create Invite") - .replace("KICK_MEMBERS", "Kick Members") - .replace("BAN_MEMBERS", "Ban Members") - .replace("ADMINISTRATOR", "Administrator") - .replace("MANAGE_CHANNELS", "Manage Channels") - .replace("MANAGE_GUILD", "Manage Guild") - .replace("ADD_REACTIONS", "Add Reactions") - .replace("VIEW_AUDIT_LOG", "View Audit Log") - .replace("PRIORITY_SPEAKER", "Priority Speaker") - .replace("STREAM", "Video") - .replace("VIEW_CHANNEL", "View Channel") - .replace("SEND_MESSAGES", "Send Messages") - .replace("SEND_TTS_MESSAGES", "Send TTS Messages") - .replace("MANAGE_MESSAGES", "Manage Messages") - .replace("EMBED_LINKS", "Embed Links") - .replace("ATTACH_FILES", "Attach Files") - .replace("READ_MESSAGE_HISTORY", "Read Message History") - .replace("MENTION_EVERYONE", "Mention Everyone") - .replace("USE_EXTERNAL_EMOJIS", "Use External Emojis") - .replace("VIEW_GUILD_INSIGHTS", "View Guild Insights") - .replace("CONNECT", "Connect") - .replace("SPEAK", "Speak") - .replace("MUTE_MEMBERS", "Mute Members") - .replace("DEAFEN_MEMBERS", "Defean Members") - .replace("MOVE_MEMBERS", "Move Members") - .replace("USE_VAD", "Use VAD") - .replace("CHANGE_NICKNAME", "Change Nickname") - .replace("MANAGE_NICKNAMES", "Manage Nicknames") - .replace("MANAGE_ROLES", "Manage Roles") - .replace("MANAGE_WEBHOOKS", "Manage Webhooks") - .replace("MANAGE_EMOJIS_AND_STICKER", "Manage Emojis and Sticker") - .replace("MANAGE_THREADS", "Manage Threads") - .replace("USE_PUBLIC_THREADS", "Use Public Threads") - .replace("USE_PRIVATE_THREADS", "Use Private Threads") - .replace("USE_EXTERNAL_STICKERS", "Use External Stickers") - .replace("USE_APPLICATION_COMMANDS", "Use Application Commands")}\n`; - }); - embed.setDescription(x + description + x); - interaction.followUp({ embeds: [embed] }); - }, -}; diff --git a/command/Moderation/purge.js b/unused/commands/Moderation/purge.js similarity index 100% rename from command/Moderation/purge.js rename to unused/commands/Moderation/purge.js diff --git a/command/Moderation/role.js b/unused/commands/Moderation/role.js similarity index 100% rename from command/Moderation/role.js rename to unused/commands/Moderation/role.js diff --git a/command/Moderation/slowmode.js b/unused/commands/Moderation/slowmode.js similarity index 100% rename from command/Moderation/slowmode.js rename to unused/commands/Moderation/slowmode.js diff --git a/command/Moderation/unban.js b/unused/commands/Moderation/unban.js similarity index 100% rename from command/Moderation/unban.js rename to unused/commands/Moderation/unban.js diff --git a/command/Moderation/unmute.js b/unused/commands/Moderation/unmute.js similarity index 100% rename from command/Moderation/unmute.js rename to unused/commands/Moderation/unmute.js diff --git a/command/Moderation/warn.js b/unused/commands/Moderation/warn.js similarity index 99% rename from command/Moderation/warn.js rename to unused/commands/Moderation/warn.js index acbb211..9b7ca6b 100644 --- a/command/Moderation/warn.js +++ b/unused/commands/Moderation/warn.js @@ -1,4 +1,4 @@ -const db = require("../../models/warns"); +const db = require("../../../models/warns"); const moment = require("moment"); const { MessageEmbed } = require("discord.js"); module.exports = { diff --git a/command/Music/bassboost.js b/unused/commands/Music/bassboost.js similarity index 100% rename from command/Music/bassboost.js rename to unused/commands/Music/bassboost.js diff --git a/command/Music/clearqueue.js b/unused/commands/Music/clearqueue.js similarity index 100% rename from command/Music/clearqueue.js rename to unused/commands/Music/clearqueue.js diff --git a/command/Music/disconnect.js b/unused/commands/Music/disconnect.js similarity index 100% rename from command/Music/disconnect.js rename to unused/commands/Music/disconnect.js diff --git a/command/Music/grab.js b/unused/commands/Music/grab.js similarity index 100% rename from command/Music/grab.js rename to unused/commands/Music/grab.js diff --git a/command/Music/loop.js b/unused/commands/Music/loop.js similarity index 100% rename from command/Music/loop.js rename to unused/commands/Music/loop.js diff --git a/command/Music/move.js b/unused/commands/Music/move.js similarity index 100% rename from command/Music/move.js rename to unused/commands/Music/move.js diff --git a/command/Music/nowplaying.js b/unused/commands/Music/nowplaying.js similarity index 100% rename from command/Music/nowplaying.js rename to unused/commands/Music/nowplaying.js diff --git a/command/Music/pause.js b/unused/commands/Music/pause.js similarity index 100% rename from command/Music/pause.js rename to unused/commands/Music/pause.js diff --git a/command/Music/play.js b/unused/commands/Music/play.js similarity index 100% rename from command/Music/play.js rename to unused/commands/Music/play.js diff --git a/command/Music/queue.js b/unused/commands/Music/queue.js similarity index 100% rename from command/Music/queue.js rename to unused/commands/Music/queue.js diff --git a/command/Music/remove.js b/unused/commands/Music/remove.js similarity index 100% rename from command/Music/remove.js rename to unused/commands/Music/remove.js diff --git a/command/Music/resume.js b/unused/commands/Music/resume.js similarity index 100% rename from command/Music/resume.js rename to unused/commands/Music/resume.js diff --git a/command/Music/seek.js b/unused/commands/Music/seek.js similarity index 100% rename from command/Music/seek.js rename to unused/commands/Music/seek.js diff --git a/command/Music/shuffle.js b/unused/commands/Music/shuffle.js similarity index 100% rename from command/Music/shuffle.js rename to unused/commands/Music/shuffle.js diff --git a/command/Music/skip.js b/unused/commands/Music/skip.js similarity index 100% rename from command/Music/skip.js rename to unused/commands/Music/skip.js diff --git a/command/Music/volume.js b/unused/commands/Music/volume.js similarity index 100% rename from command/Music/volume.js rename to unused/commands/Music/volume.js diff --git a/unused/commands/Owner/encrypt.js b/unused/commands/Owner/encrypt.js deleted file mode 100644 index 0faca68..0000000 --- a/unused/commands/Owner/encrypt.js +++ /dev/null @@ -1,39 +0,0 @@ -module.exports = { - name: "code", - Owner: true, - run: async (client, message, args) => { - const encrypted = encrypt(args.slice(0).join(" ")); - message.channel.send(`\`\`\`${encrypted}\`\`\``); - message.channel.send(`\`\`\`${decrypt(encrypted)}\`\`\``); - const str; - function encrypt(inp) { - let str = inp.split(""), - out = ""; - str.forEach((c, i) => { - if (c == " ") { - out += " "; - } else if (i % 3 == 0) { - out += String.fromCharCode(c.charCodeAt(0) + 3); - } else { - out += String.fromCharCode(c.charCodeAt(0) - 2); - } - }); - return out; - } - - function decrypt(inp) { - let str = inp.split(""), - out = ""; - str.forEach((c, i) => { - if (c == " ") { - out += " "; - } else if (i % 3 == 0) { - out += String.fromCharCode(c.charCodeAt(0) - 3); - } else { - out += String.fromCharCode(c.charCodeAt(0) + 2); - } - }); - return out; - } - }, -}; diff --git a/command/Owner/add.js b/unused/commands/Utilities/add.js similarity index 100% rename from command/Owner/add.js rename to unused/commands/Utilities/add.js diff --git a/command/Utilities/afk.js b/unused/commands/Utilities/afk.js similarity index 100% rename from command/Utilities/afk.js rename to unused/commands/Utilities/afk.js diff --git a/unused/commands/Utilities/codebin.js b/unused/commands/Utilities/codebin.js index 52a8ccb..6c0faea 100644 --- a/unused/commands/Utilities/codebin.js +++ b/unused/commands/Utilities/codebin.js @@ -1,4 +1,4 @@ -const CodeClient = require("../../../client/CodeClient"); +const CodeClient = require("../../client/CodeClient"); module.exports = { name: "Create Code Bin", type: "MESSAGE", diff --git a/unused/commands/Utilities/docs.js b/unused/commands/Utilities/docs.js deleted file mode 100644 index 27d6dce..0000000 --- a/unused/commands/Utilities/docs.js +++ /dev/null @@ -1,27 +0,0 @@ -const axios = require("axios"); -module.exports = { - name: "docs", - usage: "(Query)", - description: "Search the discord.js docs for something!", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "query", - description: "The query you want to search", - required: true, - }, - ], - run: async (client, interaction, args) => { - const query = args.join(" "); - await axios - .get( - `https://djsdocs.sorta.moe/v2/embed?src=stable&q=${encodeURIComponent( - query - )}` - ) - .then(async data => { - interaction.followUp({ embeds: [data.data] }); - }); - }, -}; diff --git a/draw.js b/unused/commands/Utilities/draw.js similarity index 97% rename from draw.js rename to unused/commands/Utilities/draw.js index 4de3830..13994df 100644 --- a/draw.js +++ b/unused/commands/Utilities/draw.js @@ -1,5 +1,5 @@ const { MessageEmbed, MessageActionRow, MessageButton } = require("discord.js"); -const draws = require("./util/Data/draws.json"); +const draws = require("../../../util/Data/draws.json"); module.exports = { name: "draw", description: "Buy a lucky draw", diff --git a/command/Utilities/emoji.js b/unused/commands/Utilities/emoji.js similarity index 100% rename from command/Utilities/emoji.js rename to unused/commands/Utilities/emoji.js diff --git a/command/Utilities/emojiadd.js b/unused/commands/Utilities/emojiadd.js similarity index 100% rename from command/Utilities/emojiadd.js rename to unused/commands/Utilities/emojiadd.js diff --git a/command/Utilities/esnipe.js b/unused/commands/Utilities/esnipe.js similarity index 100% rename from command/Utilities/esnipe.js rename to unused/commands/Utilities/esnipe.js diff --git a/unused/commands/Utilities/github.js b/unused/commands/Utilities/github.js deleted file mode 100644 index 280ea06..0000000 --- a/unused/commands/Utilities/github.js +++ /dev/null @@ -1,61 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -const moment = require("moment"); -const axios = require("axios"); -module.exports = { - name: "github", - description: `Get Github User Information`, - options: [ - { - type: 3, - name: "username", - description: "The username you want to search", - required: true, - }, - ], - run: async (client, interaction, args) => { - try { - axios - .get(`https://api.github.com/users/${args[0]}`) - .then(res => res.data) - .then(body => { - if (body.message) { - return interaction.followUp({ content: "User Not Found" }); - } - const { - login, - avatar_url, - id, - public_repos, - followers, - following, - location, - created_at, - bio, - } = body; - const embed = new MessageEmbed() - .setAuthor(`${login} Information`, avatar_url) - .setColor(client.color) - .setThumbnail(`${avatar_url}`) - .setTimestamp() - .addField(`Username`, `${login}`) - .addField(`ID`, `${id}`) - .addField(`Bio`, `${bio || "None"}`) - .addField(`Public Repositories`, `${public_repos || "None"}`, true) - .addField(`Followers`, `${followers}`, true) - .addField(`Following`, `${following}`, true) - .addField(`Location`, `${location || "None"}`) - .addField( - `Account Created`, - moment.utc(created_at).format("dddd, MMMM, Do YYYY") - ) - .setFooter( - `Made by ${client.author}`, - client.user.displayAvatarURL() - ); - interaction.followUp({ embeds: [embed] }); - }); - } catch (error) { - console.log(error); - } - }, -}; diff --git a/unused/commands/Giveaway/giveaway.js b/unused/commands/Utilities/giveaway.js similarity index 98% rename from unused/commands/Giveaway/giveaway.js rename to unused/commands/Utilities/giveaway.js index d6b5b6e..bda8811 100644 --- a/unused/commands/Giveaway/giveaway.js +++ b/unused/commands/Utilities/giveaway.js @@ -1,4 +1,4 @@ -const GiveawaysClient = require("../../../client/GiveawaysClient"); +const GiveawaysClient = require("../../client/GiveawaysClient"); module.exports = { name: "giveaway", description: "Giveaway", diff --git a/unused/commands/Utilities/hexcolor.js b/unused/commands/Utilities/hexcolor.js deleted file mode 100644 index 9c0f807..0000000 --- a/unused/commands/Utilities/hexcolor.js +++ /dev/null @@ -1,54 +0,0 @@ -const { MessageEmbed, MessageAttachment } = require("discord.js"); -const axios = require("axios"); - -module.exports = { - name: "hexcolor", - usage: "(Hex Color Code)", - description: "Get Hex and RGB info of a color", - category: "Utilities", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "code", - description: "Color code you want to see (Example: #FF0000)", - required: false, - }, - ], - run: async (client, interaction, args) => { - let color; - if (args[0]) { - if (/(#|0x)([0-9A-F]{6})/i.test(args[0])) { - color = args[0].match(/(#|0x)([0-9A-F]{6})/i)[2]; - } - else { - return interaction.followUp({ - content: "Please give a valid Hex Color Code (Example: #FF0000)", - }); - } - } - else { - color = interaction.member.displayHexColor.replace("#", "", "0x", ""); - } - const colour = await axios - .get(`${process.env.api}/api/v1/hexcolor/${color}`) - .then(res => res.data); - const rightpic = new MessageAttachment(colour.image, "wea.jpg"); - const attachment = new MessageAttachment(colour.row, "color.jpg"); - const embed = new MessageEmbed() - .setColor(colour.hex) - .setDescription( - `\`HEX: ${colour.hex}} RGB: ${colour.rgb}}\`\n🔽Color Scheme🔽`, - ) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setTitle("Color Information (Click here for more info)") - .setURL(`https://www.colorhexa.com/${colour.clean}`) - .setImage("attachment://color.jpg") - .setThumbnail("attachment://wea.jpg"); - interaction.followUp({ - embeds: [embed], - files: [attachment, rightpic], - }); - }, -}; diff --git a/unused/commands/Utilities/lb.js b/unused/commands/Utilities/lb.js deleted file mode 100644 index f5c27c8..0000000 --- a/unused/commands/Utilities/lb.js +++ /dev/null @@ -1,34 +0,0 @@ -// const Levels = require("discord-xp"); -// const { MessageEmbed } = require("discord.js"); -// module.exports = { -// name: "leaderboard", -// timeout: 5000, -// description: "Check the leaderboard of a server", -// category: "Economy", -// Level: true, -// run: async (client, interaction, args) => { -// const rawLeaderboard = await Levels.fetchLeaderboard( -// interaction.guild.id, -// 10 -// ); -// if (rawLeaderboard.length < 1) -// return interaction.followUp({ content: "There isn't any data" }); -// const leaderboard = await Levels.computeLeaderboard( -// client, -// rawLeaderboard, -// true -// ); -// const lb = leaderboard.map( -// e => -// `**${e.position}**. ${e.username}#${e.discriminator} Level: ${ -// e.level -// } XP: ${e.xp.toLocaleString()}` -// ); -// const embed = new MessageEmbed() -// .setTitle(`**Leaderboard for ${interaction.guild.name}**`) -// .setDescription(`\n${lb.join("\n")}`) -// .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) -// .setColor(client.color); -// interaction.followUp({ embeds: [embed] }); -// }, -// }; diff --git a/command/Utilities/lyrics.js b/unused/commands/Utilities/lyrics.js similarity index 100% rename from command/Utilities/lyrics.js rename to unused/commands/Utilities/lyrics.js diff --git a/command/Utilities/nsfw.js b/unused/commands/Utilities/nsfw.js similarity index 100% rename from command/Utilities/nsfw.js rename to unused/commands/Utilities/nsfw.js diff --git a/unused/commands/Utilities/poll.js b/unused/commands/Utilities/poll.js deleted file mode 100644 index a82400a..0000000 --- a/unused/commands/Utilities/poll.js +++ /dev/null @@ -1,38 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "poll", - description: "Start a poll in a channel", - category: "Utilities", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "description", - description: "The description of the poll", - required: true, - }, - { - type: 7, - name: "channel", - description: "The channel you want to send the poll", - required: false, - channelTypes: ["GUILD_TEXT"], - }, - ], - run: async (client, interaction, args) => { - await interaction.deleteReply(); - const pollDescription = ` - ${interaction.member} asks: ${args[0]}`; - const channel = - interaction.guild.channels.cache.get(args[1]) || interaction.channel; - const embedPoll = new MessageEmbed() - .setTitle(`${interaction.user.tag} made a poll`) - .setDescription(pollDescription) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setColor("GREEN"); - const msgEmbed = await channel.send({ embeds: [embedPoll] }); - await msgEmbed.react("👍"); - await msgEmbed.react("👎"); - }, -}; diff --git a/unused/commands/Utilities/rank.js b/unused/commands/Utilities/rank.js deleted file mode 100644 index c8987ef..0000000 --- a/unused/commands/Utilities/rank.js +++ /dev/null @@ -1,303 +0,0 @@ -// const Levels = require("discord-xp"); -// const Canvas = require("canvas"), -// Discord = require(`discord.js`); -// const { registerFont } = require("canvas"); -// registerFont("./util/assets/fonts/Poppins-Regular.ttf", { -// family: "Poppins-Regular", -// }); -// registerFont("./util/assets/fonts/Poppins-SemiBold.ttf", { -// family: "Poppins-Bold", -// }); -// module.exports = { -// name: "rank", -// description: "Shows an image of someone's ranking", -// type: "CHAT_INPUT", -// options: [ -// { -// type: 6, -// name: "user", -// description: "The user you want to see", -// required: false, -// }, -// ], -// run: async (client, interaction, args) => { -// const badges = [1, 8]; -// for (let i = badges[0]; i <= badges[1]; i++) client[`badge${i}`] = null; -// setBadge = function (variable, value) { -// const number = Number(variable); -// for (let i = badges[0]; i <= badges[1]; i++) -// if (number === i) { -// client[`badge${number}`] = value; -// break; -// } -// return client; -// }; - -// const member = -// interaction.guild.members.cache.get(args[0]) || interaction.member; - -// const user = await Levels.fetch(member.id, interaction.guild.id); -// console.log(user); -// const canvas = Canvas.createCanvas(1080, 400), -// ctx = canvas.getContext("2d"); - -// let BackgroundRadius = "50", //50 | 0 if u want no rounded background | 50 if u want a very rounded background -// BackGroundImg = "https://images7.alphacoders.com/109/1092420.jpg", -// AttachmentName = "rank.png", -// Username = member.user.username, -// AvatarRoundRadius = "50", // 30 if u want squared round Avatar | 100 IF u want rounded -// DrawLayerColor = "#000000", -// DrawLayerOpacity = "0.4", -// BoxColor = "#6eaedb", //Lvl and REP Box COlor -// LevelBarFill = "#ffffff", // -// LevelBarBackground = "#ffffff", -// Rank = user.position, -// TextEXP = "20XP", -// TextReputation = "+ 2.18k rep", -// BarRadius = "15", -// TextXpNeded = "{current}/{needed}", -// CurrentXP = user.xp, -// NeededXP = Levels.xpFor(parseInt(user.level) + 1); - -// //SET BADGES -// //setBadge("1", "Bronze") // .png | file name need to be Number_Name in this case is "1_bronze" -// //setBadge("2", "Gold") // .png | file name need to be Number_Name in this case is "2_Gold" -// //SET BADGES - -// //BackGround -// ctx.beginPath(); -// ctx.moveTo(0 + Number(BackgroundRadius), 0); -// ctx.lineTo(0 + 1080 - Number(BackgroundRadius), 0); -// ctx.quadraticCurveTo(0 + 1080, 0, 0 + 1080, 0 + Number(BackgroundRadius)); -// ctx.lineTo(0 + 1080, 0 + 400 - Number(BackgroundRadius)); -// ctx.quadraticCurveTo( -// 0 + 1080, -// 0 + 400, -// 0 + 1080 - Number(BackgroundRadius), -// 0 + 400 -// ); - -// ctx.lineTo(0 + Number(BackgroundRadius), 0 + 400); -// ctx.quadraticCurveTo(0, 0 + 400, 0, 0 + 400 - Number(BackgroundRadius)); -// ctx.lineTo(0, 0 + Number(BackgroundRadius)); -// ctx.quadraticCurveTo(0, 0, 0 + Number(BackgroundRadius), 0); -// ctx.closePath(); -// ctx.clip(); -// ctx.fillStyle = "#000000"; -// ctx.fillRect(0, 0, 1080, 400); -// let background = await Canvas.loadImage(BackGroundImg); -// ctx.drawImage(background, 0, 0, 1080, 400); -// ctx.restore(); - -// //Layer -// ctx.fillStyle = DrawLayerColor; -// ctx.globalAlpha = DrawLayerOpacity; -// ctx.fillRect(40, 0, 240, canvas.height); -// ctx.globalAlpha = 1; - -// //RoundedBox Function -// function RoundedBox(ctx, x, y, width, height, radius) { -// ctx.beginPath(); -// ctx.moveTo(x + radius, y); -// ctx.lineTo(x + width - radius, y); -// ctx.quadraticCurveTo(x + width, y, x + width, y + radius); -// ctx.lineTo(x + width, y + height - radius); -// ctx.quadraticCurveTo( -// x + width, -// y + height, -// x + width - radius, -// y + height -// ); -// ctx.lineTo(x + radius, y + height); -// ctx.quadraticCurveTo(x, y + height, x, y + height - radius); -// ctx.lineTo(x, y + radius); -// ctx.quadraticCurveTo(x, y, x + radius, y); -// ctx.closePath(); -// } - -// //Avatar -// let avatar = await Canvas.loadImage( -// member.user.displayAvatarURL({ dynamic: true, format: "png" }) -// ); -// ctx.save(); -// RoundedBox(ctx, 40 + 30, 30, 180, 180, Number(AvatarRoundRadius)); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.drawImage(avatar, 40 + 30, 30, 180, 180); -// ctx.restore(); -// //Avatar - -// //Reputation -// ctx.save(); -// RoundedBox(ctx, 40 + 30, 30 + 180 + 30, 180, 50, 10); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.fillStyle = BoxColor; -// ctx.globalAlpha = "1"; -// ctx.fillRect(40 + 30, 30 + 180 + 30, 180, 50, 50); -// ctx.globalAlpha = 1; -// ctx.fillStyle = "#ffffff"; -// ctx.shadowColor = "#000000"; -// ctx.shadowBlur = 20; -// ctx.shadowOffsetX = 1; -// ctx.shadowOffsetY = 1; -// ctx.font = '32px "Poppins-Bold"'; -// ctx.textAlign = "center"; -// ctx.fillText(TextReputation, 40 + 30 + 180 / 2, 30 + 180 + 30 + 38); -// ctx.restore(); -// //Reputation - -// //EXP -// ctx.save(); -// RoundedBox(ctx, 40 + 30, 30 + 180 + 30 + 50 + 30, 180, 50, 10); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.fillStyle = BoxColor; -// ctx.globalAlpha = "1"; -// ctx.fillRect(40 + 30, 30 + 180 + 30 + 50 + 30, 180, 50); -// ctx.globalAlpha = 1; -// ctx.fillStyle = "#ffffff"; -// ctx.shadowColor = "#000000"; -// ctx.shadowBlur = 20; -// ctx.shadowOffsetX = 1; -// ctx.shadowOffsetY = 1; -// ctx.font = '32px "Poppins-Bold"'; -// ctx.textAlign = "center"; -// ctx.fillText(TextEXP, 40 + 30 + 180 / 2, 30 + 180 + 30 + 30 + 50 + 38); -// ctx.restore(); -// //EXP - -// //ctx.save() -// //ctx.textAlign = "left"; -// //ctx.fillStyle = "#ffffff"; -// //ctx.shadowColor = '#000000'; -// //ctx.font = '15px "Poppins-Bold"' -// //ctx.fillText(member.user.username, 390, 200); -// //ctx.restore() - -// //Username -// ctx.save(); -// ctx.textAlign = "left"; -// ctx.fillStyle = "#ffffff"; -// ctx.shadowColor = "#000000"; -// ctx.shadowBlur = 15; -// ctx.shadowOffsetX = 1; -// ctx.shadowOffsetY = 1; -// ctx.font = '39px "Poppins-Bold"'; -// ctx.fillText(Username, 390, 80); -// ctx.restore(); -// //Username - -// //Rank -// ctx.save(); -// ctx.textAlign = "right"; -// ctx.fillStyle = "#ffffff"; -// ctx.shadowColor = "#000000"; -// ctx.shadowBlur = 15; -// ctx.shadowOffsetX = 1; -// ctx.shadowOffsetY = 1; -// ctx.font = '55px "Poppins-Bold"'; -// ctx.fillText("#" + Rank, canvas.width - 50 - 5, 80); -// ctx.restore(); - -// //Rank Name -// ctx.save(); -// ctx.textAlign = "left"; -// ctx.fillStyle = "#ffffff"; -// ctx.shadowColor = "#000000"; -// ctx.shadowBlur = 15; -// ctx.shadowOffsetX = 1; -// ctx.shadowOffsetY = 1; -// ctx.font = '30px "Poppins-Bold"'; -// ctx.fillText("Diamond Nature", 390, 120); -// ctx.restore(); - -// //Badges -// ctx.save(); -// RoundedBox(ctx, 390, 305, 660, 70, Number(15)); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.fillStyle = "#ffffff"; -// ctx.globalAlpha = "0.2"; -// ctx.fillRect(390, 305, 660, 70); -// ctx.restore(); -// const badgeNames = ["1", "2", "3", "4", "5", "6", "7", "8"]; -// for (let index = 0; index < badgeNames.length; index++) { -// let badge = `badge${index + 1}`; -// if (!client[badge]) { -// ctx.fillStyle = "#ffffff"; -// ctx.globalAlpha = "0.2"; -// ctx.textAlign = "center"; -// ctx.font = '90px "Poppins-Bold"'; -// ctx.fillText(".", 75 * index + 450, 345); -// } else { -// ctx.globalAlpha = 1; -// let badgeImg = await Canvas.loadImage( -// ["bronze", "silver", "gold", "diamond"].includes( -// client[badge].toLowerCase() -// ) -// ? `${__dirname}/${badgeNames[index]}_${client[ -// badge -// ].toLowerCase()}.png` -// : client[badge] -// ); -// ctx.drawImage(badgeImg, 75 * index + 420, 315, 50, 50); -// } -// } -// //Badges - -// //Level Bar -// ctx.save(); -// RoundedBox(ctx, 390, 145, 660, 50, Number(BarRadius)); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.fillStyle = LevelBarBackground; -// ctx.globalAlpha = "0.2"; -// ctx.fillRect(390, 145, 660, 50, 50); -// ctx.restore(); - -// const percent = (100 * CurrentXP) / NeededXP; -// const progress = (percent * 660) / 100; - -// ctx.save(); -// RoundedBox(ctx, 390, 145, progress, 50, Number(BarRadius)); -// ctx.strokeStyle = "#BFC85A22"; -// ctx.stroke(); -// ctx.clip(); -// ctx.fillStyle = LevelBarFill; -// ctx.globalAlpha = "0.5"; -// ctx.fillRect(390, 145, progress, 50, 50); -// ctx.restore(); - -// //Next Rank -// ctx.save(); -// ctx.textAlign = "left"; -// ctx.fillStyle = "#ffffff"; -// ctx.globalAlpha = "0.8"; -// ctx.font = '30px "Poppins-Bold"'; -// ctx.fillText("Next Rank: " + "None", 390, 230); -// ctx.restore(); - -// const latestXP = Number(CurrentXP) - Number(NeededXP); -// const textXPEdited = TextXpNeded.replace(/{needed}/g, NeededXP) -// .replace(/{current}/g, CurrentXP) -// .replace(/{latest}/g, latestXP); -// ctx.textAlign = "center"; -// ctx.fillStyle = "#ffffff"; -// ctx.globalAlpha = 1; -// ctx.font = '30px "Poppins-Bold"'; -// ctx.fillText(textXPEdited, 730, 180); -// //Level Bar - -// const attachment = new Discord.MessageAttachment( -// canvas.toBuffer(), -// AttachmentName -// ); -// interaction.followUp({ files: [attachment] }); -// }, -// }; diff --git a/unused/commands/Utilities/shorturl.js b/unused/commands/Utilities/shorturl.js index 768edc4..a560fac 100644 --- a/unused/commands/Utilities/shorturl.js +++ b/unused/commands/Utilities/shorturl.js @@ -1,4 +1,4 @@ -const URLClient = require("../../../client/URLClient"); +const URLClient = require("../../client/URLClient"); module.exports = { name: "shorten-url", description: "Shorten a URL", diff --git a/command/Utilities/snipe.js b/unused/commands/Utilities/snipe.js similarity index 100% rename from command/Utilities/snipe.js rename to unused/commands/Utilities/snipe.js diff --git a/unused/commands/Utilities/timer.js b/unused/commands/Utilities/timer.js deleted file mode 100644 index 6adb8f4..0000000 --- a/unused/commands/Utilities/timer.js +++ /dev/null @@ -1,77 +0,0 @@ -const { MessageEmbed } = require("discord.js"); -module.exports = { - name: "timer", - description: "Set a timer for yourself", - usage: "(Time)", - category: "Utilities", - type: "CHAT_INPUT", - options: [ - { - type: 3, - name: "time", - description: "The time you want to set", - required: true, - }, - ], - run: async (client, interaction, args, utils) => { - const time = args[0]; - const mss = utils.ms(args[0]); - if (!time.endsWith("d")) { - if (!time.endsWith("h")) { - if (!time.endsWith("m")) { - if (!time.endsWith("w")) { - if (!time.endsWith("mo")) { - if (!time.endsWith("s")) { - return interaction.followUp({ - content: "You can only use valid time (Example: 3s)", - }); - } - } - } - } - } - } - if (isNaN(time[0])) { - return interaction.followUp({ - content: "You can only use valid time (Example: 3s)", - }); - } - client.Timers.set(interaction.user.id + " G " + interaction.guild.name, { - Guild: interaction.guild.name, - Author: { - Tag: interaction.user.tag, - ID: interaction.user.id, - }, - Time: mss, - }); - interaction.followUp({ - content: `${interaction.user} you have set a timer for ${utils.timer( - mss, - )}.`, - }); - setTimeout(() => { - const Embed = new MessageEmbed() - .setTitle(`Timer finished in ${interaction.guild.name}.`) - .setDescription(`Your timer for ${utils.timer(mss)} has finished.`) - .setURL(client.web) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setColor(`GREEN`); - const embe = new MessageEmbed() - .setTitle(`Timer finished.`) - .setDescription(`Your timer for ${utils.timer(mss)} has finished.`) - .setURL(client.web) - .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) - .setTimestamp() - .setColor(`GREEN`); - interaction.channel.send({ - content: `${interaction.user}`, - embeds: [embe], - }); - interaction.user.send({ embeds: [Embed] }); - client.Timers.delete( - interaction.user.id + " G " + interaction.guild.name, - ); - }, utils.ms(time)); - }, -}; diff --git a/util/dist/err.js b/unused/err.js similarity index 100% rename from util/dist/err.js rename to unused/err.js diff --git a/events/afk.js b/unused/events/afk.js similarity index 96% rename from events/afk.js rename to unused/events/afk.js index 1a8577c..a3d5886 100644 --- a/events/afk.js +++ b/unused/events/afk.js @@ -1,4 +1,4 @@ -const client = require("../"); +const client = require("../.."); client.on("messageCreate", async message => { if (message.author.bot || !message.guild) return; const dataa = await client.data.getUser(message.author.id); diff --git a/unused/events/messageCreate.js b/unused/events/messageCreate.js deleted file mode 100644 index f282a39..0000000 --- a/unused/events/messageCreate.js +++ /dev/null @@ -1,243 +0,0 @@ -// const client = require("../bot"); -// const codmclient = require("../client/CODMClient"); -// const leven = require("leven"); -// const { MessageEmbed } = require("discord.js"); -// const schema = require("../unused/models/custom-commands"); -// const cooldown = require("../models/cooldown"); -// const utils = require("../util/functions/function"); -// client.on("messageCreate", async message => { -// const p = await client.prefix(message); -// if (message.author.bot || !message.guild) return; -// if (message.content.match(new RegExp(`^<@!?${client.user.id}>( |)$`))) { -// const _ = new MessageEmbed() -// .setTitle(client.user.username) -// .addField("Links:", client.cat) -// .addField( -// "Prefix/Usage", -// `My prefix in **${message.guild.name}** is **${p}**\n\nRun \`${p}help\` to start using the bot` -// ) -// .setThumbnail(client.user.displayAvatarURL()) -// .setURL(client.web) -// .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) -// .setTimestamp() -// .setColor(client.color); -// const m = await message.reply({ embeds: [_] }); -// setTimeout(() => m.delete(), 15000); -// } -// if (p) { -// if (!message.content.toLowerCase().startsWith(p.toLowerCase())) return; -// } -// if (!message.member) -// message.member = await message.guild.fetchMember(message); -// const data = {}; -// let guildDB = await client.data.getGuild(message.guild.id); -// if (!guildDB) return; -// let userDB = await client.data.getUser(message.author.id); -// if (!userDB) return; -// let userEconDB = await client.data.getUserEcon(message.author.id); -// data.Guild = guildDB; -// data.User = userDB; -// data.UserEcon = userEconDB; -// if (!guildDB) await client.data.CreateGuild(message.guild.id); -// if (!userEconDB) await client.createProfile(message.author.id); -// if (data.User) { -// if (data.User.Blacklist) return; -// } -// const [cmd, ...args] = message.content.slice(p.length).trim().split(/ +/g); -// if (cmd.length == 0) return; -// const cmddata = await schema.findOne({ -// Guild: message.guild.id, -// Command: cmd, -// }); -// if (!cmddata) { -// const command = -// client.commands.get(cmd.toLowerCase()) || -// client.commands.find(c => c.aliases?.includes(cmd.toLowerCase())); -// if (!command) { -// const best = [ -// ...client.commands.map(cmd => cmd.name), -// ...client.aliases.keys(), -// ].filter(c => leven(cmd.toLowerCase(), c.toLowerCase()) < c.length * 0.4); -// const dym = -// best.length == 0 -// ? "" -// : best.length == 1 -// ? `Do you mean this?\n**${best[0]}**` -// : `Do you mean one of these?\n${best -// .slice(0, 3) -// .map(value => `**${value}**`) -// .join("\n")}`; -// if (dym === "") return; -// else { -// const msg = await message.reply({ -// embeds: [ -// new MessageEmbed() -// .setDescription(`Couldn't find that command.\n${dym}`) -// .setTimestamp() -// .setColor(client.color), -// ], -// }); -// setTimeout(function () { -// msg.delete(); -// }, 10000); -// } -// } -// if (command) { -// if (command.Owner) { -// if (!client.owners.includes(message.author.id)) return; -// } -// if (command.Premium) { -// if (!data.User.Premium) { -// return message.reply({ -// embeds: [ -// new MessageEmbed() -// .setURL(client.web) -// .setAuthor( -// message.author.tag, -// message.author.displayAvatarURL({ dynamic: true }) -// ) -// .setColor(client.color) -// .setDescription( -// `You aren't a premium user. You can either boost support server or subscribe to developer's team [Ko-fi](https://ko-fi.com/cathteam) or gift a nitro to one of the developer team to be premium user` -// ) -// .setTimestamp() -// .setFooter( -// `Made by ${client.author}`, -// client.user.displayAvatarURL() -// ), -// ], -// }); -// } -// } -// if (command.Level) { -// if (!data.Guild.Level) return; -// } -// if (!message.guild.me.permissions.has(command.BotPerm || [])) -// return message.reply({ -// content: `You can't use this command. I need to have ${command.BotPerm} permission to use this command.`, -// }); -// client.channels.cache.get(client.CMDLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`\n has used \n**${command.name}**\n command in \n\`${message.guild.name}(${message.guild.id})\``, -// }); -// if (data.Guild) { -// if (data.Guild.Category) { -// if (data.Guild.Category.includes(command.directory)) return; -// } -// if (data.Guild.Commands) { -// if (data.Guild.Commands.includes(command.name)) return; -// } -// } -// if (command.timeout) { -// const current_time = Date.now(); -// const cooldown_amount = command.timeout; -// cooldown.findOne( -// { User: message.author.id, CMD: command.name }, -// async (err, data) => { -// if (data) { -// const expiration_time = data.Time + cooldown_amount; -// if (current_time < expiration_time) { -// utils.cooldown(data.Time, cooldown_amount, message); -// } else { -// await cooldown.findOneAndUpdate( -// { User: message.author.id, CMD: command.name }, -// { Time: current_time } -// ); -// command.run(client, message, args, utils, data, codmclient); -// client.addcmdsused(message.author.id); -// client.channels.cache.get(client.CMDLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`\n has used \n**${command.name}**\n command in \n\`${message.guild.name}(${message.guild.id})\``, -// }); -// } -// } else { -// command.run(client, message, args, utils, data, codmclient); -// client.channels.cache.get(client.CMDLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`\n has used \n**${command.name}**\n command in \n\`${message.guild.name}(${message.guild.id})\``, -// }); -// client.addcmdsused(message.author.id); -// new cooldown({ -// User: message.author.id, -// CMD: command.name, -// Time: current_time, -// Cooldown: command.timeout, -// }).save(); -// } -// } -// ); -// } else { -// try { -// command.run(client, message, args, utils, data, codmclient); -// client.channels.cache.get(client.CMDLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`\n has used \n**${command.name}**\n command in \n\`${message.guild.name}(${message.guild.id})\``, -// }); -// client.addcmdsused(message.author.id); -// } catch (e) { -// console.log(e); -// } -// } -// } -// } else { -// if (cmddata.Delete === true && cmddata.Random === false) { -// message -// .delete() -// .then(() => message.channel.send({ content: cmddata.Response })); -// } else if (cmddata.Random === true && cmddata.Delete === true) { -// const randomed = -// cmddata.Response[Math.floor(Math.random() * cmddata.Response.length)]; -// message.delete().then(() => message.channel.send({ content: randomed })); -// } else if (cmddata.Random === true && cmddata.Delete === false) { -// const randomed = -// cmddata.Response[Math.floor(Math.random() * cmddata.Response.length)]; -// message.channel.send({ content: randomed }); -// } else { -// message.channel.send({ content: cmddata.Response }); -// } -// } -// }); -// client.on("messageCreate", async message => { -// const p = await client.prefix(message); -// if (message.author.bot) return; -// if (!message.content.startsWith(p)) return; -// if (!message.guild) return; -// if (!message.member) -// message.member = await message.guild.fetchMember(message); -// const [cmd, ...args] = message.content.slice(p.length).trim().split(/ +/g); -// if (cmd.length == 0) return; -// let path = client.hide.get(cmd); -// if (path) { -// if (!client.path.includes(message.guild.id)) return; -// try { -// path.run(client, message, args); -// client.addcmdsused(message.author.id); -// client.channels.cache.get(client.CMDLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`\n has used \n**${path.name}**\n command in \n\`${message.guild.name}(${message.guild.id})\``, -// }); -// } catch (e) { -// console.log(e); -// } -// } -// }); -// client.on("messageCreate", async message => { -// if (message.channel.type === "DM" && !message.author.bot) { -// if (message.attachments) { -// if (message.attachments && message.content) { -// message.attachments.map(e => -// client.channels.cache.get(client.config.DMLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`: ${ -// message.content + e.url -// }`, -// }) -// ); -// } else { -// message.attachments.map(e => -// client.channels.cache.get(client.config.DMLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`: ${e.url}`, -// }) -// ); -// } -// } else { -// client.channels.cache.get(client.config.DMLog).send({ -// content: `\`${message.author.tag}(${message.author.id})\`: ${message.content}`, -// }); -// } -// } -// }); diff --git a/events/messageDelete.js b/unused/events/messageDelete.js similarity index 100% rename from events/messageDelete.js rename to unused/events/messageDelete.js diff --git a/unused/events/messageReaction.js b/unused/events/messageReaction.js deleted file mode 100644 index a90b4a2..0000000 --- a/unused/events/messageReaction.js +++ /dev/null @@ -1,30 +0,0 @@ -const client = require("../../bot"); -const Schema = require("../models/reaction"); - -client.on("messageReactionAdd", async (reaction, user) => { - if (reaction.message.partial) await reaction.message.fetch(); - if (reaction.partial) await reaction.fetch(); - if (user.bot) return; - if (!reaction.message.guild) return; - Schema.findOne({ Message: reaction.message.id }, async (err, data) => { - if (!data) return; - if (!Object.keys(data.Roles).includes(reaction.emoji.name)) return; - const [roleid] = data.Roles[reaction.emoji.name]; - reaction.message.guild.members.cache.get(user.id).roles.add(roleid); - user.send(`A role has been added`); - }); -}); -client.on("messageReactionRemove", async (reaction, user) => { - if (reaction.message.partial) await reaction.message.fetch(); - if (reaction.partial) await reaction.fetch(); - if (user.bot) return; - if (!reaction.message.guild) return; - Schema.findOne({ Message: reaction.message.id }, async (err, data) => { - if (!data) return; - if (!Object.keys(data.Roles).includes(reaction.emoji.name)) return; - - const [roleid] = data.Roles[reaction.emoji.name]; - reaction.message.guild.members.cache.get(user.id).roles.remove(roleid); - user.send(`A role has been removed`); - }); -}); diff --git a/events/messageUpdate.js b/unused/events/messageUpdate.js similarity index 100% rename from events/messageUpdate.js rename to unused/events/messageUpdate.js diff --git a/events/raw.js b/unused/events/raw.js similarity index 64% rename from events/raw.js rename to unused/events/raw.js index 2bbb23f..e1ad7d5 100644 --- a/events/raw.js +++ b/unused/events/raw.js @@ -1,2 +1,2 @@ -const client = require(".."); +const client = require("../.."); client.on("raw", c => client.manager.updateVoiceState(c)); diff --git a/events/starboard.js b/unused/events/starboard.js similarity index 88% rename from events/starboard.js rename to unused/events/starboard.js index c6cdf52..781056a 100644 --- a/events/starboard.js +++ b/unused/events/starboard.js @@ -1,4 +1,4 @@ -const client = require(".."); +const client = require("../.."); const starboardclient = require("../client/StarboardClient"); client.on("messageReactionAdd", async reaction => { starboardclient.listener(reaction); diff --git a/events/voiceStateUpdate.js b/unused/events/voiceStateUpdate.js similarity index 98% rename from events/voiceStateUpdate.js rename to unused/events/voiceStateUpdate.js index c0443f1..00f8e3f 100644 --- a/events/voiceStateUpdate.js +++ b/unused/events/voiceStateUpdate.js @@ -1,5 +1,5 @@ const { MessageEmbed } = require("discord.js"); -const client = require(".."); +const client = require("../.."); client.on("voiceStateUpdate", async (oldState, newState) => { const guildId = newState.guild.id; const player = client.manager.get(guildId); diff --git a/unused/models/reaction.js b/unused/models/reaction.js deleted file mode 100644 index c855124..0000000 --- a/unused/models/reaction.js +++ /dev/null @@ -1,10 +0,0 @@ -const mongoose = require("mongoose"); - -module.exports = mongoose.model( - "reaction-roles", - new mongoose.Schema({ - Guild: String, - Message: String, - Roles: Object, - }), -); diff --git a/data/APEX/apex.json b/util/Data/APEX/apex.json similarity index 100% rename from data/APEX/apex.json rename to util/Data/APEX/apex.json diff --git a/data/APEX/legends.json b/util/Data/APEX/legends.json similarity index 98% rename from data/APEX/legends.json rename to util/Data/APEX/legends.json index 2c6474f..53eee2f 100644 --- a/data/APEX/legends.json +++ b/util/Data/APEX/legends.json @@ -1,24 +1,24 @@ -{ - "Banglore": [ - { - "legend_image": "https://media.discordapp.net/attachments/973918659007377408/973918831443574834/unknown.png?width=548&height=613", - "intro": "https://youtu.be/JyJhFYNob30", - "wiki": "https://apexlegends.fandom.com/wiki/Bangalore", - "codename": "Professional Soldier", - "type": "offensive", - "avalable": true, - "tactical": "Smoke Launcher", - "tactical_description": "Fire a high-velocity smoke canister that explodes into a smoke wall on impact.", - "tactical_cooldown": 33, - "tactical_link": "https://apexlegends.fandom.com/wiki/Bangalore#Smoke_Launcher", - "passive": " Double Time", - "passive_description": "Taking fire while sprinting makes you move faster for a brief time.", - "passive_link": "https://apexlegends.fandom.com/wiki/Bangalore#Double_Time", - "ultimate": "Rolling Thunder", - "ultimate_description": "Call in an artillery strike that slowly creeps across the landscape.", - "ultimate_chargetime": 180, - "ultimate_link": "https://apexlegends.fandom.com/wiki/Bangalore#Rolling_Thunder" - } - ], - "Bloodhound": "" +{ + "Banglore": [ + { + "legend_image": "https://media.discordapp.net/attachments/973918659007377408/973918831443574834/unknown.png?width=548&height=613", + "intro": "https://youtu.be/JyJhFYNob30", + "wiki": "https://apexlegends.fandom.com/wiki/Bangalore", + "codename": "Professional Soldier", + "type": "offensive", + "avalable": true, + "tactical": "Smoke Launcher", + "tactical_description": "Fire a high-velocity smoke canister that explodes into a smoke wall on impact.", + "tactical_cooldown": 33, + "tactical_link": "https://apexlegends.fandom.com/wiki/Bangalore#Smoke_Launcher", + "passive": " Double Time", + "passive_description": "Taking fire while sprinting makes you move faster for a brief time.", + "passive_link": "https://apexlegends.fandom.com/wiki/Bangalore#Double_Time", + "ultimate": "Rolling Thunder", + "ultimate_description": "Call in an artillery strike that slowly creeps across the landscape.", + "ultimate_chargetime": 180, + "ultimate_link": "https://apexlegends.fandom.com/wiki/Bangalore#Rolling_Thunder" + } + ], + "Bloodhound": "" } \ No newline at end of file diff --git a/data/CODM/loadout.js b/util/Data/CODM/loadout.js similarity index 100% rename from data/CODM/loadout.js rename to util/Data/CODM/loadout.js diff --git a/data/CODM/new-stats.js b/util/Data/CODM/new-stats.js similarity index 100% rename from data/CODM/new-stats.js rename to util/Data/CODM/new-stats.js diff --git a/data/CODM/stats.js b/util/Data/CODM/stats.js similarity index 100% rename from data/CODM/stats.js rename to util/Data/CODM/stats.js diff --git a/util/assets/fonts/Poppins-Regular.ttf b/util/assets/fonts/Poppins-Regular.ttf deleted file mode 100644 index 0bda228ade88b0bb5aac7da2c881d0c3f64d0817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160316 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 diff --git a/util/dist/handler.js b/util/dist/handler.js index c477c8a..3d9cffe 100644 --- a/util/dist/handler.js +++ b/util/dist/handler.js @@ -30,26 +30,5 @@ module.exports = async client => { client.on("ready", async () => { await client.guilds.cache.get("840225563193114624").commands.set(ownercmds); await client.application.commands.set(cmds); - // .then(async cmd => { - // client.guilds.cache.forEach(g => { - // const getroles = name => { - // const perms = cmds.find(n => n.name == name).UserPerms; - // if (!perms) return null; - // return g.roles.cache.filter( - // z => z.permissions.has(perms) && !z.managed - // ); - // }; - // const fullPermissions = cmd.reduce((accumulator, v) => { - // const roles = getroles(v.name); - // if (!roles) return accumulator; - // const permissions = roles.reduce((a, w) => { - // return [...a, { id: w.id, type: "ROLE", permission: true }]; - // }, []); - // return [...accumulator, { id: v.id, permissions }]; - // }, []); - // g.commands.permissions.set({ fullPermissions }).catch(null); - // }); - // }) - // .catch(null); }); };