connect method

Future<void> connect({
  1. bool enableResuming = false,
  2. int resumeTimeout = 60,
})

Connect to Lavalink

Implementation

Future<void> connect({bool enableResuming = false, int resumeTimeout = 60}) async {
  LavalinkLogger.info('Connecting to Lavalink...', tag: 'Client');
  await webSocket.connect();

  // Wait for ready event
  await eventStream.firstWhere((event) => event is ReadyEvent);

  // Enable session resuming if requested
  if (enableResuming && webSocket.sessionId != null) {
    LavalinkLogger.info('Enabling session resuming...', tag: 'Client');
    try {
      await rest.updateSession(
        webSocket.sessionId!,
        resuming: true,
        timeout: resumeTimeout,
      );
      LavalinkLogger.info('Session resuming enabled', tag: 'Client');
    } catch (e) {
      LavalinkLogger.warning('Failed to enable session resuming: $e', tag: 'Client');
    }
  }

  LavalinkLogger.info('Client connected successfully', tag: 'Client');
}