npm.io
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;
  • trackStart só 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.channel utilizá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, nowPlaying e snapshot();
  • 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.

Keywords