Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hunteroi/discord-selfrole
A framework to integrate a channel with an automated role-giver system inside your Discord bot built with DiscordJS
https://github.com/hunteroi/discord-selfrole
discordjs roleme selfrole
Last synced: 2 months ago
JSON representation
A framework to integrate a channel with an automated role-giver system inside your Discord bot built with DiscordJS
- Host: GitHub
- URL: https://github.com/hunteroi/discord-selfrole
- Owner: HunteRoi
- License: mit
- Created: 2021-05-02T15:56:32.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-18T18:18:15.000Z (4 months ago)
- Last Synced: 2024-09-19T11:12:10.026Z (4 months ago)
- Topics: discordjs, roleme, selfrole
- Language: TypeScript
- Homepage: https://hunteroi.github.io/discord-selfrole
- Size: 1.64 MB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Discord SelfRole
Discord SelfRole is a framework to easily create a channel with automated role-giver system.
- Supports custom emojis
- Emits events like `channelRegister`, `roleAdd`, `reactionRemove` and **9 more**!
- Allow full customization of the embed (you can add image, thumbnail, etc.)
- And much more!![IMAGE](https://raw.githubusercontent.com/HunteRoi/discord-selfrole/master/assets/example.gif)
See [./examples/index.js](https://github.com/hunteroi/discord-selfrole/tree/master/examples/index.js).
## Prerequisites ⚠️
Starting at **v2.0.0**, you must use **NodeJS v16.6.0 or higher** to run a bot with this library.
You also must not forget to include [mandatory intents and partials](#mandatory-intents) as well as give your bot the
rights to read messages.### Mandatory intents
- GUILDS: used to access guild content such as channels.
- GUILD_MEMBERS: used to access guild members and update their roles.
- GUILD_MESSAGES: used to read guild messages.In case you are willing to use reactions, you will need these intents:
- GUILD_MESSAGE_REACTIONS: used to access guild messages reactions.
In case you are willing to use interactions and buttons, you will need these intents:
- GUILD_INTERACTIONS: used to access direct messages to the bot.
## Installation
```sh
npm install --save @hunteroi/discord-selfrole
```## Events
```ts
manager.on(SelfRoleManagerEvents.channelRegister, (channel, options) => {});manager.on(SelfRoleManagerEvents.channelUnregister, (channel, options) => {});
manager.on(SelfRoleManagerEvents.error, (error, message, [role, member]) => {});
manager.on(SelfRoleManagerEvents.messageRetrieve, (message) => {});
manager.on(SelfRoleManagerEvents.messageCreate, (message) => {});
manager.on(SelfRoleManagerEvents.messageDelete, (message) => {});
manager.on(SelfRoleManagerEvents.roleRemove, (role, member, interaction) => {});
manager.on(SelfRoleManagerEvents.roleAdd, (role, member, interaction) => {});
manager.on(SelfRoleManagerEvents.reactionAdd, (rte, message) => {}); // only if useReactions is set to true
manager.on(SelfRoleManagerEvents.reactionRemove, (rte, message) => {}); // only if useReactions is set to true
maanger.on(SelfRoleManagerEvents.interaction, (rte, interaction) => {}); // only if useReactions is set to false
manager.on(SelfRoleManagerEvents.maxRolesReach, (member, interaction, nbRoles, maxRoles, role) => {});
manager.on(SelfRoleManagerEvents.requiredRolesMissing, (member, userAction, role, requiredRoles) => {});
```## Contribution
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any
contributions you make are greatly appreciated.1. Fork the Project
2. Create your Branch: `git checkout -b patch/YourAmazingWork`
3. Commit your Changes: `git commit -m 'Add some amazing work'`
4. Push to the Branch: `git push origin patch/YourAmazingWork`
5. Open a Pull Request