Padio
This is an advanced radio bot for Discord voice channels, allowing users to enjoy a wide variety of trending online radios with high quality and seamless performance.
Install / Use
npx skills add Persian-Caesar/PadioInstalls into whichever agent you are using.
README
Padio (Persian Caesar Discord Radio Bot)
A High-Performance Radio & Utility Bot for Discord
Developed by Sobhan-SRZA (mr.sinre)
GitHub: Persian-Caesar | Support: dsc.gg/persian-caesar
Version:
0.0.4
Developed by: Sobhan-SRZA (mr.sinre)
GitHub: https://github.com/Sobhan-SRZA
Support Server: https://dsc.gg/persian-caesar
Copyright © Persian Caesar – All rights reserved.
Overview
Persian Caesar Radio Bot is a Discord voice radio bot built using TypeScript and Discord.js v14, designed to stream high-quality online radio stations directly into voice channels. It features:
-
Online radio streaming with voice channel control panels
-
Slash & message command hybrid system
-
Multi-language support (
en,per,jp,th,tr,zh)- English (Default)
- فارسی (Farsi)
- Türkçe (Turkish - Istanbul)
- 中文 (Chinese)
- 日本語 (Japanese)
- ภาษาไทย (Thai)
-
Dynamic status updates & server statistics
-
Cooldowns, permissions, and owner-only commands
-
QuickDB integration (JSON, MySQL, SQLite, MongoDB)
-
Advanced logging & error reporting via webhooks
-
Database support: JSON, MySQL, SQLite, MongoDB
-
Slash & message commands with autocomplete
-
Anti-crash, error webhook logging, status loop
-
Owner-only commands, cooldown, permission checks
How It Works (Architecture)
Client (DiscordClient)
│
├── Events → interactionCreate, ready, guildCreate/Delete
├── Handlers → Load commands & events
├── Utils → Helper functions (response, error, cooldown, etc.)
├── Storage → Embed data, radio stations, language list
├── Types → Interfaces, global extensions
├── Model → Client, Database, PlayerManager
└── locales/ → Language JSON files
Key Features:
- Play 50+ radio stations (Persian Rap, Lofi, Anime, EDM, etc.)
- Customizable per-server settings (prefix, language, AFK channel, radio panel)
- Interactive control panel with buttons and select menus
- Multilingual support (English, Persian, Turkish, Chinese, Japanese, Thai)
- Database support: JSON, MySQL, SQLite, MongoDB
- Slash & message commands
- Anti-crash system, error logging to Discord webhook
- Status loop, presence rotation, uptime tracking
- AFK mode, voice channel management, volume control
- Owner-only commands, cooldown system, permission checks
Core Features
| Feature | Description |
| --------------------------- | -------------------------------------------------------------------- |
| Radio Player | Stream high-quality online radio stations in voice channels |
| Control Panel | Interactive message panel with station selector |
| AFK Mode | Auto-resume playback if users leave voice |
| Slash & Prefix Commands | Full hybrid command support |
| Multilingual | 6 languages with dynamic switching |
| Database Flexibility | JSON, MySQL, SQLite, MongoDB |
| Auto Status Updates | Live bot stats in support server |
| Error Logging | Webhook-based crash & error reporting |
| Custom Extensions | Global .toCapitalize(), .replaceValues(), .HexToNumber(), etc. |
Core Flow:
- Bot starts → Loads config → Connects to database → Loads commands/events
- User runs command →
interactionCreate→ Permission & cooldown check → Execute command - Radio play →
playcommand → Join voice → Stream from URL → Create control panel - Panel interaction → Button/menu → Update player state (pause, resume, volume, stop)
Policies & Guidelines
- Credit Required: You must credit "Persian Caesar" in any public use, documentation, or communication.
- No Token Sharing: Never expose
.envor bot token. - No Malicious Use: Do not use for spam, harassment, or illegal activities.
- Forking Allowed: You may fork, but keep the copyright notice.
- Support: Issues → Open GitHub issue or join support server.
Technologies & Packages
| Package | Version | Purpose |
| -------------------- | ---------- | ------------------------------------------------------------ |
| @discordjs/opus | ^0.10.0 | Opus audio encoder/decoder for voice |
| @discordjs/voice | ^0.19.0 | Voice connection & audio streaming |
| @snazzah/davey | ^0.1.7 | Utility for Discord.js (used in extensions) |
| colors | ^1.4.0 | Colored console output (fallback for chalk) |
| discord.js | ^14.24.2 | Discord API wrapper |
| dotenv | ^17.2.3 | Load environment variables from .env |
| ffmpeg-static | ^5.2.0 | Static FFmpeg binary for audio processing |
| libsodium-wrappers | ^0.7.15 | Sodium encryption for voice (required by @discordjs/voice) |
| quick.db | ^9.1.7 | Lightweight database (JSON/MySQL/SQLite) |
| quickmongo | ^5.2.0 | MongoDB driver (optional) |
| typescript (dev) | ^5.9.3 | TypeScript compiler |
| @types/node (dev) | ^22.19.0 | Node.js type definitions |
Node.js Version:
>=18.0.0
Project Structure
src/
├── index.ts → Entry point
├── config.ts → Config file befor compile
├── .env → env file for setup (you can use config.ts btw it's optional)
├── README.md # This file. (Documents)
├── events/ # Event listeners
│ ├── autocomplete/
│ │ └── interactionCreate.ts
│ ├── button/
│ │ └── interactionCreate.ts
│ ├── change status/
│ │ └── clientReady.ts
│ ├── guilds logger/
│ │ ├── guildCreate.ts
│ │ └── guildDelete.ts
│ ├── message command handler/
│ │ └── messageCreate.ts
│ ├── radio/
│ │ ├── clientReady.ts
│ │ ├── interactionCreate.ts
│ │ └── voiceStateUpdate.ts
│ ├── report/
│ │ └── interactionCreate.ts
│ ├── slash command handler/
│ │ └── interactionCreate.ts
│ └── trigger/
│ ├── clientReady.ts
│ └── interactionCreate.ts
├── functions/ # Utility functions
│ ├── logger.ts
│ ├── post.ts
│ ├── setupGlobalExtensions.ts
│ ├── sleep.ts
│ └── strToMs.ts
├── handlers/ # Command & event loaders
│ ├── commandHandler.ts
│ └── eventsHandler.ts
├── model/ # Core classes
│ ├── Client.ts
│ ├── Database.ts
│ └── PlayerManager.ts
├── types/ # TypeScript interfaces & types
│ ├── database.ts → DB type aliases
│ ├── global.d.ts → Global extensions
│ ├── interfaces.ts → Command, Language, Config
│ └── types.ts → General types
├── utils/ # Helper utilities
│ ├── checkCmdCooldown.ts
│ ├── checkCmdPerms.ts
│ ├── checkPlayerPerms.ts
│ ├── database.ts
│ ├── dbAccess.ts
│ ├── error.ts
│ ├── getAuthor.ts
│ ├── GetInvite.ts
│ ├── interactionTools.ts
│ ├── repeatAction.ts
│ ├── response.ts
│ ├── responseDelete.ts
│ ├── responseEdit.ts
│ ├── responseError.ts
│ ├── selectLanguage.ts
│ ├── SendGuildAlert.ts
│ ├── StatusEmbedBuilder.ts
│ └── yes-or-no.ts
├── commands/
│ ├── Admin/setup.ts → Server setup (panel, prefix, language)
│ ├── Misc/
│ │ ├── about.ts → Bot stats & updates
│ │ ├── help.ts → Interactive help menu
│ │ ├── invite.ts → Invite links
│ │ ├── ping.ts → Latency & system stats
│ │ └── report.ts → Report system
│ ├── Music/
│ │ ├── afk.ts → Set AFK voice channel
│ │ ├── pause.ts → Pause radio
│ │ ├── play.ts → Play station (autocomplete)
│ │ ├── resume.ts → Resume radio
│ │ ├── stop.ts → Stop radio
│ │ └── volume.ts → Volume control
│ └── Owner/
│ ├── guilds.ts → List all guilds (pagination)
│ └── setactivity.ts → Set custom presence
└── storage/
├── locales/
│ ├── en.json → English
│ ├── per.json → فارسی
│ ├── tr.json → Türkçe
│ ├── zh.json → 中文
│ ├── jp.json → 日本語
│ └── th.json → ภาษาไทย
├── EmbedData.ts → Colors, emotes, footer
├── languages.json → List of supported languages
└── radiostation.json → All radio URLs
Note:
locales/*.jsonfiles contain full translation for all bot messages.
Key Changes & Fixes (Latest Update)
| File | Change | Description |
| ---------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| clientReady.ts | Fixed stats_channel reference | Previously used invalid config.discord.support.stats_channel. Now safely falls back to support.id if mi
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
