pylav.events package

Subpackages

Submodules

pylav.events.base module

class pylav.events.base.PyLavEvent[source]

Bases: object

The base for all Lavalink events

pylav.events.manager module

pylav.events.node module

class pylav.events.node.NodeChangedEvent(player, old_node, new_node)[source]

Bases: PyLavEvent

This event is dispatched when a player changes to another node. Keep in mind this event can be dispatched multiple times if a node disconnects and the load balancer moves players to a new node.

Event can be listened to by adding a listener with the name pylav_node_changed_event.

player

The player that changed nodes.

Type:

Player

old_node

The node the player was on before the change.

Type:

Node

new_node

The node the player is on after the change.

Type:

Node

new_node
old_node
player
class pylav.events.node.NodeConnectedEvent(node)[source]

Bases: PyLavEvent

This event is dispatched when PyLav successfully connects to a node.

Event can be listened to by adding a listener with the name pylav_node_connected_event.

node

The node that connected.

Type:

Node

node
class pylav.events.node.NodeDisconnectedEvent(node, code, reason)[source]

Bases: PyLavEvent

This event is dispatched when a node disconnects and becomes unavailable.

Event can be listened to by adding a listener with the name pylav_node_disconnected_event.

node

The node that disconnected.

Type:

Node

code

The close code.

Type:

int

reason

The close reason.

Type:

str

code
node
reason
class pylav.events.node.WebSocketClosedEvent(player, node, channel, event_object)[source]

Bases: PyLavEvent

This event is dispatched when an audio websocket to Discord is closed. This can happen for various reasons like an expired voice server update.

Event can be listened to by adding a listener with the name pylav_websocket_closed_event.

player

The player whose websocket was closed.

Type:

Player

node

The node the player is on.

Type:

Node

channel

The channel the player is in.

Type:

discord.channel.VocalGuildChannel

code

The close code.

Type:

int

reason

The close reason.

Type:

str

by_remote

Whether the close was initiated by Discord or not.

Type:

bool

event

The received event object.

Type:

Closed

by_remote
channel
code
event
node
player
reason

pylav.events.player module

pylav.events.queue module

class pylav.events.queue.QueueEndEvent(player)[source]

Bases: PyLavEvent

This event is dispatched when there are no more songs in the queue.

Event can be listened to by adding a listener with the name pylav_queue_end_event.

player

The player that has no more songs in queue.

Type:

Player

Parameters:

player (Player) – The player that has no more songs in queue.

player
class pylav.events.queue.QueueShuffledEvent(player, requester)[source]

Bases: PyLavEvent

This event is dispatched when the queue is shuffled.

Event can be listened to by adding a listener with the name pylav_queue_shuffled_event.

player

The player whose queue was shuffled.

Type:

Player

requester

The user who requested the change.

Type:

discord.Member

Parameters:
  • player (Player) – The player whose queue was shuffled.

  • requester (discord.Member) – The user who requested the change.

player
requester
class pylav.events.queue.QueueTrackPositionChangedEvent(player, before, after, requester, track)[source]

Bases: PyLavEvent

This event is dispatched when the position of a track is changed.

Event can be listened to by adding a listener with the name pylav_queue_track_position_changed_event.

player

The player whose track position was changed.

Type:

Player

before

The position of the track before the change.

Type:

int

after

The position of the track after the change.

Type:

int

requester

The user who requested the change.

Type:

discord.Member

track

The track whose position was changed.

Type:

Track

Parameters:
  • player (Player) – The player whose track position was changed.

  • before (int) – The position of the track before the change.

  • after (int) – The position of the track after the change.

  • requester (discord.Member) – The user who requested the change.

  • track (Track) – The track whose position was changed.

after
before
player
requester
track
class pylav.events.queue.QueueTracksAddedEvent(player, requester, tracks)[source]

Bases: PyLavEvent

This event is dispatched when a track in added to the queue.

Event can be listened to by adding a listener with the name pylav_queue_tracks_added_event.

player

The player whose queue had tracks added to it.

Type:

Player

requester

The user who requested the change.

Type:

discord.Member

tracks

The tracks that were added to the queue.

Type:

list of Track

player
requester
tracks
class pylav.events.queue.QueueTracksRemovedEvent(player, requester, tracks)[source]

Bases: PyLavEvent

This event is dispatched when tracks are removed from the queue.

Event can be listened to by adding a listener with the name pylav_queue_tracks_removed_event.

player

The player whose queue was shuffled.

Type:

Player

requester

The user who requested the change.

Type:

discord.Member

tracks

The tracks that were removed from the queue.

Type:

list of Track

Parameters:
  • player (Player) – The player whose queue was shuffled.

  • requester (discord.Member) – The user who requested the change.

  • tracks (list of Track) – The tracks that were removed from the queue.

player
requester
tracks

pylav.events.utils module

class pylav.events.utils.PluginInfoTypeHint(*, echo: 'Echo | None' = None, reverb: 'Reverb | None' = None)[source]

Bases: object

echo
reverb
pylav.events.utils.get_event_name(class_type)[source]

Returns the event name for a given event class while prefixing it with pylav_.

pylav.events.utils.get_simple_event_name(class_type)[source]

Returns the event name for a given event class.

pylav.events.utils.to_snake_case(name)[source]

Converts a string to snake case.

Module contents