Versions in this module Expand all Collapse all v0 v0.5.4 Nov 24, 2022 v0.5.3 Nov 24, 2022 v0.5.2 Nov 24, 2022 v0.5.1 Nov 24, 2022 v0.5.0 Nov 12, 2022 Changes in this version type LoopingType + const LoopingTypeRepeatTrack v0.4.3 Oct 17, 2022 v0.4.2 Oct 15, 2022 v0.4.1 Oct 9, 2022 v0.4.0 Oct 8, 2022 Changes in this version type Bot + Handler *handler.Handler v0.3.8 Aug 29, 2022 v0.3.7 Aug 28, 2022 v0.3.6 Jul 23, 2022 Changes in this version type Command + ModalHandler map[string]ModalHandler + type ModalHandler func(b *Bot, args []string, p *message.Printer, ...) error v0.3.5 Jul 23, 2022 v0.3.4 Jul 22, 2022 v0.3.3 Jul 22, 2022 v0.3.2 Jul 21, 2022 v0.3.1 Jul 21, 2022 v0.3.0 Jul 21, 2022 Changes in this version + type AudioTrackData struct + Requester snowflake.ID + type AutocompleteHandler func(b *Bot, p *message.Printer, e *events.AutocompleteInteractionCreate) error + type Bot struct + Client bot.Client + CommandMap *CommandMap + Config Config + DB db.DB + Lavalink disgolink.Link + Logger log.Logger + MusicPlayers *MusicPlayerMap + Paginator *paginator.Manager + ReportLogWebhookMap *ReportLogWebhookMap + Version string + func New(logger log.Logger, config Config, version string) *Bot + func (b *Bot) LoadCommands(commands ...Command) + func (b *Bot) RegisterNodes() + func (b *Bot) SetupBot(listeners ...bot.EventListener) (err error) + func (b *Bot) SetupLavalink() + func (b *Bot) StartBot() error + func (b *Bot) SyncCommands() + type BotConfig struct + ShardCount int + ShardIDs []int + type Command struct + AutoCompleteHandler map[string]AutocompleteHandler + Checks CommandCheck + CommandHandler map[string]CommandHandler + ComponentHandler map[string]ComponentHandler + Create discord.ApplicationCommandCreate + type CommandCheck func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool + var HasHistoryItems CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + var HasMusicPlayer CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + var HasQueueItems CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + var IsDev CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + var IsMemberConnectedToVoiceChannel CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + var IsPlaying CommandCheck = func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) bool { ... } + func CommandCheckAllOf(checks ...CommandCheck) CommandCheck + func CommandCheckAnyOf(checks ...CommandCheck) CommandCheck + func (c CommandCheck) And(check CommandCheck) CommandCheck + func (c CommandCheck) Or(check CommandCheck) CommandCheck + type CommandHandler func(b *Bot, p *message.Printer, e *events.ApplicationCommandInteractionCreate) error + type CommandMap struct + func NewCommandMap(bot *Bot) *CommandMap + func (m *CommandMap) AddAll(c []Command) + func (m *CommandMap) OnEvent(event bot.Event) + type ComponentHandler func(b *Bot, args []string, p *message.Printer, ...) error + type Config struct + Bot BotConfig + Lavalink LavalinkConfig + MetricsAddress string + PlayHistoryCacheSize int + type LavalinkConfig struct + Nodes []lavalink.NodeConfig + ResumingTimeout int + type LoopingType int + const LoopingTypeOff + const LoopingTypeRepeatQueue + const LoopingTypeRepeatSong + func (t LoopingType) String() string + type MusicHistory struct + func NewHistory() *MusicHistory + func (h *MusicHistory) Last() lavalink.AudioTrack + func (h *MusicHistory) Len() int + func (h *MusicHistory) Push(tracks ...lavalink.AudioTrack) + func (h *MusicHistory) Tracks() []lavalink.AudioTrack + type MusicPlayer struct + Bot *Bot + DisconnectCancel context.CancelFunc + DisconnectContext context.Context + History *MusicHistory + Queue *MusicQueue + SkipVotes map[snowflake.ID]struct{} + Type PlayerType + 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 struct + func NewMusicPlayerMap(bot *Bot) *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 struct + func NewMusicQueue(queueType LoopingType) *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 int + const PlayerTypeMusic + const PlayerTypeRadio + type ReportLogWebhookMap struct + func NewReportLogWebhookMap() *ReportLogWebhookMap + func (m *ReportLogWebhookMap) Delete(webhookID snowflake.ID) + func (m *ReportLogWebhookMap) Get(webhookID snowflake.ID, webhookToken string) webhook.Client