a5250706cb49b6d93690be54ba80c455e209a905
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 1.40+
- Discord Bot Token
- Discord Application with slash commands enabled
Installation
- Clone the repository:
git clone <repository-url>
cd EllyProject
- Copy and configure the config file:
cp config.toml.example config.toml
# Edit config.toml with your settings
- Set up environment variables:
export DISCORD_TOKEN="your-bot-token"
- Run the bot:
deno task start
Development
# 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.
Description
Languages
TypeScript
99.9%
Dockerfile
0.1%