The bot is powered by Discord.js and helps in the smooth functioning of the server. It is a bot that is designed to be used by the Evident Audit team and it's member βοΈ βοΈ
Bot is equipped with a variety of commands that can be used to interact with the server along with a bounty system added to encourage active participation and helping environment π«π―
Table of Contents
The project is a Discord bot powered by the Discord.js library. It contains several several slash commands which can be used to interact with the server, giving joiners a place to get involved and a personalised environment
The bot tries to make server as user-friendly as possible and make tasks like asking for help and rewarding the helper easier.
Join the server here to experience the bot.
Ofcourse, the bot doesn't server for servers of all niche so I will try to add more features in the near future. You may also suggest changes or new features by creating a new issue here.
Below is the list of all the major frameworks and libraries used in the project.
To get a local copy of the bot up and running follow these simple steps
- Clone the repository
git clone https://github.com/himakhaitan/evidentAuditDiscordBot.git
- Install the dependencies
npm install
-
Follow the Installation Steps
-
Ready to run the bot
npm start
- Invite the bot to your server using the bot's invite link
You can get the bot's invite link through Discord Developer Portal
The prerequisites for the bot to run are the following:
- Node.js (v16.14.0 or higher)
- MongoDB (Locally or Cloud)
- and you are good to go!
Following are the steps to configure the bot and make it up and running.
-
Configure the Environment Variables
- Create a file called
.env
in the root directory of the project - Add the following lines to the file
TOKEN=DISCORD_BOT_TOKEN CLIENT_ID=DISCORD_CLIENT_ID GUILD_ID=YOUR_SERVER_ID DB_URL=MONGO_DB_URL SUGGESTION=SUGGESTION_CHANNEL_ID MODS=MODS_ROLE_ID
- Replace the
TOKEN
,CLIENT_ID
,GUILD_ID
, andDB_URL
with the actual values - Replace the
MODS
with the actual Discord IDs of the moderators - Replace the
SUGGESTION
with the actual Discord ID of the suggestion channel - Note: You can also use the
sample.env
file to get a template of the file
- Create a file called
-
Edit
config.js
in the root directory.
const authorInfo = {
url: "https://twitter.com/evidentaudit",
iconURL:
"https://github.com/himakhaitan/evidentAuditDiscordBot/blob/main/brand/logo.png?raw=true",
};
const embedColor = "#56BBF1";
const guildId = "902805157144821793";
const emoji = {
twitter: "961985224730886174",
linkedin: "902878634870714409",
github: "902878634082185276",
scam: "927206837202354206",
pepeyes: "927212874584178708",
evidentaudit: "933670080271777883",
};
module.exports = {
authorInfo,
embedColor,
emoji,
guildId,
};
Replace the dummy data with the actual values. You need to have a developers account to get all these values.
- Add role specific commands
- Add a command to add a user to a role
- Add a command to remove a user from a role
- Add a command to check bounties
- Make
/create_embed
more flexible- Enable the command to take channel as an argument
See the open issues for a full list of proposed features (and known issues). Feel free to create one.
Below is a list of slash commands that can be used to interact with the server via bot
Command | Use |
---|---|
about_us | Know about the Community |
ask_help | Ask help from peers in the server |
avatar | Get the avatar of a user |
bump_remind | Reminds server staff to bump the server |
clear | Purge Messages within the channel |
community_count | Know your peers through stats |
create_embed | Create an embed |
create_invite | Create Server Invite |
help | Displays All Bot Commands and Description |
owner | Displays Owner's Information |
poll | Create a poll |
reward | Reward a peer |
rules | Get the Code of Conduct |
socials | Connect with use below so that you don't miss out |
suggest | Post Server Suggestions |
vote | Vote for the Community |
The command is used to know about the community. A detailed embed is posted to the channel where the command is used.
/about_us
The command used to ask for help from peers in the server. The bot will ping the role taken by [ask_role] and will post the embed in the channel.
/ask_help [topic] [description] [ask_from]
The command is used to get the avatar of a user. [tag] is the mention of the user and is optional. If [tag] is not provided, the avatar of the user who used the command will be posted.
/avatar [tag]
The command is used to remind the server staff to bump the server. The bot will ping the moderator role and will post the embed in the channel where the command is used.
/bump_remind
The command is used to purge messages within the channel. [amount] is the number of messages to be purged and is optional. If [amount] is not provided, the bot will delete the last 100 messages.
/clear [amount]
The command is used to know your peers through stats. The bot will post the embed in the channel where the command is used.
/community_count
The command is used to create an embed. [author_name] is the title of the embed. [description] is the description of the embed and is compulsory. [color] is the hex color of the embed and is optional. The bot will post the embed in the channel where the command is used.
/create_embed [author_name] [description] [color]
The command is used to create a server invite. The bot will post the invite in the channel where the command is used.
/create_invite
The command is used to display all the commands and description. The bot will post the embed in the channel where the command is used. You can select multiple categories from the drop down menu in the embed.
/help
The command is used to know the owner's information. The bot will post the embed in the channel where the command is used.
/owner
The command is used to create a poll. [question] is the question of the poll and is compulsory. Rest takes the option and emojis to be used.
/poll [question] [option-one] [emoji-one] [option-two] [emoji-two]
The command is used to reward a peer. [user] is the mention of the user and is compulsory. Points are fixed while rewarding. The bot will post the embed in the channel where the command is used.
/reward [user]
The command is used to get the Code of Conduct. The bot will post the embed in the channel where the command is used.
/rules
The command is used to connect with us on different social platforms so that you don't miss out. The bot will post the embed in the channel where the command is used.
/socials
The command is used to post server suggestions. The bot will post the embed in the suggestion channel. [title] takes the title for the suggestion. [description] takes the description for the suggestion. [anonymous] is a boolean which let's user choose if they wanna reveal their name or not.
/suggest [title] [description] [anonymous]
The command is used to vote for the community. The bot will post the embed in the channel with a url.
/vote
Feel free to reach me out on any of the above mediums (LinkedIn, Mail and Twitter for fast responses). See you in my inbox / DMs π© π
Hapilly turning Coffee into Code βοΈ π»