# Civita Civita is a multifunctional and lightweight Discord bot built with **TypeScript**. It’s designed to be fast, modular, and easy to maintain β€” providing essential utilities, moderation tools, and fun features for your Discord community. --- ## ✨ Features - 🧹 **Moderation** β€” Kick, ban, mute and manage your server with ease. - πŸŽ‰ **Fun & Games** β€” Engage users with AI, QOTD(questions of the day), and other fun commands. - βš™οΈ **Customizable** β€” Easily configurable settings via /setup command. - πŸš€ **Lightweight & Fast** β€” Optimized with TypeScript for performance and maintainability. --- ## 🧰 Tech Stack - [TypeScript](https://www.typescriptlang.org/) - [Node.js](https://nodejs.org/) - [Discord.js](https://discord.js.org/) - [Google-GenAI](https://aistudio.google.com/) --- ## πŸ“¦ Installation ### Prerequisites - Node.js v18 or later - Discord Bot Token ([create one here](https://discord.com/developers/applications)) - PnPm - Google GenAI Key ([create one here](https://aistudio.google.com/api-keys)) ### Setup ```bash # Clone the repository git clone https://git.optimihost.com/NaChlorid/civita.git cd civita # Install dependencies pnpm install # Configure environment variables cp .env.example .env # Edit .env and add your Discord bot token # Build the project pnpm run build # Start the bot npx dist/index.js ``` --- ## βš™οΈ Configuration Your `.env` file should look like this: ```env DISCORD_TOKEN=(DISCORD TOKEN) GEMINI_API_KEY=(GOOGLE GENAI KEY) DISCORD_CLIENT_ID=(DISCORD APPLICATION ID) DATABASE_HOST=127.0.0.1 DATABASE_PORT=3306 DATABASE_USER=(DATABASE USER) DATABASE_PASSWORD=(DATABASE PASSWORD) DATABASE_NAME=(DATABASE NAME) ``` You can also customize command prefixes, logging options, and more depending on your setup. --- ## πŸ§‘β€πŸ’» Development To start a development environment: ```bash pnpm run dev ``` --- ## 🧱 Project Structure ``` civita/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ commands/ β”‚ β”œβ”€β”€ events/ β”‚ β”œβ”€β”€ utils/ β”‚ └── index.ts β”œβ”€β”€ .env.example β”œβ”€β”€ package.json β”œβ”€β”€ tsconfig.json └── README.md ``` --- ## 🧩 Contributing Contributions are welcome! Feel free to fork this repository and submit a pull request. Make sure your code follows the existing style and passes all lint checks before submitting. --- ## πŸͺͺ License This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details. --- ## πŸ’¬ Support If you encounter issues or have suggestions, please open an issue on GitHub. You can also reach out via the Discord server (if available). ---