Skip to content

naqent/kythia

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

226 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Kythia Logo

Kythia - Your Cutest Discord Companion

Kythia Hye-Jin is more than just a bot; she's your sweet, cute, and beautiful companion, designed to bring life and order to your Discord server!

License

Report a Bug ยท Request a Feature

Powered by the following technologies:

Discord JavaScript Node.js Sequelize Express.js Gemini

๐ŸŒŸ Features

Kythia is packed with a massive amount of features, all organized into a clean, modular addon system. This means you can easily enable or disable features to tailor the bot to your server's specific needs.

Here's a glimpse of what Kythia has to offer:

๐Ÿ›ก๏ธ Core Features (from the core addon)

  • Advanced Moderation: A full suite of moderation commands, including ban, kick, mute, warn, clear, and more.
  • Automod: Automatically delete messages containing spam, bad words, or other unwanted content.
  • Logging: Keep track of everything that happens on your server with detailed logs for message deletions, member joins, and more.
  • Customizable Settings: Configure the bot's prefix, welcome messages, and other settings to your liking.
  • Powerful Tools: A variety of tools to help you manage your server, such as sticky messages, embed builders, and hash crackers.

๐ŸŽ‰ Engagement & Fun

  • Adventure Game (adventure): Embark on an epic text-based adventure, fight monsters, and collect loot!
  • Economy System (economy): Earn virtual currency, rob your friends, and gamble your way to riches.
  • Music (music): Listen to your favorite tunes with a feature-rich music player.
  • Pets (pet): Adopt and raise your own virtual pet.
  • NSFW (nsfw): For the more... adventurous servers.
  • And more! Including fun games, giveaways, and streaks.

๐Ÿš€ Server Management & Utility

  • Ticket System (ticket): A complete ticket system to help you manage user support requests.
  • Suggestions (suggestion): Allow users to submit suggestions and vote on their favorites.
  • Clan System (clan): Create and manage clans for your server members.
  • Leveling System (leveling): Reward your users for their activity with a customizable leveling system.
  • And much more! Including invite tracking, server templates, and pterodactyl integration.

โœจ And Many More Addons!

Kythia comes with a huge collection of addons, including:

  • ai
  • checklist
  • dashboard
  • minecraft
  • nuke
  • store
  • testimony

...and the list is always growing!


๐Ÿค” Why Kythia?

There are many Discord bots out there, but Kythia stands out from the crowd. Here's why:

  • ๐Ÿค– Modular by Design: Kythia is built on a powerful addon system, allowing you to enable only the features you need. This keeps the bot lightweight and efficient.
  • โœจ Feature-Rich: With a massive collection of addons, Kythia offers a huge range of features, from advanced moderation to fun games and a full-fledged economy system.
  • ๐Ÿ”ง Fully Customizable: Almost every aspect of Kythia can be configured to your liking. From custom welcome messages to fine-tuned automod settings, you're in control.
  • ๐Ÿš€ Actively Developed: Kythia is constantly being improved with new features, bug fixes, and performance enhancements.

โš–๏ธ Terms of Service & Telemetry

By using Kythia, you agree to our Terms of Service. Please be aware that this bot collects certain telemetry data to ensure stability, performance, and license compliance.

๐Ÿ“Š Information We Collect

  • Server Information: Server ID, name, and member count.
  • Usage Statistics: Command usage frequency and performance metrics.
  • System Information: Basic system specs (Node.js version, OS) for troubleshooting.
  • License Data: HWID and IP address for license verification purposes.

๐Ÿ”’ Why We Collect This

This information is used solely to improve the bot's functionality, monitor for errors, and verify that the bot is running with a valid license. We do not sell your data to third parties.


๐Ÿš€ Getting Started

Ready to bring Kythia to your server? Here's how to get her up and running.

โš™๏ธ Prerequisites

Before running this bot, please ensure you have the following installed:

  1. Node.js (Node 22 LTS recommended)
  2. npm (Usually included with Node.js)
  3. A Discord bot token from the Discord Developer Portal
  4. Database such as MySQL, PostgreSQL, MSSQL installed
  5. Optional PM2 for 24/7 hosting run npm install pm2 -g

๐Ÿ“– Installation Guide

1. Prepare the Requirements

Ensure you have the following software installed:

  1. Node.js

    • Download and install Node.js.
    • Verify installation in your terminal:
      node -v
      npm -v
      If both versions are displayed, installation was successful.
  2. 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.

2. Install Dependencies

  1. Ensure you are in the project root directory.
  2. Install the required libraries:
    npm install
  3. Wait until all dependencies are installed.

3. Configure Environment Variables

  1. Copy and rename example.env to .env file in the project root directory.
  2. Copy and rename example.kythia.config.js to kythia.config.js
  3. Configure Your Bot Open the .env and kythia.config.js files. Both files contain detailed comments to guide you in filling out all the required values.

4. Start the Bot

  1. Ensure all configurations are correct.

  2. Choose how you want to run the bot:

    • For a quick test (in foreground):

      npm start

      (Press ctrl + c to 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:stop or npm run pm2:restart)

  3. If the bot starts successfully, you will see a message such as:

    โœ… Logged in as Kythia#9135
  4. Check the terminal for any errors.

  5. If there are no errors, the bot is running and ready for use.

  6. If errors occur, review the relevant files for troubleshooting.

5. Invite the Bot to Your Server

  1. Return to the Discord Developer Portal.
  2. Select your application, then go to the OAuth2 > URL Generator tab.
  3. Select the bot scope and add the necessary permissions (e.g., Manage Roles, Send Messages) but administrator recommended.
  4. Copy the generated URL and open it in your browser to invite the bot to your server.

6. Test the Bot

  1. Open your Discord server where the bot has been invited.
  2. Type /ping, /help or /about to check the bot's response.
  3. Enjoy using Kythia!

๐Ÿ”Œ Optional: Dashboard Setup

If you enabled the dashboard in kythia.config.js, you MUST configure the Redirect URI in the Discord Developer Portal, otherwise login will fail.

  1. Go to Discord Developer Portal > Select your App.
  2. Go to the OAuth2 tab (General, not URL Generator).
  3. Find the "Redirects" section.
  4. Click Add Redirect and enter your dashboard callback URL:
    • If on Localhost: http://localhost:3000/auth/discord/callback
    • If on VPS (IP): http://YOUR_VPS_IP:3000/auth/discord/callback
    • If using Domain: https://yourdomain.com/auth/discord/callback
  5. Save Changes.
  6. Make sure this URL matches exactly with API_URL in your .env file (minus the /auth... part).

๐ŸŽฎ Usage

Once Kythia is in your server, you can start using her commands. All commands are slash commands, so just type / to see a list of available commands.

Here are a few commands to get you started:

  • /help: Shows a list of all available commands.
  • /ping: Checks the bot's latency.
  • /serverinfo: Displays information about the server.
  • /userinfo: Displays information about a user.

For a full list of commands and their detailed usage, please see the Command Documentation.


โŒ˜ CLI Tools & Commands

Kythia Core comes with a powerful CLI to streamline development, database management, and localization tasks.

Run npx kythia --help to see all available commands.

Database Management

migrate

Run pending database migrations.

npx kythia migrate

Options:

  • -f, --fresh: [DANGER] Wipe the entire database (drop all tables) and re-run all migrations from scratch.
  • -r, --rollback: Rollback the last batch of migrations.

make:migration

Create a new timestamped migration file in an addon.

npx kythia make:migration --name create_users_table --addon core

Options:

  • --name <string>: Name of the migration (snake_case recommended).
  • --addon <string>: Target addon name (must exist in addons/).

make:model

Scaffold a new Sequelize model file in an addon.

npx kythia make:model --name User --addon core

Options:

  • --name <string>: Name of the model (PascalCase recommended).
  • --addon <string>: Target addon name.

cache:clear

Flush Redis cache. Supports multi-instance selection if REDIS_URLS is configured.

npx kythia cache:clear

Localization (i18n)

lang:check

Lint translation key usage in your code against your language files.

npx kythia lang:check
  • Static Analysis: Uses AST parsing to find t('key') calls.
  • Validation: Reports missing keys in JSON files.
  • Unused Keys: Reports keys defined in en.json but never used in code.

lang:translate

Auto-translate your en.json to a target language using Google Gemini AI.

npx kythia lang:translate --target ja

Options:

  • --target <lang>: Target language code (default: ja).
  • Requires: GEMINI_API_KEYS in .env.

Development Utilities

dev:namespace

Automatically add or update JSDoc @namespace headers in all project files.

npx kythia dev:namespace

Useful for maintaining consistent file documentation and ownership headers.

gen:structure

Generate a markdown tree representation of your project structure.

npx kythia gen:structure

Outputs to temp/structure.md. Great for documentation or sharing context with AI.

version:up

Synchronize JSDoc @version tags across the project with package.json.

npx kythia version:up

Run this after bumping your package version to keep file headers in sync.


๐Ÿ™Œ Contributing

Contributions to Kythia are managed by the internal development team. If you are a member of the team and would like to contribute, please follow the established development workflow.

  • ๐Ÿ› Reporting Bugs: If you find a bug, please report it to the team through the designated channels. Be sure to include as much detail as possible, including steps to reproduce the bug.
  • ๐Ÿ’ก Suggesting Features: Have an idea for a new feature? We'd love to hear it! Please share your suggestion with the team.

๐Ÿ“œ License

This project is licensed under the CC BY-NC 4.0 License. See the LICENSE file for details. Copyright ยฉ 2025 Kythia Labs - All rights reserved.

Important

License Required: Use of this bot requires a valid license from the author. For commercial use or to obtain a license, please contact us at kenndeclouv@gmail.com.


๐Ÿ’ฌ Community & Support

Need help or want to connect with other Kythia users? Join our community!

About

Kythia Hye-Jin is more than just a bot; she's your sweet, cute, and beautiful companion, designed to bring life and order to your Discord server!

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%