README.md aktualisiert
This commit is contained in:
119
README.md
119
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
|
||||
```
|
||||
---
|
||||
## 🧩 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.
|
||||
|
||||
### 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
|
||||
---
|
||||
## 🪪 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).
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user