player

package
v0.0.0-...-71692a6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventTypeQueueEnd lavalink.EventType = "QueueEndEvent"
)

Variables

View Source
var (
	ErrNoResultsFound = errors.New("no results found")
	ErrNoTrackFound   = errors.New("no track found")
	ErrNoTracksFound  = errors.New("no tracks found")
)
View Source
var (
	ErrQueueEmpty      = errors.New("queue is empty")
	ErrFailedToStop    = errors.New("failed to stop player")
	ErrUnmarshalFailed = errors.New("failed to unmarshal response")
)

Functions

This section is empty.

Types

type Player

type Player struct {
	// contains filtered or unexported fields
}

func New

func New(appID snowflake.ID, lavalinkHost, lavalinkPassword string) (*Player, error)

func (*Player) AddToQueue

func (p *Player) AddToQueue(ctx context.Context, guildID snowflake.ID, tracks []QueueTrack) (*lavalink.Track, error)

func (*Player) BestNode

func (p *Player) BestNode() disgolink.Node

func (*Player) ClearQueue

func (p *Player) ClearQueue(ctx context.Context, guildID snowflake.ID) error

func (*Player) GetCurrentTrack

func (p *Player) GetCurrentTrack(guildID snowflake.ID) *lavalink.Track

func (*Player) GetHistory

func (p *Player) GetHistory(ctx context.Context, guildID snowflake.ID) ([]lavalink.Track, error)

func (*Player) GetPlayer

func (p *Player) GetPlayer(guildID snowflake.ID) disgolink.Player

func (*Player) GetQueue

func (p *Player) GetQueue(ctx context.Context, guildID snowflake.ID) (*Queue, error)

func (*Player) IsPaused

func (p *Player) IsPaused(guildID snowflake.ID) bool

func (*Player) IsPlaying

func (p *Player) IsPlaying(guildID snowflake.ID) bool

func (*Player) LoadPlaylist

func (p *Player) LoadPlaylist(ctx context.Context, url string) ([]lavalink.Track, error)

func (*Player) NextTrack

func (p *Player) NextTrack(ctx context.Context, guildID snowflake.ID) (*lavalink.Track, error)

func (*Player) OnQueueEnd

func (p *Player) OnQueueEnd(guildID snowflake.ID)

func (*Player) OnTrackEnd

func (p *Player) OnTrackEnd(guildID snowflake.ID, track lavalink.Track, endReason string)

func (*Player) OnVoiceServerUpdate

func (p *Player) OnVoiceServerUpdate(e *events.VoiceServerUpdate)

func (*Player) OnVoiceStateUpdate

func (p *Player) OnVoiceStateUpdate(e *events.GuildVoiceStateUpdate)

func (*Player) Pause

func (p *Player) Pause(ctx context.Context, guildID snowflake.ID, paused bool) error

func (*Player) Play

func (p *Player) Play(ctx context.Context, client bot.Client, guildID, channelID snowflake.ID, query string, userData map[string]any) (*lavalink.Track, int, error)

func (*Player) PlayNow

func (p *Player) PlayNow(ctx context.Context, client bot.Client, guildID, channelID snowflake.ID, query string, userData map[string]any) (*lavalink.Track, error)

func (*Player) PreviousTrack

func (p *Player) PreviousTrack(ctx context.Context, guildID snowflake.ID) (*lavalink.Track, error)

func (*Player) RemoveTrack

func (p *Player) RemoveTrack(ctx context.Context, guildID snowflake.ID, trackID int) error

func (*Player) Seek

func (p *Player) Seek(ctx context.Context, guildID snowflake.ID, position int64) error

func (*Player) SetQueueEventHandler

func (p *Player) SetQueueEventHandler(handler QueueEventHandler)

func (*Player) SetVolume

func (p *Player) SetVolume(ctx context.Context, guildID snowflake.ID, volume int) error

func (*Player) ShuffleQueue

func (p *Player) ShuffleQueue(ctx context.Context, guildID snowflake.ID) error

func (*Player) Stop

func (p *Player) Stop(ctx context.Context, guildID snowflake.ID) error

type Queue

type Queue struct {
	Tracks []lavalink.Track `json:"tracks"`
}

type QueueEndEvent

type QueueEndEvent struct {
	OpValue   lavalink.Op        `json:"op"`
	TypeValue lavalink.EventType `json:"type"`
	GuildID   snowflake.ID       `json:"guildId"`
}

func (QueueEndEvent) Op

func (e QueueEndEvent) Op() lavalink.Op

func (QueueEndEvent) Type

func (e QueueEndEvent) Type() lavalink.EventType

type QueueEventHandler

type QueueEventHandler interface {
	OnTrackEnd(guildID snowflake.ID, track lavalink.Track)
	OnQueueEnd(guildID snowflake.ID)
}

type QueueTrack

type QueueTrack struct {
	Encoded  string         `json:"encoded"`
	UserData map[string]any `json:"userData,omitempty"`
}

type QueueUpdate

type QueueUpdate struct {
	Tracks []QueueTrack `json:"tracks,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL