From 9d2e7b26ad067fd13fb6862eb48a6b86a5bb8afd Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 2 Mar 2025 01:04:07 -0500 Subject: Starting AleeBot 4.0! --- commands/about.js | 63 ------------- commands/addquote.js | 221 --------------------------------------------- commands/ask.js | 49 ---------- commands/avatarurl.js | 39 -------- commands/ban.js | 45 --------- commands/eval.js | 84 ----------------- commands/help.js | 70 -------------- commands/info.js | 43 --------- commands/interrogate.js | 42 --------- commands/kick.js | 45 --------- commands/leaveguild.js | 35 ------- commands/nick.js | 36 -------- commands/ping.js | 33 ------- commands/poweroff.js | 46 ---------- commands/purge.js | 39 -------- commands/quote.js | 58 ------------ commands/say.js | 36 -------- commands/serverinfo.js | 51 ----------- commands/setlogchannel.js | 55 ----------- commands/setprefix.js | 52 ----------- commands/setup.js | 45 --------- commands/slowdown.js | 37 -------- commands/suggest.js | 45 --------- commands/suggestfeature.js | 45 --------- commands/timeout.js | 49 ---------- commands/uptime.js | 48 ---------- commands/userinfo.js | 43 --------- 27 files changed, 1454 deletions(-) delete mode 100644 commands/about.js delete mode 100644 commands/addquote.js delete mode 100644 commands/ask.js delete mode 100644 commands/avatarurl.js delete mode 100644 commands/ban.js delete mode 100644 commands/eval.js delete mode 100644 commands/help.js delete mode 100644 commands/info.js delete mode 100644 commands/interrogate.js delete mode 100644 commands/kick.js delete mode 100644 commands/leaveguild.js delete mode 100644 commands/nick.js delete mode 100644 commands/ping.js delete mode 100644 commands/poweroff.js delete mode 100644 commands/purge.js delete mode 100644 commands/quote.js delete mode 100644 commands/say.js delete mode 100644 commands/serverinfo.js delete mode 100644 commands/setlogchannel.js delete mode 100644 commands/setprefix.js delete mode 100644 commands/setup.js delete mode 100644 commands/slowdown.js delete mode 100644 commands/suggest.js delete mode 100644 commands/suggestfeature.js delete mode 100644 commands/timeout.js delete mode 100644 commands/uptime.js delete mode 100644 commands/userinfo.js (limited to 'commands') diff --git a/commands/about.js b/commands/about.js deleted file mode 100644 index 0ae756d..0000000 --- a/commands/about.js +++ /dev/null @@ -1,63 +0,0 @@ -/** ************************************** - * - * About: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - const { MessageEmbed, MessageButton, MessageActionRow } = require('discord.js'); - - let Contributors = ('- Andrew Lee (Founder of this project)\n'); - Contributors += ('- OfficialRain (Raina) (Uptime Command)\n'); - Contributors += ('- jtsshieh (Command Handler)'); - - const aboutEmbed = new MessageEmbed() - .setAuthor(`AleeBot ${require('../storage/settings.json').abVersion}`, client.user.avatarURL()) - .addField('About AleeBot', 'AleeBot is an all-in-one bot that\'s made from the Discord.JS API!') - .addField('License', 'GNU General Public License v3.0') - .addField('Contributors', Contributors) - .setFooter('© Copyright 2017-2025 Andrew Lee Projects') - .setColor('#1fd619'); - - let Buttons = new MessageActionRow() - .addComponents( - new MessageButton() - .setStyle('LINK') - .setLabel('Source Code') - .setURL('https://github.com/alee14-projects/AleeBot'), - new MessageButton() - .setStyle('LINK') - .setLabel('Invite AleeBot') - .setURL('https://discord.com/oauth2/authorize?client_id=282547024547545109&permissions=68185158&scope=bot'), - new MessageButton() - .setStyle('LINK') - .setLabel('Join Andrew Lee Projects') - .setURL('https://discord.gg/EFhRDqG') - ); - - await message.channel.send({embeds: [aboutEmbed], components: [Buttons]}); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'about', - description: 'About the bot.', - usage: 'about', - category: '- Information Commands', -}; diff --git a/commands/addquote.js b/commands/addquote.js deleted file mode 100644 index 6eae015..0000000 --- a/commands/addquote.js +++ /dev/null @@ -1,221 +0,0 @@ -/** ************************************** - * - * AddQuote: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -const { pendingQuote } = require('../models/quote'); -const { MessageEmbed } = require("discord.js"); - -const setupUsers = new Set(); - -module.exports.run = async (client, message) => { - try { - let newAuthor, newAuthorImage, newQuote, newYear; - - if (setupUsers.has(message.author.id)) { - return await message.reply('You are already setting up a quote.'); - } - - setupUsers.add(message.author.id); - - const setupProcess = [ - 'Provide the name of the author:', - 'Submit the image of the author:\nYou can use an attachment or a link that ends in .jpg/.jpeg or .png (like those from IMGUR or Google Images), and the picture should be either 128x128 pixels or 512x512 pixels in size.', - 'Enter the quote:', - 'Specify the year from which the quote originates:' - ]; - - async function createQuote() { - await pendingQuote.create({ - author: newAuthor, - authorImage: newAuthorImage, - quote: newQuote, - year: newYear, - submitterAuthor: message.author.username, - submitterID: message.author.id - }); - } - - let setupMessage = "Welcome to the AleeBot Quote Setup!\n"; - setupMessage += "Please follow these rules when submitting quotes:\n"; - setupMessage += "```1. No offensive content (NSFW, Racism, etc).\n"; - setupMessage += "2. Do not send any personal information.\n"; - setupMessage += "3. Only send noteworthy quotes.```\n"; - setupMessage += "We reserve the right to reject any quotes that do not meet our criteria.\n"; - - const filter = (m) => m.author.id === message.author.id; - - await message.reply(':arrow_left: Check DMs to continue.'); - - const dmChannel = await message.author.createDM(); - await dmChannel.send(setupMessage); - await dmChannel.send(setupProcess[0]); - - let counter = 1; - const collector = dmChannel.createMessageCollector({ - filter, - max: setupProcess.length, - time: 1000 * 1200 - }); - - collector.on('collect', async (msg) => { - if (counter === 2) { // Collecting author image - const attachment = msg.attachments.first(); - if (attachment) { - const fileExtension = attachment.name.split('.').pop().toLowerCase(); - if (['jpg', 'png', 'jpeg'].includes(fileExtension)) { - newAuthorImage = attachment.url.toString(); // Use the attachment's URL directly - } else { - await dmChannel.send('Invalid file type. Please attach a .jpg or .png image.'); - collector.stop(); - return; - } - } else if (msg.content.startsWith('http') && (msg.content.endsWith('.jpg') || msg.content.endsWith('.jpeg') || msg.content.endsWith('.png'))) { - newAuthorImage = msg.content; - } else { - await dmChannel.send('Invalid input. Please provide an image URL or attach an image file.'); - collector.stop(); - return; - } - } - - if (counter < setupProcess.length) { - await dmChannel.send(setupProcess[counter++]); - } - }); - - collector.on('end', async (collected) => { - if (collected.size < setupProcess.length) { - dmChannel.send('Quote setup was not completed. Please rerun the command.'); - setupUsers.delete(message.author.id); - } else { - const quoteContent = collected.map((m) => m.content); - newAuthor = quoteContent[0]; - if (!newAuthorImage) { - newAuthorImage = quoteContent[1] || 'N/A'; - } - newQuote = quoteContent[2]; - newYear = quoteContent[3]; - - const setupEmbed = new MessageEmbed() - .setAuthor('AleeBot Quote Setup', client.user.avatarURL()) - .setDescription('Are you happy with this quote?\nThis quote will be sent for manual approval automatically in 20 minutes.') - .addField('Author', newAuthor || 'N/A') - .addField('Author Image (URL)', newAuthorImage || 'N/A') - .addField('Quote', newQuote || 'N/A') - .addField('Year', newYear || 'N/A') - .setColor('#1fd619'); - - let messageReact = await dmChannel.send({embeds: [setupEmbed]}); - await messageReact.react('🧑'); - await messageReact.react('📷'); - await messageReact.react('🖋️'); - await messageReact.react('📅'); - await messageReact.react('✅'); - await messageReact.react('❌'); - - const reactionFilter = (reaction, user) => { - return ['🧑', '📷', '🖋️', '📅', '✅', '❌'].includes(reaction.emoji.name) && user.id === message.author.id; - }; - - const reactionCollector = messageReact.createReactionCollector({ - filter: reactionFilter, - time: 1000 * 1200 - }); - - reactionCollector.on('collect', async (reaction) => { - switch (reaction.emoji.name) { - case '🧑': - await dmChannel.send('You selected the author. Please provide the name of the author.'); - const authorResponse = await dmChannel.awaitMessages({ filter, max: 1, time: 60000 }); - if (authorResponse.size) newAuthor = authorResponse.first().content; - await dmChannel.send('Updated author name.'); - break; - case '📷': - await dmChannel.send('You selected the author image. Please provide the image URL or attach an image file.'); - const imageResponse = await dmChannel.awaitMessages({ filter, max: 1, time: 60000 }); - const attachment = imageResponse.first().attachments.first(); - if (attachment) { - const fileExtension = attachment.name.split('.').pop().toLowerCase(); - if (['jpg', 'png', 'jpeg'].includes(fileExtension)) { - newAuthorImage = attachment.url.toString(); // Use the attachment's URL directly - } else { - await dmChannel.send('Invalid file type. Please attach a .jpg or .png image.'); - } - } else if (imageResponse.first().content.startsWith('http') && (imageResponse.first().content.endsWith('.jpg') || imageResponse.first().content.endsWith('.jpeg') || imageResponse.first().content.endsWith('.png'))) { - newAuthorImage = imageResponse.first().content; - } else { - await dmChannel.send('Invalid input. Please provide an image URL or attach an image file.'); - } - await dmChannel.send('Updated author image.'); - break; - case '🖋️': - await dmChannel.send('You selected the quote. Please provide the quote.'); - const quoteResponse = await dmChannel.awaitMessages({ filter, max: 1, time: 60000 }); - if (quoteResponse.size) newQuote = quoteResponse.first().content; - await dmChannel.send('Updated quote.'); - break; - case '📅': - await dmChannel.send('You selected the year. Please provide the year.'); - const yearResponse = await dmChannel.awaitMessages({ filter, max: 1, time: 60000 }); - if (yearResponse.size) newYear = yearResponse.first().content; - await dmChannel.send('Updated year.'); - break; - case '✅': - reactionCollector.stop('completed'); - break; - case '❌': - reactionCollector.stop('cancelled'); - break; - } - - await messageReact.edit({embeds: [setupEmbed]}); - }); - - reactionCollector.on('end', async (collected, reason) => { - if (reason === 'cancelled') { - dmChannel.send('Cancelling quote setup.'); - } else if (reason === 'completed') { - dmChannel.send('Sending this quote for manual approval.'); - await createQuote(); - } else { - dmChannel.send('You have not responded. Sending this quote for manual approval.'); - await createQuote(); - } - setupUsers.delete(message.author.id); - }); - } - }); - } catch (error) { - await message.author.send('An error occurred while setting up the quote. Please rerun the command.'); - setupUsers.delete(message.author.id); - console.error(error); - } -}; - -exports.conf = { - aliases: [], - guildOnly: true, -}; - -exports.help = { - name: 'addquote', - description: 'Adds a quote to the database.', - usage: 'addquote', - category: '- Quote Commands', -}; - diff --git a/commands/ask.js b/commands/ask.js deleted file mode 100644 index efb4a22..0000000 --- a/commands/ask.js +++ /dev/null @@ -1,49 +0,0 @@ -/** ************************************** - * - * Ask: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const abaskanswer = [ - 'Yes.', - 'Nope. Just kidding :P', - 'Definitely!', - 'No.', - 'Yep. Just kidding :P', - 'I doubt it.', - 'Maybe?', - 'Perhaps...', - 'I don\'t know?', - 'Hmm let me think :thinking:', - ]; - if (args[1]) { - message.channel.send(abaskanswer[Math.floor(Math.random() * abaskanswer.length)]); - } else { - message.channel.send('Sorry, I don\'t know what your saying.'); - } -}; - -exports.conf = { - aliases: ['8ball'], - guildOnly: false, -}; -exports.help = { - name: 'ask', - description: 'Give AleeBot a question!', - usage: 'ask [args]', - category: '- Fun Commands', -}; diff --git a/commands/avatarurl.js b/commands/avatarurl.js deleted file mode 100644 index 2c796f4..0000000 --- a/commands/avatarurl.js +++ /dev/null @@ -1,39 +0,0 @@ -/** ************************************** - * - * avatarurl: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - if(!message.mentions.users.first()) { - message.reply(message.author.avatarURL({ dynamic: true, format: 'png', size: 1024 })); - } else { - let targetMember; - targetMember = message.mentions.users.first(); - message.reply(targetMember.avatarURL({ dynamic: true, format: 'png', size: 1024 })) - } -}; - -exports.conf = { - aliases: ['pic'], - guildOnly: false, -}; -exports.help = { - name: 'avatarurl', - description: 'Sends you your avatar picture.', - usage: 'avatarurl', - category: '- Fun Commands', -}; diff --git a/commands/ban.js b/commands/ban.js deleted file mode 100644 index b734be5..0000000 --- a/commands/ban.js +++ /dev/null @@ -1,45 +0,0 @@ -/** ************************************** - * - * Ban: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const Discord = require('discord.js'); - const mreason = args.join(' ').slice(22); - if (!message.member.permissions.has('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to ban people.'); - if (!message.guild.members.cache.get(client.user.id).permissions.has('BAN_MEMBERS')) return message.reply('I don\'t have permission to ban members.'); - const member = message.mentions.members.first(); - if (!member) return message.reply('Please mention a member first.'); - await member.ban({ reason: `Banned by ${message.author.tag} for ${mreason}.`}); - const banEmbed = new Discord.MessageEmbed() - .setTitle('User Banned!') - .setColor('#1fd619') - .addField('**User:**', `${member.user.tag}`) - if (mreason) return banEmbed.addField('**Reason:**', `\`\`\`${mreason}\`\`\``); - await message.channel.send({embeds: [banEmbed]}); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'ban', - description: 'Bans a member', - usage: 'ban [user] [reason]', - category: '- Moderation Commands', -}; diff --git a/commands/eval.js b/commands/eval.js deleted file mode 100644 index b414225..0000000 --- a/commands/eval.js +++ /dev/null @@ -1,84 +0,0 @@ -/** ************************************** - * - * Eval: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions & jtsshieh + PokeWorld - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.'); - const {MessageEmbed} = require('discord.js'); - const code = args.join(' '); - - let evaled; - let remove; - - try { - remove = (text) => { - if (typeof(text) === 'string') { - return text.replace(/`/g, '`' + String.fromCharCode(8203)).replace(/@/g, '@' + String.fromCharCode(8203)); - } else { - return text; - } - }; - - evaled = eval(code); - - if (typeof evaled !== 'string') { - evaled = require('util').inspect(evaled); - } - } catch (err) { - const embed = new MessageEmbed() - .setAuthor('Eval Error') - .setDescription('Eval\'s result') - .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``) - .addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``) - .setFooter('Eval', client.user.avatarURL()) - .setColor('RED'); - return message.channel.send({embeds: [embed]}); - } - - try { - const embed = new MessageEmbed() - .setAuthor('Eval Success') - .setDescription('Eval\'s result') - .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``) - .addField(':outbox_tray: Output:', `\`\`\`js\n${remove(evaled)}\n\`\`\``) - .setFooter('Eval', client.user.avatarURL()) - .setColor('GREEN'); - - return message.channel.send({embeds: [embed]}); - } catch (err) { - const embed = new MessageEmbed() - .setAuthor('Eval Error') - .setDescription('Eval\'s result') - .addField(':inbox_tray: Input:', `\`\`\`js\n${code}\n\`\`\``) - .addField(':outbox_tray: Output:', `\`\`\`${err}\`\`\``) - .setFooter('Eval', client.user.avatarURL()) - .setColor('RED'); - return message.channel.send({embeds: [embed]}); - } -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'eval', - description: 'Evalulates commands.', - usage: '', - category: '- Owners Only', -}; diff --git a/commands/help.js b/commands/help.js deleted file mode 100644 index 7a824f1..0000000 --- a/commands/help.js +++ /dev/null @@ -1,70 +0,0 @@ -/** ************************************** - * - * Help: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -const Discord = require('discord.js'); -const fs = require('fs'); -module.exports.run = async (client, message) => { - const categories = []; - const commands = Array.from(client.commands.keys()); - const settings = require('../storage/settings.json'); - commands.forEach(function(x) { - if (!categories.includes(client.commands.get(x).help.category)) { - categories.push(client.commands.get(x).help.category); - } - }); - - const prefixes = JSON.parse(fs.readFileSync('./storage/prefixes.json', 'utf8')); - - if (!prefixes[message.guild.id]) { - prefixes[message.guild.id] = { - prefixes: settings.prefix, - }; - } - - const prefix = prefixes[message.guild.id].prefixes; - if (!message.guild.members.cache.get(client.user.id).permissions.has('EMBED_LINKS')) return message.reply('ERROR: AleeBot doesn\'t have the permission to send embed links, please enable them to use the full help.'); - const embed = new Discord.MessageEmbed() - .setAuthor('AleeBot ' + require('../storage/settings.json').abVersion + ` Help`, client.user.avatarURL()) - .setDescription('Every command you input into AleeBot is `' + prefix + '`') - .setFooter(`Currently serving on ${client.guilds.cache.size} servers`) - .setColor('#1fd619') - - categories.forEach(function(x) { - let cat = ''; - commands.forEach(function(command) { - if (client.commands.get(command).help.category == x) { - cat = cat + command + '\n'; - } - }); - embed.addField(x, cat, true); - }); - - await message.channel.send({embeds: [embed]}); -}; - -exports.conf = { - aliases: ['h'], - guildOnly: false, -}; -exports.help = { - name: 'help', - description: 'Displays all the commands or a page with information for 1 command.', - usage: 'help (command:command-name)', - category: '- General Commands', -}; diff --git a/commands/info.js b/commands/info.js deleted file mode 100644 index a74d73e..0000000 --- a/commands/info.js +++ /dev/null @@ -1,43 +0,0 @@ -/** ************************************** - * - * Info: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - const { MessageEmbed, version } = require('discord.js'); - const os = require('os'); - const embed = new MessageEmbed() - .setTitle('Information on AleeBot\'s Host') - .addField('OS Hostname: ', os.hostname(), true) - .addField('NodeJS Version: ', process.versions.node, true) - .addField('Discord.JS Version: ', version, true) - .addField('OS Platform: ', os.platform(), true) - .addField('OS Version: ', os.release(), true) - .setColor('#1fd619'); - await message.channel.send({ embeds: [embed] }); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'info', - description: 'Tells you information about the bot', - usage: 'info', - category: '- Information Commands', -}; diff --git a/commands/interrogate.js b/commands/interrogate.js deleted file mode 100644 index 3386352..0000000 --- a/commands/interrogate.js +++ /dev/null @@ -1,42 +0,0 @@ -/** ************************************** - * - * Interrogate: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (message.guild.id !== '243022206437687296') return message.reply('This is a Binaryworks exclusive command.'); - - if (!message.member.permissions.has('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.'); - if (!message.guild.members.cache.get(client.user.id).permissions.has('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.'); - - const member = message.mentions.members.first(); - if (!member) return await message.reply('Uhh... Please mention a member first.'); - - member.roles.add(message.guild.roles.cache.get('431973193608200193')); - message.reply(`Alright, I just interrogated ${member.user.tag}.`); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'interrogate', - description: 'Interrogates a member', - usage: 'interrogate [user]', - category: '- ALP Exclusive Commands', -}; diff --git a/commands/kick.js b/commands/kick.js deleted file mode 100644 index c248afc..0000000 --- a/commands/kick.js +++ /dev/null @@ -1,45 +0,0 @@ -/** ************************************** - * - * Kick: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const Discord = require('discord.js'); - const mreason = args.join(' ').slice(22); - if (!message.member.permissions.has('KICK_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to kick people.'); - if (!message.guild.members.cache.get(client.user.id).permissions.has('KICK_MEMBERS')) return message.reply('I don\'t have permission to kick members.'); - const member = message.mentions.members.first(); - if (!member) return message.reply('Please mention a member first.'); - await member.kick(`Kicked by ${message.author.tag} for ${mreason}.`); - const kickEmbed = new Discord.MessageEmbed() - .setTitle('User Kicked!') - .setColor('#1fd619') - .addField('**User:**', `${member.user.tag}`) - if (mreason) return kickEmbed.addField('**Reason:**', `\`\`\`${mreason}\`\`\``); - await message.channel.send({embeds: [kickEmbed]}); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'kick', - description: 'Kicks a member', - usage: 'kick [user]', - category: '- Moderation Commands', -}; diff --git a/commands/leaveguild.js b/commands/leaveguild.js deleted file mode 100644 index 00a97fc..0000000 --- a/commands/leaveguild.js +++ /dev/null @@ -1,35 +0,0 @@ -/** ************************************** - * - * LeaveGuild: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - if (!['242775871059001344', message.guild.ownerID].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot or the owner of this guild to use this command.'); - await message.channel.send('Leaving server. If that\'s a mistake, you can re-invite me'); - message.guild.leave(); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'leaveguild', - description: 'Makes the bot leave the server', - usage: 'leaveguild', - category: '- Owners Only', -}; diff --git a/commands/nick.js b/commands/nick.js deleted file mode 100644 index 8fcdce7..0000000 --- a/commands/nick.js +++ /dev/null @@ -1,36 +0,0 @@ -/** ************************************** - * - * Nick: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (!message.guild.members.cache.get(client.user.id).permissions.has('MANAGE_NICKNAME')) return message.reply('**ERROR:** I can\'t change nicknames. (Check permissions)'); - const nick = args.join(' '); - message.member.setNickname(nick); - message.channel.send(`Alright! I changed your nickname to \`${nick}\``); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'nick', - description: 'Changes nickname.', - usage: 'nick [context]', - category: '- General Commands', -}; diff --git a/commands/ping.js b/commands/ping.js deleted file mode 100644 index d66330d..0000000 --- a/commands/ping.js +++ /dev/null @@ -1,33 +0,0 @@ -/** ************************************** - * - * Ping: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - message.reply('**PONG!** :ping_pong: ' + Math.round(client.ws.ping) + ' ms'); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'ping', - description: 'Ping the bot.', - usage: 'ping', - category: '- General Commands', -}; diff --git a/commands/poweroff.js b/commands/poweroff.js deleted file mode 100644 index 22fb6bb..0000000 --- a/commands/poweroff.js +++ /dev/null @@ -1,46 +0,0 @@ -/** ************************************** - * - * Poweroff: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - const Discord = require('discord.js'); - if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.'); - const stopEmbed = new Discord.MessageEmbed() - .setAuthor('AleeBot Status', client.user.avatarURL()) - .setDescription('AleeBot is now going offline...') - .setColor('#ff3333'); - - let statusChannel = client.channels.cache.get('606602551634296968'); - if (!statusChannel) return console.error('The status channel does not exist! Skipping.'); - await statusChannel.send({ embeds: [stopEmbed]}); - await message.reply(':warning: AleeBot will now exit!'); - console.log('[i] AleeBot will now exit!'.blue); - client.destroy(); - process.exit(0); -}; - -exports.conf = { - aliases: ['reboot'], - guildOnly: false, -}; -exports.help = { - name: 'poweroff', - description: 'Turns off AleeBot.', - usage: 'poweroff', - category: '- Owners Only', -}; diff --git a/commands/purge.js b/commands/purge.js deleted file mode 100644 index bc6e727..0000000 --- a/commands/purge.js +++ /dev/null @@ -1,39 +0,0 @@ -/** ************************************** - * - * Purge: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (!message.member.permissions.has('MANAGE_MESSAGES')) return message.reply('It looks like that you don\'t have the permissions to delete messages.'); - if (isNaN(args[0])) return message.reply('Please put the valid number of messages to purge.'); - - if (args[0] > 100) return message.channel.send('Please put a number less than 100.'); - - message.channel.bulkDelete(args[0]) - .then( (messages) => message.channel.send(`Successfully deleted ${messages.size} messages.`)); -}; - -exports.conf = { - aliases: ['rm'], - guildOnly: false, -}; -exports.help = { - name: 'purge', - description: 'Removes messages in a bulk.', - usage: 'purge [number]', - category: '- Moderation Commands', -}; diff --git a/commands/quote.js b/commands/quote.js deleted file mode 100644 index 2e3b557..0000000 --- a/commands/quote.js +++ /dev/null @@ -1,58 +0,0 @@ -/** ************************************** - * - * Quote: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const { quote: quoteDB } = require('../models/quote'); - const { MessageEmbed } = require('discord.js'); - let quoteID = args[0]; - - if (quoteID === undefined) { - const quoteList = await quoteDB.findAll({ attributes: ['id'] }) - const random = crypto.getRandomValues(new Uint32Array(1)); - quoteID = quoteList[random[0] % quoteList.length].id; - } - - const quote = await quoteDB.findOne({ where: { id: quoteID } }); - - if (quote) { - let userSubmitter = await client.users.fetch(quote.submitter); - const quoteEmbed = new MessageEmbed() - .setAuthor({ name: quote.author, iconURL: quote.authorImage }) - .setDescription(quote.quote) - .setColor('#1fd619') - .setFooter(`- ${quote.year}\nSubmitted by ${userSubmitter.username}`); - - await message.reply({ embeds: [quoteEmbed] }) - } else { - message.reply('Cannot find quote, specify the correct quote id.'); - } - - -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'quote', - description: 'Tells you quotes', - usage: 'quote', - category: '- Quote Commands', -}; diff --git a/commands/say.js b/commands/say.js deleted file mode 100644 index 9ef9707..0000000 --- a/commands/say.js +++ /dev/null @@ -1,36 +0,0 @@ -/** ************************************** - * - * Say: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (!['242775871059001344'].includes(message.author.id)) return message.reply('Nope! You need the person who created this bot to use this command.'); - const absay = args.join(' '); - message.delete().catch(); - message.channel.send(absay); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'say', - description: 'You can control AleeBot now!', - usage: 'say [context]', - category: '- Owners Only', -}; diff --git a/commands/serverinfo.js b/commands/serverinfo.js deleted file mode 100644 index 67442a2..0000000 --- a/commands/serverinfo.js +++ /dev/null @@ -1,51 +0,0 @@ -/** ************************************** - * - * ServerInfo: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - const Discord = require('discord.js'); - const listedChannels = []; - let guildOwner = await message.guild.fetchOwner(); - let memberCountNoBots = await message.guild.members.fetch().then((members) => members.filter(member => !member.user.bot).size); - const embed = new Discord.MessageEmbed() - .setAuthor(`${message.guild.name}`, `${message.guild.iconURL()}`) - .setDescription('Server Information') - .setThumbnail(message.guild.iconURL()) - .addField('Main Information', `**Server Name:** ${message.guild.name}\n**Server ID:** ${message.guild.id}\n**Server Owner:** ${guildOwner.user.tag}`) - .addField('Join Dates', `**Created At:** ${message.guild.createdAt.toUTCString()}\n**AleeBot Joined:** ${message.guild.joinedAt.toUTCString()}`) - /*message.guild.channels.cacheType.forEach(channel => { - listedChannels.push(channel) - })*/ - //.addField('Channels', `${listedChannels.join('\n')}`) - //.addField('Total Channels', message.guild.channelCountMode) - .addField('Total Members (with bots)', `${message.guild.memberCount}`) - .addField('Total Members (without bots)', `${memberCountNoBots}`) - .setColor('#1fd619'); - await message.channel.send({embeds: [embed]}); -}; - -exports.conf = { - aliases: ['sinfo'], - guildOnly: false, -}; -exports.help = { - name: 'serverinfo', - description: 'Tells your info.', - usage: 'serverinfo', - category: '- Information Commands', -}; diff --git a/commands/setlogchannel.js b/commands/setlogchannel.js deleted file mode 100644 index d989f8b..0000000 --- a/commands/setlogchannel.js +++ /dev/null @@ -1,55 +0,0 @@ -/** ************************************** - * - * SetLogChannel: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -const { guildSettings } = require ('../models/guild-settings') -module.exports.run = async (client, message, args) => { - //This will be replaced in the future possibly - if (!message.member.permissions.has('MANAGE_GUILD')) return message.reply('It looks like that you can\'t manage this server.'); - - let channel; - - if (message.mentions.channels.first()) { - channel = message.mentions.channels.first().id; - } else if (args[0] && message.guild.channels.cache.has(args[0])) { - channel = args[0]; - } else { - return await message.reply('Please enter a valid channel ID.') - } - - const [ guild ] = await guildSettings.findOrCreate({ where: { guildID: message.guild.id } } ) - - if (!channel) { - message.reply('No channel has been set, disabling the logging channel feature...'); - await guild.update({ logChannelID: null } ); - } else { - await guild.update({ logChannelID: channel } ); - await message.reply(`Logging channel has been set to <#${channel}>`); - } -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'setlogchannel', - description: 'Set the log channel.', - usage: 'setlogchannel #channel', - category: '- Moderation Commands', -}; diff --git a/commands/setprefix.js b/commands/setprefix.js deleted file mode 100644 index 6800eea..0000000 --- a/commands/setprefix.js +++ /dev/null @@ -1,52 +0,0 @@ -/** ************************************** - * - * SetPrefix: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const moment = require('moment'); - const log = (message) => { - console.log(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] ${message}`); - }; - const fs = require('fs'); - if (!message.member.permissions.has('ADMINISTRATOR')) return message.reply('Sorry you need admin to set my prefix'); - if (!args[0] || args[0 == 'help']) return message.reply('Usage: setprefix '); - - const prefixes = JSON.parse(fs.readFileSync('./storage/prefixes.json', 'utf8')); - - prefixes[message.guild.id] = { - prefixes: args[0], - }; - - fs.writeFile('./storage/prefixes.json', JSON.stringify(prefixes), (err) =>{ - if (err) log(err); - }); - - message.reply(`AleeBot's Prefix in this guild is now \`${args[0]}\``); - log(`[i] The guild ${message.guild.name} has changed AleeBot's prefix to ${args[0]}`); -}; - -exports.conf = { - aliases: [], - guildOnly: true, -}; -exports.help = { - name: 'setprefix', - description: 'Sets the guild prefix.', - usage: 'setprefix [prefix]', - category: '- Settings Commands', -}; diff --git a/commands/setup.js b/commands/setup.js deleted file mode 100644 index c797f7d..0000000 --- a/commands/setup.js +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************** - * - * Setup: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ - -module.exports.run = async (client, message) => { - if (!['242775871059001344', message.guild.ownerId].includes(message.author.id)) return message.reply(':warning: You must be a server owner or be the creator of the bot to access this command.'); - message.reply(':arrow_left: Check DMs to continue.'); - const Discord = require('discord.js'); - const setupEmbed = new Discord.MessageEmbed() - .setTitle('AleeBot Setup', client.user.avatarURL()) - .setDescription('Select the options') - .addField('Logging', 'channelid', true) - .addField('Broadcast', 'placeholder', true) - .addField('Quote of the Day', 'placeholder', true) - .addField('QOTD Channel', 'channelid', true); - - message.author.send({embeds: [setupEmbed]}); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'setup', - description: 'Setting up AleeBot.', - usage: 'setup', - category: '- Settings Commands', -}; diff --git a/commands/slowdown.js b/commands/slowdown.js deleted file mode 100644 index 55e441b..0000000 --- a/commands/slowdown.js +++ /dev/null @@ -1,37 +0,0 @@ -/** ************************************** - * - * Slowdown: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (!message.member.permissions.has('MANAGE_CHANNELS')) return message.reply('It looks like that you don\'t have the permissions to slowdown channels.'); - if (isNaN(args[0])) return message.reply('Please input a valid number to slowdown a channel.'); - await message.channel.setRateLimitPerUser(args[0]); - message.channel.send(`This channel has been slowdown for ${args[0]} second(s).`); - -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'slowdown', - description: 'Ratelimits channel.', - usage: 'slowdown [number]', - category: '- Moderation Commands', -}; diff --git a/commands/suggest.js b/commands/suggest.js deleted file mode 100644 index b503139..0000000 --- a/commands/suggest.js +++ /dev/null @@ -1,45 +0,0 @@ -/** ************************************** - * - * Suggest: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - if (message.guild.id !== '243022206437687296') return message.reply('This is a Andrew Lee Projects exclusive command.'); - const {MessageEmbed} = require('discord.js'); - client.channels.cache.get('427495678390960148').send({ embeds: [ - new MessageEmbed() - .setColor('#1fd619') - .setTitle('Suggestion') - .setDescription('This is a suggestion from '+ message.author.username +'. Please react to it using the following emojis.') - .addField('Suggestion Contents', args.join(' ')), - ]}).then((message) => { - message.react('\u2705'); - message.react('\u274E'); - }); - message.reply('Your suggestion has been shown in the suggestions channel.'); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'suggest', - description: 'Suggest a feature in Andrew Lee Projects.', - usage: 'suggest [suggestion]', - category: '- ALP Exclusive Commands', -}; diff --git a/commands/suggestfeature.js b/commands/suggestfeature.js deleted file mode 100644 index 21b6849..0000000 --- a/commands/suggestfeature.js +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************** - * - * SuggestFeature: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const { MessageEmbed } = require('discord.js'); - - client.channels.cache.get('427495678390960148').send({ embeds: [ - new MessageEmbed() - .setColor('#1fd619') - .setTitle('AleeBot Feature Suggestion') - .setDescription(`This is an AleeBot feature suggested from ${message.author.username}.`) - .addField('Suggestion Contents', args.join(' ')) - .setFooter(`Sending from ${message.guild.name}`, message.guild.iconURL())]} - ); - await message.reply('Your suggestion has been shown to the Andrew Lee Projects discord server!'); - -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'suggestfeature', - description: 'Suggest features in AleeBot.', - usage: 'suggestfeature [suggestion]', - category: '- General Commands', -}; - diff --git a/commands/timeout.js b/commands/timeout.js deleted file mode 100644 index bed9077..0000000 --- a/commands/timeout.js +++ /dev/null @@ -1,49 +0,0 @@ -/** ************************************** - * - * Jail: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message, args) => { - const { MessageEmbed } = require('discord.js'); - - if (!message.member.permissions.has('BAN_MEMBERS')) return message.reply('It looks like that you don\'t have the permissions to jail members.'); - if (!message.guild.members.cache.get(client.user.id).permissions.has('MANAGE_ROLES')) return message.reply('Uhh... I don\'t have permission to jail members.'); - - if (!args[1]) message.reply('Determine the length of the timeout...'); - if (!args[2]) message.reply('Determine the reason of the timeout...'); - - const member = message.mentions.members.first(); - if (!member) return await message.reply('Uhh... Please mention a member first.'); - - const timeoutEmbed = new MessageEmbed() - .setDescription(`${member.user.tag} just got timed out!`) - .addField('Length', `${args[1]} minute(s)`) - .addField('Reason', args[2]) - .setColor('#ec2727') - member.timeout(args[1] * 60 * 1000, args[2]).then(message.reply({embeds: [timeoutEmbed]})); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'timeout', - description: 'Times out a member', - usage: 'timeout [user]', - category: '- Moderation Commands', -}; diff --git a/commands/uptime.js b/commands/uptime.js deleted file mode 100644 index 7453ad5..0000000 --- a/commands/uptime.js +++ /dev/null @@ -1,48 +0,0 @@ -/** ************************************** - * - * Uptime: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions & OfficialRain - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - let uptime = parseInt(client.uptime); - uptime = Math.floor(uptime / 1000); - let uptimeMinutes = Math.floor(uptime / 60); - const minutes = uptime % 60; - let hours = 0; - let days = 0; - while (uptimeMinutes >= 60) { - hours++; - uptimeMinutes = uptimeMinutes - 60; - } - while (hours >= 24) { - days++; - hours = hours - 24; - } - const uptimeSeconds = minutes % 60; - message.channel.send(`:clock3: AleeBot has been up for ${days} days, ${hours} hours, ${uptimeMinutes} minutes, and ${uptimeSeconds} seconds.`); -}; - -exports.conf = { - aliases: [], - guildOnly: false, -}; -exports.help = { - name: 'uptime', - description: 'Displays Uptime.', - usage: 'uptime', - category: '- General Commands', -}; diff --git a/commands/userinfo.js b/commands/userinfo.js deleted file mode 100644 index bc7ec8e..0000000 --- a/commands/userinfo.js +++ /dev/null @@ -1,43 +0,0 @@ -/** ************************************** - * - * UserInfo: Command for AleeBot - * Copyright (C) 2017-2021 Alee Productions - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * *************************************/ -module.exports.run = async (client, message) => { - const Discord = require('discord.js'); - const embed = new Discord.MessageEmbed() - .setAuthor(message.author.tag, message.author.avatarURL()) - .setDescription('User Information') - .setThumbnail(message.author.avatarURL()) - .addField('Names', `**Display Name:** ${message.member.displayName}\n**Username:** ${message.author.username}\n**Server Nickname:** ${message.member.displayName}`) - .addField('Identity', `**User ID:** ${message.author.id} `) - .addField('Create and Join Times', `**Created At:** ${message.member.user.createdAt.toUTCString()}\n**Joined Guild At:** ${message.member.joinedAt.toUTCString()}`) - .setColor('#1fd619'); - await message.channel.send({embeds: [embed]}); - -}; - -exports.conf = { - aliases: ['uinfo'], - guildOnly: false, -}; -exports.help = { - name: 'userinfo', - description: 'Tells your info.', - usage: 'userinfo', - category: '- Information Commands', -}; -- cgit v1.2.3