A feature-rich Discord bot built with TypeScript, Discord.js, and TypeORM.
GDU Bot is a comprehensive Discord bot featuring multiple plugins including dailies tracking, utilities, moderation, fun commands, and more. The bot is designed with a modular plugin system, allowing for easy extensibility and maintenance.
- Dailies - Track daily streaks and challenges with alerts and mercy tracking
- Fun - Entertainment commands including 8Ball
- GDU Utilities - Server-specific utilities and event management
- Info - Bot information, help, stats, and server details
- Manage - Custom commands, prefixes, and server management
- Markdown - Text formatting utilities for channels, emojis, roles, and users
- Moderation - Message and member moderation with audit log tracking
- Utilities - Advanced utilities including code evaluation, URL shortening, and rendering
- Discord.js v13.6.0 - Discord API wrapper
- TypeORM - Object-relational mapping with SQLite database
- Framed.js - Discord bot framework
- TypeScript - Type-safe development
- Koa - Web framework for API routes
- Winston - Logging framework
- Node.js >= 16.0.0
- npm or pnpm
- Clone the repository:
git clone https://github.com/Yupsecous/gdu-bot.git
cd gdu-bot- Install dependencies:
pnpm install
# or
npm install- Configure environment variables:
cp example.env .env- Update
.envwith your configuration:
DISCORD_TOKEN="Your Discord Bot Token"
TYPEORM_WINSTON_LOGGER_LEVEL="db_silly"
LOGGER_LEVEL="silly"
API_PORT=42069
DEFAULT_PREFIX="."
SUGGEST_CHANNEL_ID=your_channel_idpnpm buildpnpm build:watchpnpm startpnpm devpnpm typeormsrc/
├── database/
│ ├── entities/ # TypeORM database entities
│ ├── interfaces/ # Database-related interfaces
│ └── types/ # Database type definitions
├── logger/ # Logging utilities
├── managers/ # Business logic managers
├── plugins/ # Plugin implementations
│ ├── Dailies/
│ ├── Fun/
│ ├── GDUUtilities/
│ ├── Info/
│ ├── Manage/
│ ├── Markdown/
│ ├── Moderation/
│ └── Utilities/
├── providers/ # TypeORM data providers
└── structures/ # Core bot structures
The default prefix is . but can be customized per server using the prefix command in the Manage plugin.
- Info -
about,ping,help,server,botstat, etc. - Dailies -
dailies,streak,alert,vacation, etc. - Moderation -
clear, moderation events - Utilities -
eval,link,render,avatar, etc. - Fun -
8ball - Manage -
prefix, custom commands, groups
docker-compose updocker-compose -f debug-compose.yml upContributions are welcome! Please ensure:
- Code follows TypeScript best practices
- Changes maintain type safety
- Database migrations are properly handled
MIT - See LICENSE file for details
Created by some1chan, maintained by Yupsecous
For issues and feature requests, please visit: https://github.com/Yupsecous/gdu-bot/issues
Current version: 0.10.1