2.1.14 • Published 4 years ago
discord-multipurpose v2.1.14
Discord Multipurpose
This is a package to help make development of Discord.js bots easier. Also has Type Declarations!
Installation
$npm i discord-multipurpose@latest
That should install the package to your project
Modules & Usage
Discord Emoji
const Multipurpose = require("discord-multipurpose");
console.log(Multipurpose.DiscordEmoji.food.apple);
// Logs "🍎"
Discord Image Manipulation
- **⚠ You need `canvas` installed to use these functions, discord.js is not required for these. If you are on Windows and have never used canvas previously, you will probably need to install `windows-build-tools` using `npm i -g windows-build-tools` along with GTK-2 & Python. Refer to [this](https://www.npmjs.com/package/canvas) for further information ⚠** - Methods - **ping**: - Draws a Discord ping across the user's image - **Parameters**: - avatar *(Type: string | Buffer, Required: true)*: The avatar of the user <img src="/Tests/Image/Ping.png" alt="Ping"> - **fakeReply**: - Draws a fake reply yk - **Parameters**: - avatar1 *(Type: string | Buffer, Required: true)*: The avatar of the user who is replying - avatar2 *(Type: string | Buffer, Required: true)*: The avatar of the user being replied to - username1 *(Type: string, Required: true)*: The nickname/username of the user who is replying - username2 *(Type: string, Required: true)*: The nickname/username of the user who is being replied to - messageText *(Type: string, Required: true)*: The content of the sent message - replyText *(Type: string, Required: true)*: The content of the replied message - hex1 *(Type: string, Required: false)*: The colour of the role of the replying user - hex2 *(Type: string, Required: false)*: The colour of the role of the replying user - mode *(Type: string, Options: 'light', 'dark', Required: false, default: dark)*: The mode you want the stuff to be displayed in <img src="/Tests/Image/FakeReply-light.png" alt="FakeReply-light"> <img src="/Tests/Image/FakeReply-dark.png" alt="FakeReply-dark"> - **invert**: - Inverts the Image colours - **Parameters**: - avatar *(Type: string | Buffer)*: The image, whose colours you want to invert <img src="/Tests/Image/invert.png" alt="invert"> - **sepia**: - Applies Sepia effect on to the image - **Parameters**: - avatar *(Type: string | Buffer)*: The image on which you want to apply the effect/filter <img src="/Tests/Image/Sepia.png" alt="Sepia"> - **greyscale**: - Applies greyscale filter on the image - **Parameters**: - avatar *(Type: string | Buffer)*: The image on which you want to apply the filter <img src="/Tests/Image/greyscale.png" alt="greyscale"> - **blur**: - Blurs an Image - **Parameters**: - avatar *(Type: string | Buffer)*: The image which you want to blur <img src="/Tests/Image/blur.png" alt="blur"> - **drip**: - Drip, do I need to explain further? 😎 - **Parameters**: - avatar *(Type: string | Buffer)*: The image which will be Drip's face replacement <img src="/Tests/Image/drip.png" alt="drip"> - Example ```js const Multipurpose = require("discord-multipurpose"); const Discord = require("discord.js"); const client = new Discord.Client(); client.on("ready", () => console.log(`Logged in as ${client.user.tag}!`)); client.on("message", async (message) => { if(message.author.bot) return; if(message.content.toLowerCase() === ">ping") { const ping = await Multipurpose.Image.ping(message.author.displayAvatarURL({ format: 'png' })); return message.channel.send(new MessageAttachment(ping, "ping.png")); } }); ```
Discord Util
- Works only for [Discord.js](https://discord.js.org) bots, you need it installed to use these methods - Methods - **paginateEmbed**: - Paginate your Embeds using reactions! - **Parameters** - msg *(Type: Message, required: true)*: The message object, which you get from the Message Event - pages *(Type: MessageEmbed[], required: true)* :An array of MessageEmbeds, which you want to be in list - emojiList *(Type: string[])*: An array of left & right arrows, emojiList[0] is left arrow & emojiList[1] is the right arrow. Default: `["⏪", "⏩"]` - timeout *(Type: number)*: The time for which the pagination will be active (in miliseconds) Default: `120000`ms (2 minutes) - **⚠ The following example is only there to show how it works, you need to code the commands, you can check the code of the concerned command [here](https://github.com/SpiderMath/Intrepid/blob/cd9dfd6e41d74ba4dbe678c937f5b32b95942d09/Source/Commands/Developer/MDNSearchCommand.ts). You only get the reaction menu feature.** <img src="/Tests/DiscordUtil/paginateEmbed_Sample.gif" alt="PaginateEmbed Sample"> - **confirmation**: - Get the confirmation from the user on an action - **Parameters** - msg *(Type: Message, required: true)*: The message which you want to be reacted upon - author *(Type: User, required: true)*: The user whose confirmation is needed - validReactions *(Type: string[], required: false, length: 2)*: The emojis for yes and no. validReactions[0] has to be the one for yes & validReactions[1] has to be the one for no *Default: ["✔", "❌"]* - time *(Type: number, required: false)*: The time for which you want to wait for the reactions (in miliseconds) *Default: `60000`ms (1 minute)* - defaultResponse *(Type: boolean, required: false)*: The result which you want to get if the user does not respond. *Default: false* - **⚠ The following example shows an implementation of a command which works on using this function** <img src="/Tests/DiscordUtil/Confirmation_Sample.gif" alt="Confirmation Sample">
Minigames
- This feature is only for `Discord.js` Bots - Subclasses - Akinator - Constructor: ( message -> *Type: Message, required: true*, region -> *Type: Region, required: false, you'll see the options in the intellisense 🤫, default: `"en"`* ) - start method starts the Minigame - #### ⚠ Requires `Embed Links` permission to run, and there are instances when Aki-API might send errors, so it is suggested that you put it in a try catch block.
Post Script
ℹ️ Contact me at
SpiderBro#8604
Feel free to make an issue or a PR in the GitHub Repository
2.1.2
4 years ago
2.0.3
4 years ago
2.1.1
4 years ago
2.0.2
4 years ago
2.1.4
4 years ago
2.0.5
4 years ago
2.1.3
4 years ago
2.0.4
4 years ago
2.1.6
4 years ago
2.1.5
4 years ago
2.0.6
4 years ago
2.1.8
4 years ago
2.1.7
4 years ago
2.1.0
4 years ago
2.0.1
4 years ago
2.0.0
4 years ago
2.1.9
4 years ago
2.1.14
4 years ago
2.1.12
4 years ago
2.1.13
4 years ago
2.1.10
4 years ago
2.1.11
4 years ago
1.2.0
4 years ago
1.1.0
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago