Documentation
¶
Index ¶
- func HasHistoryItems(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- func HasMusicPlayer(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- func HasQueueItems(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- func IsDev(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- func IsMemberConnectedToVoiceChannel(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- func IsPlaying(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
- type AudioTrackData
- type Bot
- type BotConfig
- type Config
- type LavalinkConfig
- type LoopingType
- type MusicHistory
- type MusicPlayer
- func (p *MusicPlayer) CancelDisconnect()
- func (p *MusicPlayer) OnPlayerPause(player lavalink.Player)
- func (p *MusicPlayer) OnPlayerResume(player lavalink.Player)
- func (p *MusicPlayer) OnPlayerUpdate(player lavalink.Player, state lavalink.PlayerState)
- func (p *MusicPlayer) OnTrackEnd(player lavalink.Player, track lavalink.AudioTrack, ...)
- func (p *MusicPlayer) OnTrackException(player lavalink.Player, track lavalink.AudioTrack, ...)
- func (p *MusicPlayer) OnTrackStart(player lavalink.Player, track lavalink.AudioTrack)
- func (p *MusicPlayer) OnTrackStuck(player lavalink.Player, track lavalink.AudioTrack, ...)
- func (p *MusicPlayer) OnWebSocketClosed(player lavalink.Player, code int, reason string, byRemote bool)
- func (p *MusicPlayer) PlanDisconnect()
- type MusicPlayerMap
- func (b *MusicPlayerMap) Add(player *MusicPlayer)
- func (b *MusicPlayerMap) All() []*MusicPlayer
- func (b *MusicPlayerMap) Delete(guildID snowflake.ID)
- func (b *MusicPlayerMap) Get(guildID snowflake.ID) *MusicPlayer
- func (b *MusicPlayerMap) Has(guildID snowflake.ID) bool
- func (b *MusicPlayerMap) Len() int
- func (b *MusicPlayerMap) New(guildID snowflake.ID, playerType PlayerType, loopingType LoopingType) *MusicPlayer
- type MusicQueue
- func (q *MusicQueue) Clear()
- func (q *MusicQueue) Get(index int) lavalink.AudioTrack
- func (q *MusicQueue) Len() int
- func (q *MusicQueue) LoopingType() LoopingType
- func (q *MusicQueue) Pop() lavalink.AudioTrack
- func (q *MusicQueue) Push(tracks ...lavalink.AudioTrack)
- func (q *MusicQueue) Remove(index ...int)
- func (q *MusicQueue) SetType(loopingType LoopingType)
- func (q *MusicQueue) Shuffle()
- func (q *MusicQueue) Tracks() []lavalink.AudioTrack
- type PlayerType
- type ReportLogWebhookMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HasHistoryItems ¶
func HasHistoryItems(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
func HasMusicPlayer ¶
func HasMusicPlayer(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
func HasQueueItems ¶
func HasQueueItems(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
func IsMemberConnectedToVoiceChannel ¶
func IsMemberConnectedToVoiceChannel(b *Bot) handler.Check[*events.ApplicationCommandInteractionCreate]
Types ¶
type AudioTrackData ¶
type Bot ¶
type Bot struct {
Logger log.Logger
Client bot.Client
Handler *handler.Handler
Lavalink disgolink.Link
MusicPlayers *MusicPlayerMap
Paginator *paginator.Manager
DB db.DB
ReportLogWebhookMap *ReportLogWebhookMap
Config Config
Version string
}
func (*Bot) RegisterNodes ¶
func (b *Bot) RegisterNodes()
func (*Bot) SetupLavalink ¶
func (b *Bot) SetupLavalink()
type LavalinkConfig ¶
type LavalinkConfig struct {
Nodes []lavalink.NodeConfig `json:"nodes"`
ResumingTimeout int `json:"resuming_timeout"`
}
type LoopingType ¶
type LoopingType int
const ( LoopingTypeOff LoopingType = iota LoopingTypeRepeatTrack LoopingTypeRepeatQueue )
func (LoopingType) String ¶
func (t LoopingType) String() string
type MusicHistory ¶
type MusicHistory struct {
// contains filtered or unexported fields
}
func NewHistory ¶
func NewHistory() *MusicHistory
func (*MusicHistory) Last ¶
func (h *MusicHistory) Last() lavalink.AudioTrack
func (*MusicHistory) Len ¶
func (h *MusicHistory) Len() int
func (*MusicHistory) Push ¶
func (h *MusicHistory) Push(tracks ...lavalink.AudioTrack)
func (*MusicHistory) Tracks ¶
func (h *MusicHistory) Tracks() []lavalink.AudioTrack
type MusicPlayer ¶
type MusicPlayer struct {
lavalink.Player
Bot *Bot
Type PlayerType
Queue *MusicQueue
History *MusicHistory
SkipVotes map[snowflake.ID]struct{}
DisconnectContext context.Context
DisconnectCancel context.CancelFunc
}
func (*MusicPlayer) CancelDisconnect ¶
func (p *MusicPlayer) CancelDisconnect()
func (*MusicPlayer) OnPlayerPause ¶
func (p *MusicPlayer) OnPlayerPause(player lavalink.Player)
func (*MusicPlayer) OnPlayerResume ¶
func (p *MusicPlayer) OnPlayerResume(player lavalink.Player)
func (*MusicPlayer) OnPlayerUpdate ¶
func (p *MusicPlayer) OnPlayerUpdate(player lavalink.Player, state lavalink.PlayerState)
func (*MusicPlayer) OnTrackEnd ¶
func (p *MusicPlayer) OnTrackEnd(player lavalink.Player, track lavalink.AudioTrack, endReason lavalink.AudioTrackEndReason)
func (*MusicPlayer) OnTrackException ¶
func (p *MusicPlayer) OnTrackException(player lavalink.Player, track lavalink.AudioTrack, exception lavalink.FriendlyException)
func (*MusicPlayer) OnTrackStart ¶
func (p *MusicPlayer) OnTrackStart(player lavalink.Player, track lavalink.AudioTrack)
func (*MusicPlayer) OnTrackStuck ¶
func (p *MusicPlayer) OnTrackStuck(player lavalink.Player, track lavalink.AudioTrack, thresholdMs lavalink.Duration)
func (*MusicPlayer) OnWebSocketClosed ¶
func (*MusicPlayer) PlanDisconnect ¶
func (p *MusicPlayer) PlanDisconnect()
type MusicPlayerMap ¶
type MusicPlayerMap struct {
// contains filtered or unexported fields
}
func NewMusicPlayerMap ¶
func NewMusicPlayerMap(bot *Bot) *MusicPlayerMap
func (*MusicPlayerMap) Add ¶
func (b *MusicPlayerMap) Add(player *MusicPlayer)
func (*MusicPlayerMap) All ¶
func (b *MusicPlayerMap) All() []*MusicPlayer
func (*MusicPlayerMap) Delete ¶
func (b *MusicPlayerMap) Delete(guildID snowflake.ID)
func (*MusicPlayerMap) Get ¶
func (b *MusicPlayerMap) Get(guildID snowflake.ID) *MusicPlayer
func (*MusicPlayerMap) Len ¶
func (b *MusicPlayerMap) Len() int
func (*MusicPlayerMap) New ¶
func (b *MusicPlayerMap) New(guildID snowflake.ID, playerType PlayerType, loopingType LoopingType) *MusicPlayer
type MusicQueue ¶
type MusicQueue struct {
// contains filtered or unexported fields
}
func NewMusicQueue ¶
func NewMusicQueue(queueType LoopingType) *MusicQueue
func (*MusicQueue) Clear ¶
func (q *MusicQueue) Clear()
func (*MusicQueue) Get ¶
func (q *MusicQueue) Get(index int) lavalink.AudioTrack
func (*MusicQueue) Len ¶
func (q *MusicQueue) Len() int
func (*MusicQueue) LoopingType ¶
func (q *MusicQueue) LoopingType() LoopingType
func (*MusicQueue) Pop ¶
func (q *MusicQueue) Pop() lavalink.AudioTrack
func (*MusicQueue) Push ¶
func (q *MusicQueue) Push(tracks ...lavalink.AudioTrack)
func (*MusicQueue) Remove ¶
func (q *MusicQueue) Remove(index ...int)
func (*MusicQueue) SetType ¶
func (q *MusicQueue) SetType(loopingType LoopingType)
func (*MusicQueue) Shuffle ¶
func (q *MusicQueue) Shuffle()
func (*MusicQueue) Tracks ¶
func (q *MusicQueue) Tracks() []lavalink.AudioTrack
type ReportLogWebhookMap ¶
type ReportLogWebhookMap struct {
// contains filtered or unexported fields
}
func NewReportLogWebhookMap ¶
func NewReportLogWebhookMap() *ReportLogWebhookMap
func (*ReportLogWebhookMap) Delete ¶
func (m *ReportLogWebhookMap) Delete(webhookID snowflake.ID)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.