Events¶
- class lava_lyra.events.FiltersChangedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when player filters are changed (NodeLink specific)
- filters: dict¶
- name = 'filters_changed'¶
- player: Player¶
- class lava_lyra.events.LyraEvent[source]¶
Bases:
ABCThe base class for all events dispatched by a node.
Every event must be formatted within your bot’s code as a listener. For example, to listen for when a track starts.
py-cord:
@bot.listen() async def on_lyra_track_start(self, event): pass
discord.py:
@bot.event async def on_lyra_track_start(event): pass
- handler_args: Tuple¶
- name = 'event'¶
- class lava_lyra.events.LyricsFoundEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventEvent triggered when lyrics are found
- name = 'lyrics_found'¶
- player: Player¶
- class lava_lyra.events.LyricsLineEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventEvent triggered when lyrics move to a new line
- name = 'lyrics_line'¶
- player: Player¶
- class lava_lyra.events.LyricsNotFoundEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventEvent triggered when lyrics are not found
- name = 'lyrics_not_found'¶
- player: Player¶
- class lava_lyra.events.MixEndedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventEvent fired when a mix layer ends (NodeLink specific)
This event is triggered when a mix layer stops playing, either because: - It finished playing naturally (FINISHED) - It was manually removed (REMOVED) - An error occurred (ERROR) - The main track ended (MAIN_ENDED)
- Attributes:
player: The player instance mix_id: Unique identifier for this mix layer reason: Why the mix ended (see MixEndReason)
- property is_error: bool¶
Check if mix ended due to error
- property is_finished: bool¶
Check if mix ended naturally
- property is_main_ended: bool¶
Check if mix ended because main track ended
- property is_removed: bool¶
Check if mix was manually removed
- mix_id: str¶
- name = 'mix_ended'¶
- player: Player¶
- reason: str¶
- class lava_lyra.events.MixStartedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventEvent fired when a mix layer starts (NodeLink specific)
A mix layer is an additional audio stream that plays alongside the main track. This is useful for features like: - Background music - Sound effects - Audio overlays - Multi-track playback
- Attributes:
player: The player instance mix_id: Unique identifier for this mix layer track: The track being mixed in volume: Volume level of the mix layer (0.0 - 1.0)
- mix_id: str¶
- name = 'mix_started'¶
- player: Player¶
- volume: float¶
- class lava_lyra.events.NodeConnectedEvent(node_id: str, is_nodelink: bool, reconnect: bool = False)[source]¶
Bases:
LyraEventFired when a node successfully connects to Lavalink. Returns the node identifier and whether this is a reconnection.
- is_nodelink: bool¶
- name = 'node_connected'¶
- node_id: str¶
- reconnect: bool¶
- class lava_lyra.events.NodeDisconnectedEvent(node_id: str, is_nodelink: bool, player_count: int)[source]¶
Bases:
LyraEventFired when a node disconnects from Lavalink. Returns the node identifier and the number of players that were affected.
- is_nodelink: bool¶
- name = 'node_disconnected'¶
- node_id: str¶
- player_count: int¶
- class lava_lyra.events.NodeReconnectingEvent(node_id: str, is_nodelink: bool, retry_in: float)[source]¶
Bases:
LyraEventFired when a node is attempting to reconnect to Lavalink. Returns the node identifier and the retry delay in seconds.
- is_nodelink: bool¶
- name = 'node_reconnecting'¶
- node_id: str¶
- retry_in: float¶
- class lava_lyra.events.PauseEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when player is paused (NodeLink specific)
- name = 'pause'¶
- paused: bool¶
- player: Player¶
- class lava_lyra.events.PlayerConnectedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a player connects to Discord voice (NodeLink specific)
- name = 'player_connected'¶
- player: Player¶
- voice: dict¶
- class lava_lyra.events.PlayerCreatedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a player is created (NodeLink specific)
- guild_id: int¶
- name = 'player_created'¶
- player: Player¶
- class lava_lyra.events.SeekEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when player seeks (NodeLink specific)
- name = 'seek'¶
- player: Player¶
- position: int¶
- class lava_lyra.events.TrackEndEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a track has successfully ended. Returns the player associated with the event along with the lyra.Track object and reason.
- name = 'track_end'¶
- player: Player¶
- reason: str¶
- class lava_lyra.events.TrackExceptionEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a track error has occured. Returns the player associated with the event along with the error code and exception.
- exception: str¶
- name = 'track_exception'¶
- player: Player¶
- class lava_lyra.events.TrackStartEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a track has successfully started. Returns the player associated with the event and the lyra.Track object.
- name = 'track_start'¶
- player: Player¶
- class lava_lyra.events.TrackStuckEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when a track is stuck and cannot be played. Returns the player associated with the event along with the lyra.Track object to be further parsed by the end user.
- name = 'track_stuck'¶
- player: Player¶
- threshold: float¶
- class lava_lyra.events.VolumeChangedEvent(data: dict, player: Player)[source]¶
Bases:
LyraEventFired when player volume is changed (NodeLink specific)
- name = 'volume_changed'¶
- player: Player¶
- volume: int¶
- class lava_lyra.events.WebSocketClosedEvent(data: dict, player: Any)[source]¶
Bases:
LyraEventFired when a websocket connection to a node has been closed. Returns the reason and the error code.
- name = 'websocket_closed'¶
- payload: WebSocketClosedPayload¶