49 lines
861 B
Markdown
49 lines
861 B
Markdown
## Civita Discord Bot
|
|
|
|
Modular Discord.js v14 bot with MariaDB storage, Gemini AI, profanity filter, XP system, and slash commands.
|
|
|
|
### Requirements
|
|
- Node.js 18.17+
|
|
- pnpm 8+
|
|
- MariaDB 10.5+
|
|
|
|
### Environment
|
|
Create a `.env` file in the project root with:
|
|
|
|
```
|
|
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
|
|
pnpm install
|
|
```
|
|
|
|
### Deploy Commands
|
|
```bash
|
|
pnpm deploy
|
|
```
|
|
|
|
### 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
|
|
|
|
|