streamify-audio 2.1.3 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "streamify-audio",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "Dual-mode audio library: HTTP streaming proxy + Discord player (Lavalink alternative). Supports YouTube, Spotify, SoundCloud with audio filters.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -179,7 +179,9 @@ class Manager extends EventEmitter {
179
179
 
180
180
  if (session.currentTrack) {
181
181
  const track = deserializeTrack(session.currentTrack);
182
+ log.debug('MANAGER', `[RESTORE] Playing track: ${track.title}`);
182
183
  await player.play(track);
184
+ log.debug('MANAGER', `[RESTORE] Track play() returned`);
183
185
 
184
186
  if (session.positionMs > 0 && !track.isLive && options.seekToPosition !== false) {
185
187
  try {
@@ -195,15 +197,27 @@ class Manager extends EventEmitter {
195
197
  player.queue.addMany(tracks);
196
198
  }
197
199
 
198
- const members = voiceChannel.members?.filter(m => !m.user.bot);
199
- if (members && members.size === 0 && player.autoPause.enabled) {
200
+ log.debug('MANAGER', `[RESTORE] Checking voice channel members`);
201
+ let memberCount = 0;
202
+ try {
203
+ const members = voiceChannel.members;
204
+ if (members) {
205
+ memberCount = members.filter(m => !m.user.bot).size;
206
+ }
207
+ } catch (e) {
208
+ log.debug('MANAGER', `[RESTORE] Error getting members: ${e.message}`);
209
+ }
210
+
211
+ if (memberCount === 0 && player.autoPause.enabled) {
200
212
  player.pause();
201
213
  player._autoPaused = true;
202
214
  log.info('MANAGER', `Session restored but auto-paused (empty channel)`);
203
215
  }
204
216
 
205
- this.emit('sessionRestored', { guildId, player, session });
206
- return player;
217
+ log.debug('MANAGER', `[RESTORE] Emitting sessionRestored event`);
218
+ this.emit('sessionRestored', { guildId, voiceChannelId: player.voiceChannelId });
219
+ log.debug('MANAGER', `[RESTORE] Returning true`);
220
+ return true;
207
221
  }
208
222
 
209
223
  async restoreAllSessions(options = {}) {
@@ -214,8 +228,8 @@ class Manager extends EventEmitter {
214
228
 
215
229
  for (const session of sessions) {
216
230
  try {
217
- const player = await this.restoreSession(session.guildId, options);
218
- if (player) {
231
+ const success = await this.restoreSession(session.guildId, options);
232
+ if (success) {
219
233
  restored.push({ guildId: session.guildId });
220
234
  }
221
235
  } catch (error) {