diff --git a/commands/duck.js b/commands/duck.js index b2a6d8b..e984918 100644 --- a/commands/duck.js +++ b/commands/duck.js @@ -21,6 +21,8 @@ module.exports = { execute: async (message, args) => { const duck = await returnDuck(); message.channel.send(duck); + //react ๐Ÿฆ† + message.react('๐Ÿฆ†'); }, executeSlash: async interaction => { const duck = await returnDuck(); diff --git a/commands/emoji.js b/commands/emoji.js new file mode 100644 index 0000000..1b5cfb0 --- /dev/null +++ b/commands/emoji.js @@ -0,0 +1,33 @@ +//https://emojihub.yurace.pro/api/random +var emojis = [ + '๐Ÿ˜€', '๐Ÿ˜ƒ', '๐Ÿ˜„', '๐Ÿ˜', '๐Ÿ˜†', '๐Ÿ˜…', '๐Ÿ˜‚', '๐Ÿคฃ', '๐Ÿ˜Š', '๐Ÿ˜‡', '๐Ÿ™‚', '๐Ÿ™ƒ', '๐Ÿ˜‰', '๐Ÿ˜Œ', '๐Ÿ˜', '๐Ÿฅฐ', '๐Ÿ˜˜', '๐Ÿ˜—', '๐Ÿ˜™', '๐Ÿ˜š', '๐Ÿ˜‹', '๐Ÿ˜›', '๐Ÿ˜', '๐Ÿ˜œ', '๐Ÿคช', '๐Ÿคจ', '๐Ÿง', '๐Ÿค“', '๐Ÿ˜Ž', '๐Ÿคฉ', '๐Ÿฅณ', '๐Ÿ˜', '๐Ÿ˜’', '๐Ÿ˜ž', '๐Ÿ˜”', '๐Ÿ˜Ÿ', '๐Ÿ˜•', '๐Ÿ™', 'โ˜น๏ธ', '๐Ÿ˜ฃ', '๐Ÿ˜–', '๐Ÿ˜ซ', '๐Ÿ˜ฉ', '๐Ÿฅบ', '๐Ÿ˜ข', '๐Ÿ˜ญ', '๐Ÿ˜ค', '๐Ÿ˜ ', '๐Ÿ˜ก', '๐Ÿคฌ', '๐Ÿคฏ', '๐Ÿ˜ณ', '๐Ÿฅต', '๐Ÿฅถ', '๐Ÿ˜ฑ', '๐Ÿ˜จ', '๐Ÿ˜ฐ', '๐Ÿ˜ฅ', '๐Ÿ˜“', '๐Ÿค—', '๐Ÿค”', '๐Ÿคญ', '๐Ÿคซ', '๐Ÿคฅ', '๐Ÿ˜ถ', '๐Ÿ˜', '๐Ÿ˜‘', '๐Ÿ˜ฌ', '๐Ÿ™„', '๐Ÿ˜ฏ', '๐Ÿ˜ฆ', '๐Ÿ˜ง', '๐Ÿ˜ฎ', '๐Ÿ˜ฒ', '๐Ÿฅฑ', '๐Ÿ˜ด', '๐Ÿคค', '๐Ÿ˜ช', '๐Ÿ˜ต', '๐Ÿค', '๐Ÿฅด', '๐Ÿคข', '๐Ÿคฎ', '๐Ÿคง', '๐Ÿ˜ท', '๐Ÿค’', '๐Ÿค•', '๐Ÿค‘', '๐Ÿค ', '๐Ÿ˜ˆ', '๐Ÿ‘ฟ', '๐Ÿ‘น', '๐Ÿ‘บ', '๐Ÿคก', '๐Ÿ’ฉ', '๐Ÿ‘ป', '๐Ÿ’€', 'โ˜ ๏ธ', '๐Ÿ‘ฝ', '๐Ÿ‘พ', '๐Ÿค–', '๐ŸŽƒ', '๐Ÿ˜บ', '๐Ÿ˜ธ', '๐Ÿ˜น', '๐Ÿ˜ป', '๐Ÿ˜ผ', '๐Ÿ˜ฝ', '๐Ÿ™€', '๐Ÿ˜ฟ', '๐Ÿ˜พ', '๐Ÿ™ˆ', '๐Ÿ™‰', + '๐Ÿ™Š', '๐Ÿ’‹', '๐Ÿ’Œ', '๐Ÿ’˜', '๐Ÿ’', '๐Ÿ’–', '๐Ÿ’—', '๐Ÿ’“', '๐Ÿ’ž', '๐Ÿ’•', '๐Ÿ’Ÿ', 'โฃ๏ธ', '๐Ÿ’”', 'โค๏ธ', '๐Ÿงก', '๐Ÿ’›', '๐Ÿ’š', '๐Ÿ’™', '๐Ÿ’œ', '๐ŸคŽ', '๐Ÿ–ค', '๐Ÿค', '๐Ÿ’ฏ', '๐Ÿ’ข', '๐Ÿ’ฅ', '๐Ÿ’ซ', '๐Ÿ’ฆ', '๐Ÿ’จ', '๐Ÿ•ณ๏ธ', '๐Ÿ’ฃ', '๐Ÿ’ฌ', '๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ', '๐Ÿ—จ๏ธ', '๐Ÿ—ฏ๏ธ', '๐Ÿ’ญ', '๐Ÿ’ค', '๐Ÿ—ฃ๏ธ', '๐Ÿ‘ค', '๐Ÿ‘ฅ', '๐Ÿ‘ฃ', '๐Ÿง ', '๐Ÿฆพ', '๐Ÿฆฟ', '๐Ÿฆป', '๐Ÿฆฝ', '๐Ÿฆผ', '๐Ÿฆท', '๐Ÿฆด', '๐Ÿ‘€', '๐Ÿ‘‚', '๐Ÿ‘ƒ', '๐Ÿ‘…', '๐Ÿ‘„', '๐Ÿ‘ถ', '๐Ÿง’', '๐Ÿ‘ฆ', '๐Ÿ‘ง', '๐Ÿง‘', '๐Ÿ‘ฑ', '๐Ÿ‘จ', '๐Ÿง”', '๐Ÿ‘ฉ', '๐Ÿง“', '๐Ÿ‘ด', '๐Ÿ‘ต', '๐Ÿ™', '๐Ÿ™Ž', '๐Ÿ™…', '๐Ÿ™†', '๐Ÿ’', '๐Ÿ™‹', '๐Ÿง', '๐Ÿงโ€โ™‚๏ธ', '๐Ÿงโ€โ™€๏ธ', '๐Ÿ™‡', '๐Ÿคฆ', '๐Ÿคท', '๐Ÿ‘ฎ', '๐Ÿ•ต๏ธ', '๐Ÿ’‚', '๐Ÿ‘ท', '๐Ÿคด', '๐Ÿ‘ธ', '๐Ÿ‘ณ', '๐Ÿ‘ฒ', '๐Ÿง•', '๐Ÿคต', '๐Ÿ‘ฐ', '๐Ÿคฐ', '๐Ÿคฑ', '๐Ÿ‘ผ', '๐ŸŽ…', '๐Ÿคถ', '๐Ÿฆธ', '๐Ÿฆน', '๐Ÿง™', '๐Ÿงš', '๐Ÿง›', '๐Ÿงœ', '๐Ÿง', '๐Ÿงž', + '๐ŸงŸ', '๐Ÿ’†', '๐Ÿ’‡', '๐Ÿšถ', '๐Ÿง', '๐ŸงŽ', '๐Ÿง‘โ€๐Ÿฆฏ', '๐Ÿง‘โ€๐Ÿฆผ', '๐Ÿง‘โ€๐Ÿฆฝ', '๐Ÿง‘โ€๐Ÿฆป', '๐Ÿง‘โ€๐Ÿฆฒ', '๐Ÿง‘โ€๐Ÿฆฑ', '๐Ÿง‘โ€๐Ÿฆฐ', '๐Ÿง‘โ€๐Ÿฆณ', '๐Ÿง‘โ€๐Ÿฆฐ', '๐Ÿง‘โ€๐Ÿฆฑ', '๐Ÿง‘โ€๐Ÿฆฒ', '๐Ÿง‘โ€๐Ÿฆฝ', '๐Ÿง‘โ€๐Ÿฆผ', '๐Ÿง‘โ€๐Ÿฆฏ', '๐Ÿงโ€โ™‚๏ธ', '๐Ÿงโ€โ™€๏ธ', '๐Ÿšถโ€โ™‚๏ธ', '๐Ÿšถโ€โ™€๏ธ', '๐Ÿ’ƒ', '๐Ÿ•บ', '๐Ÿ•ด๏ธ', '๐Ÿ‘ฏ', '๐Ÿ‘ฏโ€โ™‚๏ธ', '๐Ÿ‘ฏโ€โ™€๏ธ', '๐Ÿง–', '๐Ÿง–โ€โ™‚๏ธ', '๐Ÿง–โ€โ™€๏ธ', '๐Ÿง—', '๐Ÿง—โ€โ™‚๏ธ', '๐Ÿง—โ€โ™€๏ธ', '๐Ÿ‡', 'โ›ท๏ธ', '๐Ÿ‚', '๐ŸŒ๏ธ', '๐ŸŒ๏ธโ€โ™‚๏ธ', '๐ŸŒ๏ธโ€โ™€๏ธ', '๐Ÿ„', '๐Ÿ„โ€โ™‚๏ธ', '๐Ÿ„โ€โ™€๏ธ', '๐Ÿšฃ', '๐Ÿšฃโ€โ™‚๏ธ', '๐Ÿšฃโ€โ™€๏ธ', '๐ŸŠ', '๐ŸŠโ€โ™‚๏ธ', '๐ŸŠโ€โ™€๏ธ', 'โ›น๏ธ', 'โ›น๏ธโ€โ™‚๏ธ', 'โ›น๏ธโ€โ™€๏ธ', '๐Ÿ‹๏ธ', '๐Ÿ‹๏ธโ€โ™‚๏ธ', '๐Ÿ‹๏ธโ€โ™€๏ธ', '๐Ÿšด', '๐Ÿšดโ€โ™‚๏ธ', '๐Ÿšดโ€โ™€๏ธ', '๐Ÿšต', '๐Ÿšตโ€' +]; +function returnEmoji() { + return emojis[Math.floor(Math.random() * emojis.length)]; +} + +module.exports = { + name: 'emoji', + description: 'Get a random emoji', + help: 'Get a random emoji', + options: [], + slash: true, + text: true, + admin: false, + requireKick: false, + requireBan: false, + canBeUsedInDm: true, + premium: false, + contexts: ['GUILD_TEXT', 'GUILD_VOICE', 'DM'], + integration_types: [0,1], + execute: async (message, args) => { + const emoji = await returnEmoji(); + message.channel.send(emoji); + }, + executeSlash: async interaction => { + const emoji = await returnEmoji(); + interaction.reply(emoji); + }, +}; diff --git a/commands/wwwicon.js b/commands/wwwicon.js new file mode 100644 index 0000000..054abf8 --- /dev/null +++ b/commands/wwwicon.js @@ -0,0 +1,49 @@ +//https://icon.horse/icon/WEBSITE +function returnIcon(website) { + //if has http or https, ://, /, remove it + website = website.replace(/https:\/\//g, ''); + website = website.replace(/http:\/\//g, ''); + website = website.replace(/:\/\//g, ''); + website = website.replace(/\//g, ''); + //if it is not a valid website, return error + if (website.length < 1) { + return 'Invalid website'; + } + //check if regex is valid + const regex = new RegExp('^[a-z0-9]+\\.[a-z]{2,6}$', 'i'); + if (!regex.test(website)) { + return 'Invalid website'; + } + return `https://icon.horse/icon/${website}`; +} + +module.exports = { + name: 'wwwicon', + description: 'Get a website icon', + help: 'Get a website icon', + options: [ + { + name: 'website', + description: 'The website you want the icon of, only top level domains are allowed (example.com)', + type: 3, + required: true, + }, + ], + slash: true, + text: true, + admin: false, + requireKick: false, + requireBan: false, + canBeUsedInDm: true, + premium: false, + contexts: ['GUILD_TEXT', 'GUILD_VOICE', 'DM'], + integration_types: [0,1], + execute: async (message, args) => { + const icon = await returnIcon(args[0]); + message.channel.send(icon); + }, + executeSlash: async interaction => { + const icon = await returnIcon(interaction.options.getString('website')); + interaction.reply(icon); + }, +}; \ No newline at end of file