diff --git a/README.md b/README.md index 73d020a..2335032 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,95 @@ -## Civita Discord Bot +# Civita -Modular Discord.js v14 bot with MariaDB storage, Gemini AI, profanity filter, XP system, and slash commands. +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. -### Requirements -- Node.js 18.17+ -- pnpm 8+ -- MariaDB 10.5+ + --- + ## ✨ 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. -### Environment -Create a `.env` file in the project root with: + --- + ## 🧰 Tech Stack + - [TypeScript](https://www.typescriptlang.org/) +- [Node.js](https://nodejs.org/) +- [Discord.js](https://discord.js.org/) +- [Google-GenAI](https://aistudio.google.com/) + --- -``` -DISCORD_TOKEN= -DISCORD_CLIENT_ID= -GEMINI_API_KEY= -DATABASE_HOST=127.0.0.1 -DATABASE_PORT=3306 -DATABASE_USER=root -DATABASE_PASSWORD=changeme -DATABASE_NAME=civita -``` - -### Install -```bash +## πŸ“¦ 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 ``` -### Deploy Commands -```bash -pnpm deploy + --- + ## 🧱 Project Structure + ``` +civita/ +β”œβ”€β”€ src/ +β”‚ β”œβ”€β”€ commands/ +β”‚ β”œβ”€β”€ events/ +β”‚ β”œβ”€β”€ utils/ +β”‚ └── index.ts +β”œβ”€β”€ .env.example +β”œβ”€β”€ package.json +β”œβ”€β”€ tsconfig.json +└── README.md ``` -### Run (dev) -```bash -pnpm dev -``` - -### Features -- `/setup` to enable/disable: moderation, ai, logs, qotd, profanity_filter -- `/leaderboard`, `/profile` -- `/ban`, `/kick`, `/timeout` -- Profanity filter (toggle via `/setup`) -- Bot answers when mentioned if AI enabled -- Daily QOTD if enabled and channel set -- Status updates to: watching (N) servers + --- + ## 🧩 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). + --- + \ No newline at end of file