0.1.88-beta.2 • Published 20h ago
@orbynnew/music
Licence
—
Version
0.1.88-beta.2
Deps
2
Size
44 kB
Vulns
0
Weekly
0
@orbynnew/music — Public Beta 0.1.88-beta.2
npm install @orbynnew/music@beta
Player/fila oficial para bots orbynnew sobre @orbynnew/voice.
Hotfixes desta versão:
- atualização oficial do yt-dlp pelo instalador Debian;
- runtime JavaScript Node habilitado no yt-dlp moderno;
- playlist
watch?v=...&list=...normalizada; - playlist vazia vira erro explícito;
trackStartsó ocorre depois do primeiro frame PCM real.
Recursos principais:
- resolver YouTube via
yt-dlp; music.search(query);music.resolvePlaylist(url);player.enqueuePlaylist(url);- renovação de fonte YouTube antes de retomar após reconexão;
- FFmpeg/yt-dlp diagnostics;
- presença musical opcional (
autoPresence: true); interaction.member.voice.channelutilizável com o VoiceState real da v0.1.58.
const { createMusicManager } = require('@orbynnew/music');
const music = createMusicManager(client, { autoPresence: true });
console.log(music.dependencyReport());
const channel = interaction.member.voice.channel;
const player = music.player(interaction.guild.id);
await player.connect(channel);
player.play('https://www.youtube.com/watch?v=...');
No Debian 13/WSL instale a stack de mídia com:
sudo ./INSTALAR_MEDIA_DEBIAN13.sh
Base herdada da v0.1.50
Player/fila oficial para bots orbynnew sobre @orbynnew/voice.
const { createMusicManager, RepeatMode } = require('@orbynnew/music');
const music = createMusicManager(client, {
rejoinAttempts: 5,
rejoinDelay: 1000
});
const player = music.player(interaction.guild.id);
await player.connect(interaction.member.voice.channel);
player.play('./musica.mp3', {
title: 'Minha música',
requestedBy: interaction.user.id
});
Recursos:
- fila por servidor;
play,playNow,enqueueMany;skip,previous,jump,move,remove;pause,resume,seek,stop;- volume inline;
- shuffle;
- repeat Off/Track/Queue;
- histórico recente;
position,nowPlayingesnapshot();- eventos no player e no
MusicManager; - recuperação de voz e retomada da faixa após reconexão.
console.log(player.snapshot());
music.on('trackStart', (player, track) => {});
music.on('trackEnd', (player, track) => {});
music.on('reconnecting', player => {});
music.on('reconnected', player => {});
music.on('playerEvent', event => {});
Fontes aceitas continuam incluindo caminho local, URL HTTP/HTTPS, Buffer, Uint8Array e Readable.
O host precisa de ffmpeg no PATH (ou FFMPEG_PATH) e o transporte real requer @livekit/rtc-node.