Documentation ¶
Index ¶
- func GlobalPlay(songSig chan PkgSong)
- type MusicCommand
- func (mc *MusicCommand) CheckVC(i *discordgo.InteractionCreate, reply bool) *VoiceInstance
- func (m *MusicCommand) InstallSlashCommands(session *discordgo.Session) error
- func (mc *MusicCommand) Join(i *discordgo.InteractionCreate, doNotReply bool) error
- func (mc *MusicCommand) Leave(i *discordgo.InteractionCreate)
- func (m *MusicCommand) OfficialSearch(query string) (string, string, string, error)
- func (mc *MusicCommand) Pause(i *discordgo.InteractionCreate)
- func (mc *MusicCommand) Play(i *discordgo.InteractionCreate)
- func (mc *MusicCommand) Playlist(i *discordgo.InteractionCreate)
- func (m *MusicCommand) Register()
- func (mc *MusicCommand) Resume(i *discordgo.InteractionCreate)
- func (m *MusicCommand) SearchVoiceChannel(user string) (voiceChannelID string)
- func (mc *MusicCommand) Skip(i *discordgo.InteractionCreate)
- func (m *MusicCommand) SpotifyToSearch(id string) []string
- func (m *MusicCommand) UnofficialSearch(query string) (string, string, string, error)
- func (mc *MusicCommand) Volume(i *discordgo.InteractionCreate)
- func (m *MusicCommand) YoutubeFind(searchString, uID, chID string, v *VoiceInstance) (song_struct PkgSong, err error)
- type MusicOptions
- type PkgSong
- type Response
- type S3
- type Song
- type TimeDuration
- type VoiceInstance
- func (v *VoiceInstance) DCA(name string)
- func (v *VoiceInstance) Pause()
- func (v *VoiceInstance) PlayQueue(song Song)
- func (v *VoiceInstance) QueueAdd(song Song)
- func (v *VoiceInstance) QueueClean()
- func (v *VoiceInstance) QueueGetSong() (song Song)
- func (v *VoiceInstance) QueueRemove()
- func (v *VoiceInstance) QueueRemoveFisrt()
- func (v *VoiceInstance) QueueRemoveIndex(k int)
- func (v *VoiceInstance) QueueRemoveLast()
- func (v *VoiceInstance) QueueRemoveUser(user string)
- func (v *VoiceInstance) Resume()
- func (v *VoiceInstance) SetVolume(vl int)
- func (v *VoiceInstance) Skip() bool
- func (v *VoiceInstance) Stop()
- type YTReply
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GlobalPlay ¶
func GlobalPlay(songSig chan PkgSong)
Types ¶
type MusicCommand ¶
type MusicCommand struct { SpotifyTokenMutex sync.Mutex SpotifyToken string // contains filtered or unexported fields }
func NewMusicCommand ¶
func NewMusicCommand(dg *discordgo.Session, opts MusicOptions) (*MusicCommand, error)
func (*MusicCommand) CheckVC ¶
func (mc *MusicCommand) CheckVC(i *discordgo.InteractionCreate, reply bool) *VoiceInstance
func (*MusicCommand) InstallSlashCommands ¶
func (m *MusicCommand) InstallSlashCommands(session *discordgo.Session) error
InstallSlashCommands registers the slash commands
func (*MusicCommand) Join ¶
func (mc *MusicCommand) Join(i *discordgo.InteractionCreate, doNotReply bool) error
func (*MusicCommand) Leave ¶
func (mc *MusicCommand) Leave(i *discordgo.InteractionCreate)
func (*MusicCommand) OfficialSearch ¶
func (*MusicCommand) Pause ¶
func (mc *MusicCommand) Pause(i *discordgo.InteractionCreate)
func (*MusicCommand) Play ¶
func (mc *MusicCommand) Play(i *discordgo.InteractionCreate)
func (*MusicCommand) Playlist ¶
func (mc *MusicCommand) Playlist(i *discordgo.InteractionCreate)
func (*MusicCommand) Register ¶
func (m *MusicCommand) Register()
func (*MusicCommand) Resume ¶
func (mc *MusicCommand) Resume(i *discordgo.InteractionCreate)
func (*MusicCommand) SearchVoiceChannel ¶
func (m *MusicCommand) SearchVoiceChannel(user string) (voiceChannelID string)
SearchVoiceChannel search the voice channel id into from guild.
func (*MusicCommand) Skip ¶
func (mc *MusicCommand) Skip(i *discordgo.InteractionCreate)
func (*MusicCommand) SpotifyToSearch ¶
func (m *MusicCommand) SpotifyToSearch(id string) []string
func (*MusicCommand) UnofficialSearch ¶
func (*MusicCommand) Volume ¶
func (mc *MusicCommand) Volume(i *discordgo.InteractionCreate)
func (*MusicCommand) YoutubeFind ¶
func (m *MusicCommand) YoutubeFind(searchString, uID, chID string, v *VoiceInstance) (song_struct PkgSong, err error)
type MusicOptions ¶
type Response ¶
type Response struct { Href string `json:"href"` Items []struct { AddedAt time.Time `json:"added_at"` AddedBy struct { ExternalUrls struct { Spotify string `json:"spotify"` } `json:"external_urls"` Href string `json:"href"` ID string `json:"id"` Type string `json:"type"` URI string `json:"uri"` } `json:"added_by"` IsLocal bool `json:"is_local"` PrimaryColor interface{} `json:"primary_color"` SharingInfo struct { ShareID string `json:"share_id"` ShareURL string `json:"share_url"` URI string `json:"uri"` } `json:"sharing_info"` Track struct { Album struct { AlbumType string `json:"album_type"` Artists []struct { ExternalUrls struct { Spotify string `json:"spotify"` } `json:"external_urls"` Href string `json:"href"` ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` URI string `json:"uri"` } `json:"artists"` ExternalUrls struct { Spotify string `json:"spotify"` } `json:"external_urls"` Href string `json:"href"` ID string `json:"id"` Images []struct { Height int `json:"height"` URL string `json:"url"` Width int `json:"width"` } `json:"images"` Name string `json:"name"` ReleaseDate string `json:"release_date"` ReleaseDatePrecision string `json:"release_date_precision"` TotalTracks int `json:"total_tracks"` Type string `json:"type"` URI string `json:"uri"` } `json:"album"` Artists []struct { ExternalUrls struct { Spotify string `json:"spotify"` } `json:"external_urls"` Href string `json:"href"` ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` URI string `json:"uri"` } `json:"artists"` DiscNumber int `json:"disc_number"` DurationMs int `json:"duration_ms"` Episode bool `json:"episode"` Explicit bool `json:"explicit"` ExternalIds struct { Isrc string `json:"isrc"` } `json:"external_ids"` ExternalUrls struct { Spotify string `json:"spotify"` } `json:"external_urls"` Href string `json:"href"` ID string `json:"id"` IsLocal bool `json:"is_local"` IsPlayable bool `json:"is_playable"` Name string `json:"name"` Popularity int `json:"popularity"` PreviewURL string `json:"preview_url"` Track bool `json:"track"` TrackNumber int `json:"track_number"` Type string `json:"type"` URI string `json:"uri"` } `json:"track"` VideoThumbnail struct { URL interface{} `json:"url"` } `json:"video_thumbnail"` } `json:"items"` }
type TimeDuration ¶
func AddTimeDuration ¶
func AddTimeDuration(t TimeDuration) (total TimeDuration)
AddTimeDuration calculate the total time duration
type VoiceInstance ¶
type VoiceInstance struct {
// contains filtered or unexported fields
}
func NewVoiceInstance ¶
func NewVoiceInstance(birtate int, opts MusicOptions) *VoiceInstance
func (*VoiceInstance) PlayQueue ¶
func (v *VoiceInstance) PlayQueue(song Song)
func (*VoiceInstance) QueueGetSong ¶
func (v *VoiceInstance) QueueGetSong() (song Song)
QueueGetSong
func (*VoiceInstance) QueueRemoveFisrt ¶
func (v *VoiceInstance) QueueRemoveFisrt()
QueueRemoveFirst
func (*VoiceInstance) QueueRemoveIndex ¶
func (v *VoiceInstance) QueueRemoveIndex(k int)
QueueRemoveIndex
func (*VoiceInstance) QueueRemoveUser ¶
func (v *VoiceInstance) QueueRemoveUser(user string)
QueueRemoveUser
func (*VoiceInstance) SetVolume ¶
func (v *VoiceInstance) SetVolume(vl int)
func (*VoiceInstance) Skip ¶
func (v *VoiceInstance) Skip() bool
type YTReply ¶
type YTReply struct { Results []struct { Channel struct { ID string `json:"id"` Title string `json:"title"` URL string `json:"url"` Snippet string `json:"snippet"` ThumbnailSrc string `json:"thumbnail_src"` VideoCount string `json:"video_count"` SubscriberCount string `json:"subscriber_count"` Verified bool `json:"verified"` } `json:"channel,omitempty"` Video struct { ID string `json:"id"` Title string `json:"title"` URL string `json:"url"` Duration string `json:"duration"` Snippet string `json:"snippet"` UploadDate string `json:"upload_date"` ThumbnailSrc string `json:"thumbnail_src"` Views string `json:"views"` } `json:"video,omitempty"` Uploader struct { Username string `json:"username"` URL string `json:"url"` Verified bool `json:"verified"` } `json:"uploader,omitempty"` Playlist struct { ID string `json:"id"` Title string `json:"title"` URL string `json:"url"` ThumbnailSrc string `json:"thumbnail_src"` VideoCount string `json:"video_count"` } `json:"playlist,omitempty"` } `json:"results"` Version string `json:"version"` Parser string `json:"parser"` Key string `json:"key"` EstimatedResults string `json:"estimatedResults"` NextPageToken string `json:"nextPageToken"` }
Click to show internal directories.
Click to hide internal directories.