(Feat): Initial Commit
This commit is contained in:
145
README.md
Normal file
145
README.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# Elly Discord Bot
|
||||
|
||||
A modern Discord bot for PikaNetwork guild management, built with TypeScript and Deno.
|
||||
|
||||
## Features
|
||||
|
||||
- **PikaNetwork Statistics**: View BedWars and SkyWars stats for any player
|
||||
- **Guild Management**: Track guild members, activity reports, and updates
|
||||
- **Applications System**: Handle guild member applications with voting
|
||||
- **Suggestions System**: Community suggestions with upvote/downvote
|
||||
- **Family System**: Marriage, adoption, and relationship tracking
|
||||
- **QOTD System**: Question of the Day management
|
||||
- **Reminders**: Personal reminder system
|
||||
- **Staff Simulator**: Fun PikaNetwork staff simulation game
|
||||
- **Channel Filtering**: Media-only channel enforcement
|
||||
- **Moderation**: Ban, purge, role management
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Deno](https://deno.land/) 1.40+
|
||||
- Discord Bot Token
|
||||
- Discord Application with slash commands enabled
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone the repository:
|
||||
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd EllyProject
|
||||
```
|
||||
|
||||
2. Copy and configure the config file:
|
||||
|
||||
```bash
|
||||
cp config.toml.example config.toml
|
||||
# Edit config.toml with your settings
|
||||
```
|
||||
|
||||
3. Set up environment variables:
|
||||
|
||||
```bash
|
||||
export DISCORD_TOKEN="your-bot-token"
|
||||
```
|
||||
|
||||
4. Run the bot:
|
||||
|
||||
```bash
|
||||
deno task start
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Run with watch mode
|
||||
deno task dev
|
||||
|
||||
# Type check
|
||||
deno task check
|
||||
|
||||
# Lint
|
||||
deno task lint
|
||||
|
||||
# Format
|
||||
deno task fmt
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
All configuration is done through `config.toml`. See the file for available options:
|
||||
|
||||
- **bot**: Bot name, prefix, status, owners
|
||||
- **database**: SQLite database path
|
||||
- **api**: PikaNetwork API settings
|
||||
- **guild**: Target guild ID and name
|
||||
- **channels**: Channel names for various features
|
||||
- **roles**: Role names for permissions
|
||||
- **features**: Enable/disable features
|
||||
- **limits**: Various limits (max days, messages, etc.)
|
||||
- **colors**: Embed colors
|
||||
- **logging**: Log level and file path
|
||||
|
||||
## Commands
|
||||
|
||||
### Statistics
|
||||
|
||||
- `/bedwars <username> [mode] [interval]` - View BedWars stats
|
||||
- `/skywars <username> [mode] [interval]` - View SkyWars stats
|
||||
- `/guild <name>` - View guild information
|
||||
|
||||
### Applications
|
||||
|
||||
- `/applications accept <user>` - Accept an application
|
||||
- `/applications deny <user> <reason>` - Deny an application
|
||||
- `/applications blacklist <user>` - Blacklist from applications
|
||||
|
||||
### Suggestions
|
||||
|
||||
- `/suggest <title> <description>` - Create a suggestion
|
||||
- `/suggestion accept <id>` - Accept a suggestion
|
||||
- `/suggestion deny <id> <reason>` - Deny a suggestion
|
||||
|
||||
### Family
|
||||
|
||||
- `/marry <user>` - Propose marriage
|
||||
- `/divorce` - Divorce your partner
|
||||
- `/adopt <user>` - Adopt someone
|
||||
- `/relationship [user]` - View relationships
|
||||
|
||||
### Utility
|
||||
|
||||
- `/remind <duration> <text>` - Set a reminder
|
||||
- `/reminders` - View your reminders
|
||||
- `/away <user> <days> <reason>` - Set away status
|
||||
|
||||
### Moderation
|
||||
|
||||
- `/purge <amount>` - Delete messages
|
||||
- `/ban <user> [reason]` - Ban a user
|
||||
- `/role <user> <role> <add|remove>` - Manage roles
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
src/
|
||||
├── index.ts # Entry point
|
||||
├── client/ # Discord client
|
||||
├── config/ # Configuration
|
||||
├── api/pika/ # PikaNetwork API client
|
||||
├── database/ # Database layer
|
||||
├── commands/ # Slash commands
|
||||
├── components/ # UI components
|
||||
├── events/ # Event handlers
|
||||
├── services/ # Business logic
|
||||
├── utils/ # Utilities
|
||||
└── types/ # TypeScript types
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
## Credits
|
||||
|
||||
Ported from the GEM Discord bot (Python/discord.py) to TypeScript/Discord.js with Deno.
|
||||
Reference in New Issue
Block a user