Files
AuroraBot-discord/README.md

42 lines
1.3 KiB
Markdown

# Kyoko - Discord Rpg
A Discord bot built with [Bun](https://bun.sh), [Discord.js](https://discord.js.org/), and [Drizzle ORM](https://orm.drizzle.team/).
## Architecture
This project uses a modular architecture:
- **`src/index.ts`**: Entry point. initializes the client.
- **`src/lib/KyokoClient.ts`**: Custom Discord Client wrapper handling command loading and events.
- **`src/lib/env.ts`**: **Centralized Environment Configuration**. Validates environment variables using `zod` at startup.
- **`src/lib/DrizzleClient.ts`**: Database client instance.
- **`src/commands/`**: Command files.
- **`src/db/`**: Database schema and migrations.
## Setup
1. **Install Dependencies**:
```bash
bun install
```
2. **Environment Variables**:
Copy `.env.example` to `.env` (create one if it doesn't exist) and fill in the required values:
```env
DISCORD_BOT_TOKEN=your_token_here
DISCORD_CLIENT_ID=your_client_id
DISCORD_GUILD_ID=your_guild_id_optional
DATABASE_URL=postgres://user:pass@localhost:5432/db_name
```
*Note: The app will fail to start if `DISCORD_BOT_TOKEN` or `DATABASE_URL` are missing or invalid.*
3. **Run Development**:
```bash
bun run dev
```
4. **Database Migrations**:
```bash
bun run db:push # Apply schema changes
bun run generate # Generate migrations
```