Event Explorer
Press / to search. Open an event to see its arguments and an example listener you can copy.
34 of 34 events
readyLifecycleinit() finished its first connection attempt to every node.Arguments()raya.on('ready', () => console.log(`${raya.readyNodes.length} nodes ready`));debugLifecycleDetailed internal logs. Only built when something listens (or with the debug option).Arguments(message: string)raya.on('debug', (message) => logger.debug(message));nodeAddNodeA node was added, either from the options or with addNode().Arguments(node: Node)raya.on('nodeAdd', (node) => console.log('added', node.name));nodeRemoveNodeA node was removed with removeNode(). Its players were moved first.Arguments(node: Node)raya.on('nodeRemove', (node) => console.log('removed', node.name));nodeReadyNodeA node has a ready session. resumed is true when an existing session was resumed.Arguments(node: Node, resumed: boolean)raya.on('nodeReady', (node, resumed) => console.log(node.name, resumed ? 'resumed' : 'new session'));nodeDisconnectNodeThe WebSocket closed. Raya reconnects automatically unless you disconnected on purpose.Arguments(node: Node, info: { code, reason, wasReady })raya.on('nodeDisconnect', (node, { code, reason }) => console.warn(node.name, code, reason));nodeReconnectingNodeA reconnect is scheduled after delay ms.Arguments(node: Node, attempt: number, delay: number)raya.on('nodeReconnecting', (node, attempt, delay) => console.log(`retry #${attempt} in ${delay}ms`));nodeErrorNodeConnection problems, authentication failures or node-level REST errors.Arguments(node: Node, error: Error)raya.on('nodeError', (node, error) => console.error(node.name, error.message));nodeStatsNodeLavalink sent fresh stats: players, CPU, memory and frame stats.Arguments(node: Node, stats: NodeStats)raya.on('nodeStats', (node, stats) => metrics.gauge('cpu', stats.cpu.lavalinkLoad));nodeRawNodeEvery WebSocket message, before Raya handles it.Arguments(node: Node, payload: unknown)raya.on('nodeRaw', (node, payload) => console.log(payload));playerCreatePlayerA player was created, including players restored from a snapshot.Arguments(player: Player)raya.on('playerCreate', (player) => console.log('player for', player.guildId));playerDestroyPlayerA player was destroyed. reason: 'manual', 'queueEnd', 'channelEmpty', 'voiceDisconnected', 'channelDeleted', 'guildDeleted'.Arguments(player: Player, reason: PlayerDestroyReason)raya.on('playerDestroy', (player, reason) => { if (reason === 'channelEmpty') notify(player, 'Everyone left, see you!'); });playerMovePlayerThe bot moved between voice channels. newChannelId is null when it was disconnected.Arguments(player: Player, oldChannelId: string | null, newChannelId: string | null)raya.on('playerMove', (player, from, to) => console.log(`moved ${from} -> ${to}`));playerNodeMovePlayerA player moved to another node (failover or moveNode) without losing its state.Arguments(player: Player, from: Node, to: Node)raya.on('playerNodeMove', (player, from, to) => console.log(`${from.name} -> ${to.name}`));playerUpdatePlayerPeriodic state from Lavalink, about every 5 seconds while connected.Arguments(player: Player, state: { time, position, connected, ping })raya.on('playerUpdate', (player, state) => updateProgressBar(player.guildId, state.position));playerResumePlayerA player was resumed, rebuilt after a session loss, or restored from a snapshot.Arguments(player: Player)raya.on('playerResume', (player) => console.log('back online:', player.guildId));playerErrorPlayerA background error, e.g. auto-advance, voice forwarding or autoplay failed.Arguments(player: Player, error: Error)raya.on('playerError', (player, error) => console.error(player.guildId, error));voiceChannelEmptyPlayerThe last human left the voice channel.Arguments(player: Player)raya.on('voiceChannelEmpty', (player) => notify(player, 'Paused until someone joins.'));voiceChannelFilledPlayerSomeone joined the voice channel after it was empty.Arguments(player: Player)raya.on('voiceChannelFilled', (player) => notify(player, 'Welcome back!'));socketClosedPlayerLavalink's voice connection to Discord closed. Raya rejoins for recoverable codes.Arguments(player: Player, info: { code, reason, byRemote })raya.on('socketClosed', (player, { code }) => console.warn('voice closed', code));trackStartTrackA track started playing. track is your queued object, with its requester.Arguments(player: Player, track: Track)raya.on('trackStart', (player, track) => { send(player.textChannelId, `Now playing **${track.info.title}**`); });trackEndTrackA track ended. Raya advances the queue by itself on finished and loadFailed.Arguments(player: Player, track: Track, reason: 'finished' | 'loadFailed' | 'stopped' | 'replaced' | 'cleanup')raya.on('trackEnd', (player, track, reason) => console.log(track.info.title, reason));trackStuckTrackLavalink could not provide audio for a while. Skipped automatically with skipOnStuck.Arguments(player: Player, track: Track, thresholdMs: number)raya.on('trackStuck', (player, track) => console.warn('stuck:', track.info.title));trackErrorTrackLavalink failed to play a track. The queue moves on.Arguments(player: Player, track: Track, exception: { message, severity, cause })raya.on('trackError', (player, track, e) => send(player.textChannelId, `Could not play ${track.info.title}: ${e.message}`));queueEndQueueThe queue ran out and autoplay (if on) found nothing.Arguments(player: Player, lastTrack: Track | null)raya.on('queueEnd', (player) => send(player.textChannelId, 'Queue finished. Add more with /play'));queueUpdateQueueTracks were added, removed, moved, shuffled or cleared.Arguments(player: Player, queue: Queue)raya.on('queueUpdate', (player, queue) => refreshQueueMessage(player.guildId, queue.slice(0, 10)));lyricsFoundPluginLavaLyrics found lyrics for the current track (after subscribeLyrics).Arguments(player: Player, lyrics: Lyrics)raya.on('lyricsFound', (player, lyrics) => console.log(lyrics.provider));lyricsNotFoundPluginLavaLyrics found no lyrics for the current track.Arguments(player: Player)raya.on('lyricsNotFound', (player) => console.log('no lyrics'));lyricsLinePluginA time-synced lyrics line is now being sung.Arguments(player: Player, line: LyricsLine, lineIndex: number, skipped: boolean)raya.on('lyricsLine', (player, line) => updateKaraoke(player.guildId, line.line));segmentsLoadedPluginSponsorBlock loaded skippable segments for the track.Arguments(player: Player, segments: unknown[])raya.on('segmentsLoaded', (player, segments) => console.log(segments.length, 'segments'));segmentSkippedPluginSponsorBlock skipped a segment.Arguments(player: Player, segment: unknown)raya.on('segmentSkipped', (player, segment) => console.log('skipped', segment));chaptersLoadedPluginSponsorBlock loaded chapters for the track.Arguments(player: Player, chapters: unknown[])raya.on('chaptersLoaded', (player, chapters) => console.log(chapters));chapterStartedPluginA new SponsorBlock chapter started.Arguments(player: Player, chapter: unknown)raya.on('chapterStarted', (player, chapter) => console.log(chapter));pluginEventPluginEvery non-core Lavalink event, including the plugin events above.Arguments(player: Player, event: PluginEvent)raya.on('pluginEvent', (player, event) => console.log(event.type));
No events match your search.