The application bot is a highly customisable bot, with easy to use applications, using Discord's dropdowns, buttons and slash commands to create an easy to use, interactive experience for the user. With automatic inviting, role granting, logging, and restriction to specific roles, this bot should be perfect for all users looking to recruit new people.
Some of the features:
- Easily accept / deny application through discord buttons
- Create one-time invites on acceptance to invite a user to a discord server
- Individually open / close applications
- Easy to customise & setup
- Creates dedicated channel per application, giving perms to those you specify
- Customisable accept / deny messages
- Lots of logging
- Easily restrict commands
This is an example of how to list things you need to use the software and how to install them.
- NodeJS >= v16.13.0
- npm
npm install npm@latest -g
-
Clone the repo or download the files
git clone https://github.com/neurondevelopment/CoreBot.git
-
Install NPM packages
npm install
-
Fill in the information in
config.json, the following fields are required for the bot to starttoken serverID
-
Invite or reinvite the bot with the following link, replace YOURCLIENTID with the Client ID of your bot
https://discord.com/api/oauth2/authorize?client_id=YOURCLIENTID&permissions=8&scope=applications.commands%20bot -
Starting the bot
node .OR
node index.js
By default, every command is open for everyone, which is maybe not ideal for some commands. In each command file, there is an array called perms, it looks like perms: [] Inside, you can add either a role ID or a permission to use that command, a role id looking like "843429294848081920", or a permission looking like "Administrator"
The final array should look something like
perms: ["843429294848081920", "ManageMessages"]This will allow anyone with the role that has the ID 843429294848081920, or anyone with the manage messages permission to run this command
Listings can be found in /db/applications.json
"testapplication": { // Name of the application
"enabled": true, // Set true or false to allow users to apply for this
"description": "test description", // Description shown in the dropdown menu, max 100 CHARS (not words)
"emoji": "🤡",
"questions": ["Question 1", "Question 2", "Question 3"], // Questions, max 50 CHARS per question, discords limits not mine. There is a limit of 25 questions
"discord": "none", // Enter discord ID for auto invites when a user is accepted
"roles": ["RoleID"], // Roles to grant user if they are accepted, specify role IDs
"restricted": [], // Restrict application to certain roles, specify their role IDs
"category": "Channel ID", // Category for applications to be sent to to be approved / denied
"acceptMessage": "Your application for **{[APPLICATION]}** has been accepted", // Message sent to user if they are accepted. Use {[APPLICATION]} to autofill the name of the application
"denyMessage": "You have been denied from **{[APPLICATION]}**\nReason: `{[REASON]}`"/ Message sent to user if they are accepted. Use {[APPLICATION]} to autofill the name of the application {[REASON]} to autofill the reason
},Distributed under the MIT License. See LICENSE for more information.
