Table of Contents
IMS Bot is a customized Discord Bot made to accomplish all the automation needs of the IMS Discord Server. Here are some of it's key features:
- Automatic message flagging using the OpenAI moderation API
- Guild application creation and management
- Punishment system with automatic logging
- Guild blacklist system integrated with guild applications and verification
- Sync Discord roles with in-game statistics and guild information
- Verify members and flag suspicious new joins
- Automatically update member count channels
This Discord bot is in ongoing development, and its features will change as the needs of IMS change over time.
To get a copy of the bot up and running follow these example steps:
DISCLAIMER: Many channels/roles are hardcoded in /src/bot/constants.js. The bot will not work unless these are changed to ones valid for your server. The bot was made specifically for IMS.
In order to run the bot, you need the following:
- npm
npm install npm@latest -g
- A MySQL Database (I use this)
- A Discord Bot (create one here)
- A Hypixel API Key (get one here)
Assuming you have all the prerequisites, follow these steps to get the bot up and running.
- Clone the repo
git clone https://github.com/Charliehyin/IMSBot.git
- Install NPM packages
npm install
- Create a .env file in the root directory, and fill it in
DISCORD_TOKEN=<Token for the Discord bot> DB_HOST=<Link where database is hosted> DB_USER=<Username for database> DB_PASSWORD=<Password to the database> DB_NAME=<Name of the database> MODERATION_API_KEY=<Your OpenAI API key> HYPIXEL_API_KEY=<Your Hypixel API key>
- Start the bot
npm start
Join IMS to see the bot in action.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.