/play <url>— putar audio dari URL YouTube, masuk ke antrean/queue— lihat antrean musik yang sedang berjalan/stop— hentikan playback dan kosongkan antrean/musik [aksi]— kontrol koneksi voice channel (gabung/keluar/status)/meme— kirim meme acak ke channel
- Runtime: Node.js 22, Ruby 3.2.2
- Discord (Node.js): discord.js 14, @discordjs/voice
- Discord (Ruby): discordrb 3.5
- Eksternal: yt-dlp, ffmpeg
pal/
├── src/ Implementasi Node.js (discord.js)
│ ├── commands/ Handler slash command
│ ├── voice/ Manajemen koneksi voice
│ ├── config.js Pembacaan environment variable terpusat
│ └── index.js Entry point
├── lib/ Implementasi Ruby (discordrb)
│ └── pal/
│ ├── commands/ Handler command Ruby
│ └── ...
├── test/ Test suite Ruby (Minitest)
├── bin/
│ └── pal CLI entry point Ruby
├── .env.example Template environment variable
└── package.json
Prasyarat sistem:
brew install yt-dlp ffmpeg ruby@3.2 # macOSecho'export PATH="/opt/homebrew/opt/ruby@3.2/bin:$PATH"'>>~/.zshrc &&source~/.zshrcClone repositori:
git clone https://github.com/franzxml/pal.git &&cd pal
Install dependency:
npm install bundle install
Salin template environment dan isi nilainya:
cp .env.example .env
Jalankan bot:
npm start
| Perintah | Keterangan |
|---|---|
npm start | Jalankan bot Discord (Node.js) |
npm run lint | Periksa kode JavaScript dengan ESLint |
npm run voice:report | Cek status dependency voice (ffmpeg, opus) |
bundle exec rake test | Jalankan seluruh test suite Ruby |
bundle exec rubocop | Lint kode Ruby |