Kythia is a professional Discord bot offering a comprehensive suite of interactive features, including a leveling system, automoderation, and a wide range of slash commands to enhance your Discord server. The leveling system rewards users with experience points (XP) for their activity and grants special roles upon reaching specific levels.
Before running this bot, please ensure you have the following installed:
- Node.js (node 22 LTS recomended)
- npm (Usually included with Node.js)
- A Discord bot token from the Discord Developer Portal
- Database such as MySQL, PostgreSQL, MSSQL installed
- Optional PM2 for 24/7 hosting run
npm install pm2 -g
Ensure you have the following software installed:
-
Node.js
- Download and install Node.js.
- Verify installation in your terminal:
If both versions are displayed, installation was successful.
node -v npm -v
-
Discord Bot Token
- Visit the Discord Developer Portal.
- Click New Application, name your bot, and create it.
- Navigate to the Bot tab, click Add Bot, and copy your bot token.
- Ensure you are in the project root directory.
- Install the required libraries:
npm install
- Wait until all dependencies are installed.
- Copy and rename
example.envto.envfile in the project root directory. - Copy and rename
example.kythia.config.jstokythia.config.js - Configure Your Bot
Open the
.envandkythia.config.jsfiles. Both files contain detailed comments to guide you in filling out all the required values.
-
Ensure all configurations are correct.
-
Choose how you want to run the bot:
-
For a quick test (in foreground):
npm start
(Press
ctrl + cto stop the bot) -
For 24/7 Hosting (Recommended):
# Run this command ONLY ONCE for the very first time. # It will start the bot and save it to PM2's process list. npm run pm2:startup
(To manage the bot later, use commands like
npm run pm2:stopornpm run pm2:restart)
-
-
If the bot starts successfully, you will see a message such as:
✅ Logged in as Kythia#9135 -
Check the terminal for any errors.
-
If there are no errors, the bot is running and ready for use.
-
If errors occur, review the relevant files for troubleshooting.
-
Press
ctrl + cto stop the bot.
- Return to the Discord Developer Portal.
- Select your application, then go to the OAuth2 > URL Generator tab.
- Select the
botscope and add the necessary permissions (e.g.,Manage Roles,Send Messages) butadministratorrecommended. - Copy the generated URL and open it in your browser to invite the bot to your server.
- Open your Discord server where the bot has been invited.
- Type
/ping,/helpor/aboutto check the bot's response. - Enjoy using Kythia!
You can run the bot automatically using PM2, a process manager for Node.js, which is ideal for keeping your bot online 24/7.
| Command | Description |
|---|---|
npm run start |
Run kythia bot without pm2 |
npm run seed [name] |
Run the seeder to fill the database with |
| initial data (e.g., npm run seed pet to add default pet data). | |
npm run pm2:startup |
start the bot with pm2, and save the process |
npm run pm2:start |
Start the bot process with pm2 |
npm run pm2:restart |
Restart the bot process with pm2 |
npm run pm2:stop |
Stop the bot process with pm2 |
npm run pm2:delete |
Remove the bot process from pm2 |
npm run pm2:logs |
View real-time logs for the bot process managed by pm2 |
Please ensure you have installed all dependencies with
npm installbefore running any commands.
For more information, please visit the Kythia website or contact support me@kenn.my.id.