Documentation ¶
Overview ¶
Package discordgo provides Discord binding for Go
Index ¶
- Constants
- Variables
- func Contains(haystack []string, needle string) bool
- func ContainsIDObject(haystack []IDGettable, needle IDGettable) (contains bool)
- func SnowflakeToTime(snowflake string) (returnTime time.Time, err error)
- type APIErrorMessage
- type Ack
- type Application
- type Assets
- type AuditLogChanges
- type AuditLogEntry
- type Bucket
- type Channel
- func (c *Channel) ChangedRoles() (roles []*Role, err error)
- func (c *Channel) CreateInvite(data Invite) (i *Invite, err error)
- func (c Channel) CreatedAt() (creation time.Time, err error)
- func (c *Channel) Delete() (err error)
- func (c *Channel) DeleteMessage(message *Message) (err error)
- func (c *Channel) DeleteMessageByID(ID string) (err error)
- func (c *Channel) Edit(data *ChannelEdit) error
- func (c Channel) EditMessage(data *MessageEdit) (edited *Message, err error)
- func (c Channel) FetchMessage(ID string) (message *Message, err error)
- func (c *Channel) FetchPins() ([]*Message, error)
- func (c Channel) GetHistory(limit int, beforeID, afterID, aroundID string) (st []*Message, err error)
- func (c Channel) GetHistoryIterator() *HistoryIterator
- func (c Channel) GetID() string
- func (c *Channel) GetParent() (*Channel, error)
- func (c *Channel) Guild() (g *Guild, err error)
- func (c *Channel) HasPins() bool
- func (c Channel) Mention() string
- func (c *Channel) MessagesBulkDelete(messages []*Message) (err error)
- func (c *Channel) MessagesBulkDeleteByID(messages []string) (err error)
- func (c *Channel) NewEdit() *ChannelEdit
- func (c *Channel) OverwritesFor(target IDGettable) (overwrite *PermissionOverwrite, err error)
- func (c *Channel) PermissionsFor(m *Member) (perms Permissions, err error)
- func (c *Channel) PermissionsSynced() (bool, error)
- func (c Channel) SendMessage(content string, embed *MessageEmbed, files []*File) (message *Message, err error)
- func (c Channel) SendMessageComplex(data *MessageSend) (message *Message, err error)
- func (c *Channel) SetPermissions(target IDGettable, overwrite *PermissionOverwrite) (err error)
- func (c Channel) String() string
- type ChannelCreate
- type ChannelDelete
- type ChannelEdit
- func (c *ChannelEdit) IsNSFW() *ChannelEdit
- func (c *ChannelEdit) IsNotNSFW() *ChannelEdit
- func (c *ChannelEdit) SetBitrate(bitrate int) *ChannelEdit
- func (c *ChannelEdit) SetName(name string) *ChannelEdit
- func (c *ChannelEdit) SetParentID(ID string) *ChannelEdit
- func (c *ChannelEdit) SetPosition(pos int) *ChannelEdit
- func (c *ChannelEdit) SetRateLimitPerUser(limit int) *ChannelEdit
- func (c *ChannelEdit) SetTopic(topic string) *ChannelEdit
- type ChannelPinsUpdate
- type ChannelType
- type ChannelUpdate
- type Color
- type Connect
- type Disconnect
- type Emoji
- func (e *Emoji) APIName() string
- func (e Emoji) CreatedAt() (creation time.Time, err error)
- func (e *Emoji) Delete() error
- func (e *Emoji) EditName(name string) (edited *Emoji, err error)
- func (e Emoji) GetID() string
- func (e *Emoji) IsCustom() bool
- func (e *Emoji) IsEqual(other *Emoji) bool
- func (e *Emoji) LimitRoles(roles []*Role) (edited *Emoji, err error)
- func (e *Emoji) MessageFormat() string
- func (e *Emoji) RoleObjects() (roles []*Role)
- func (e Emoji) String() string
- type Event
- type EventHandler
- type EventInterfaceProvider
- type ExplicitContentFilterLevel
- type File
- type Game
- type GameType
- type GatewayBotResponse
- type Guild
- func (g *Guild) AuditLogs(userID, beforeID string, actionType, limit int) (log *GuildAuditLog, err error)
- func (g *Guild) Ban(user *User, reason string, days int) error
- func (g *Guild) BitrateLimit() int
- func (g *Guild) CreateChannel(name string, channelType ChannelType) (channel *Channel, err error)
- func (g *Guild) CreateRole() (role *Role, err error)
- func (g Guild) CreatedAt() (creation time.Time, err error)
- func (g *Guild) DeleteInvite(inviteID string) (*Invite, error)
- func (g *Guild) EmojiLimit() int
- func (g *Guild) FetchMembers(max int, after string) (err error)
- func (g *Guild) FileSizeLimit() int
- func (g *Guild) GetBan(user *User) (ban *GuildBan, err error)
- func (g *Guild) GetBans() (bans []*GuildBan, err error)
- func (g *Guild) GetChannel(channelID string) (channel *Channel, err error)
- func (g *Guild) GetChannelNamed(name string) (channel *Channel, err error)
- func (g *Guild) GetDefaultRole() *Role
- func (g Guild) GetID() string
- func (g *Guild) GetInvites() (invites []*Invite, err error)
- func (g *Guild) GetMember(userID string) (member *Member, err error)
- func (g *Guild) GetRole(roleID string) (role *Role, err error)
- func (g *Guild) GetRoleNamed(name string) (role *Role, err error)
- func (g *Guild) Kick(user *User, reason string) error
- func (g *Guild) Me() (member *Member, err error)
- func (g Guild) String() string
- func (g *Guild) UnBan(user *User) error
- type GuildAuditLog
- type GuildBan
- type GuildBanAdd
- type GuildBanRemove
- type GuildChannelCreateData
- type GuildCreate
- type GuildDelete
- type GuildEmbed
- type GuildEmojisUpdate
- type GuildIntegrationsUpdate
- type GuildLimit
- type GuildMemberAdd
- type GuildMemberRemove
- type GuildMemberUpdate
- type GuildMembersChunk
- type GuildParams
- type GuildRole
- type GuildRoleCreate
- type GuildRoleDelete
- type GuildRoleUpdate
- type GuildUpdate
- type HistoryIterator
- func (h *HistoryIterator) Iter() <-chan *Message
- func (h *HistoryIterator) Reset() *HistoryIterator
- func (h *HistoryIterator) Reverse() *HistoryIterator
- func (h *HistoryIterator) SetAfter(afterID string) *HistoryIterator
- func (h *HistoryIterator) SetAround(aroundID string) *HistoryIterator
- func (h *HistoryIterator) SetBefore(beforeID string) *HistoryIterator
- func (h *HistoryIterator) SetLimit(limit int) *HistoryIterator
- type ICEServer
- type IDGettable
- type IDWrapper
- type Integration
- type IntegrationAccount
- type Invite
- type Member
- func (m *Member) AddRole(role *Role, reason string) (err error)
- func (m *Member) AddRoles(roles []*Role, reason string) (err error)
- func (m *Member) AvatarURL(size string) string
- func (m *Member) Ban(reason string, days int) (err error)
- func (m Member) CreatedAt() (creation time.Time, err error)
- func (m *Member) DisconnectFromVoice(reason string) (err error)
- func (m *Member) EditNickname(nick string) (err error)
- func (m *Member) EditRoles(roles Roles, reason string) (err error)
- func (m *Member) GetColor() (color Color, err error)
- func (m *Member) GetDisplayName() string
- func (m *Member) GetGuild() (g *Guild, err error)
- func (m Member) GetID() string
- func (m *Member) GetRoles() (roles []*Role, err error)
- func (m *Member) GetTopRole() (role *Role, err error)
- func (m *Member) IsMentionedIn(message *Message) bool
- func (m *Member) IsOwner() bool
- func (m *Member) Kick(reason string) (err error)
- func (m Member) Mention() string
- func (m *Member) MoveTo(channel *Channel, reason string) (err error)
- func (m *Member) RemoveRole(role *Role, reason string) (err error)
- func (m *Member) RemoveRoles(roles []*Role, reason string) (err error)
- func (m Member) String() string
- type Mentionable
- type Message
- func (m *Message) AddReaction(emoji *Emoji) (err error)
- func (m *Message) Channel() *Channel
- func (m *Message) ContentWithMentionsReplaced() (content string)
- func (m *Message) ContentWithMoreMentionsReplaced() (content string, err error)
- func (m Message) CreatedAt() (creation time.Time, err error)
- func (m *Message) Delete() (err error)
- func (m *Message) Edit(data *MessageEdit) (edited *Message, err error)
- func (m *Message) EmbedSuppressed() bool
- func (m Message) GetID() string
- func (m *Message) Guild() *Guild
- func (m *Message) HasBeenCrossposted() bool
- func (m *Message) IsCrosspost() bool
- func (m *Message) JumpURL() string
- func (m *Message) NewMessageEdit() *MessageEdit
- func (m *Message) Pin() (err error)
- func (m *Message) RemoveAllReactions() (err error)
- func (m *Message) RemoveReaction(emoji *Emoji, user IDGettable) (err error)
- func (m *Message) UnPin() (err error)
- type MessageAck
- type MessageAttachment
- type MessageCreate
- type MessageDelete
- type MessageDeleteBulk
- type MessageEdit
- type MessageEmbed
- func (e *MessageEmbed) AddField(name, value string, inline bool) *MessageEmbed
- func (e *MessageEmbed) ClearFields() *MessageEmbed
- func (e *MessageEmbed) RemoveField(position int) *MessageEmbed
- func (e *MessageEmbed) SetAuthor(name, url, iconURL string) *MessageEmbed
- func (e *MessageEmbed) SetAuthorName(name string) *MessageEmbed
- func (e *MessageEmbed) SetColor(c Color) *MessageEmbed
- func (e *MessageEmbed) SetDescription(desc string) *MessageEmbed
- func (e *MessageEmbed) SetFieldAt(name, value string, inline bool, position int) *MessageEmbed
- func (e *MessageEmbed) SetFooter(text, url string) *MessageEmbed
- func (e *MessageEmbed) SetFooterText(text string) *MessageEmbed
- func (e *MessageEmbed) SetImage(url string) *MessageEmbed
- func (e *MessageEmbed) SetThumbnail(url string) *MessageEmbed
- func (e *MessageEmbed) SetTimestamp(timeStamp time.Time) *MessageEmbed
- func (e *MessageEmbed) SetTimestampNow() *MessageEmbed
- func (e *MessageEmbed) SetTitle(title string) *MessageEmbed
- type MessageEmbedAuthor
- type MessageEmbedField
- type MessageEmbedFooter
- type MessageEmbedImage
- type MessageEmbedProvider
- type MessageEmbedThumbnail
- type MessageEmbedVideo
- type MessageReaction
- func (r *MessageReaction) GetChannel() (c *Channel, err error)
- func (r *MessageReaction) GetGuild() (g *Guild, err error)
- func (r *MessageReaction) GetMember() (m *Member, err error)
- func (r *MessageReaction) GetMessage() (m *Message, err error)
- func (r *MessageReaction) GetUser() (u *User, err error)
- func (r *MessageReaction) Remove() error
- func (r MessageReaction) String() string
- type MessageReactionAdd
- type MessageReactionRemove
- type MessageReactionRemoveAll
- type MessageReactions
- type MessageSend
- type MessageType
- type MessageUpdate
- type Messageable
- type MfaLevel
- type Packet
- type PermissionOffset
- type PermissionOverwrite
- type Permissions
- func (p *Permissions) HandleOverwrite(allow, deny Permissions) Permissions
- func (p *Permissions) Has(perm PermissionOffset) bool
- func (p *Permissions) IsSubset(other *Permissions) bool
- func (p *Permissions) IsSuperset(other *Permissions) bool
- func (p *Permissions) Set(perm PermissionOffset, value bool)
- type PremiumTier
- type PremiumType
- type Presence
- type PresenceUpdate
- type PresencesReplace
- type RESTError
- type RateLimit
- type RateLimiter
- type ReadState
- type Ready
- type Resumed
- type Role
- func (r Role) CreatedAt() (creation time.Time, err error)
- func (r *Role) Delete() (err error)
- func (r *Role) Edit(name string, color Color, hoist bool, perm Permissions, mention bool) (edited *Role, err error)
- func (r *Role) EditComplex(data *RoleEdit) (edited *Role, err error)
- func (r Role) GetID() string
- func (r *Role) GetMembers() (members []*Member, err error)
- func (r *Role) HigherThan(other *Role) bool
- func (r *Role) IsDefault() bool
- func (r *Role) LowerThan(other *Role) bool
- func (r Role) Mention() string
- func (r *Role) Move(position int) (err error)
- func (r Role) String() string
- type RoleEdit
- type RoleMove
- type Roles
- type Session
- func (s *Session) AddHandler(handler interface{}) func()
- func (s *Session) AddHandlerOnce(handler interface{}) func()
- func (s *Session) Application(appID string) (st *Application, err error)
- func (s *Session) ApplicationBotCreate(appID string) (st *User, err error)
- func (s *Session) ApplicationCreate(ap *Application) (st *Application, err error)
- func (s *Session) ApplicationDelete(appID string) (err error)
- func (s *Session) ApplicationUpdate(appID string, ap *Application) (st *Application, err error)
- func (s *Session) Applications() (st []*Application, err error)
- func (s *Session) Channel(channelID string) (st *Channel, err error)
- func (s *Session) ChannelDelete(channelID string) (st *Channel, err error)
- func (s *Session) ChannelEdit(channelID, name string) (*Channel, error)
- func (s *Session) ChannelEditComplex(channelID string, data *ChannelEdit) (st *Channel, err error)
- func (s *Session) ChannelFileSend(channelID, name string, r io.Reader) (*Message, error)
- func (s *Session) ChannelFileSendWithMessage(channelID, content string, name string, r io.Reader) (*Message, error)
- func (s *Session) ChannelInviteCreate(channelID string, i Invite) (st *Invite, err error)
- func (s *Session) ChannelInvites(channelID string) (st []*Invite, err error)
- func (s *Session) ChannelMessage(channelID, messageID string) (st *Message, err error)
- func (s *Session) ChannelMessageAck(channelID, messageID, lastToken string) (st *Ack, err error)
- func (s *Session) ChannelMessageDelete(channelID, messageID string) (err error)
- func (s *Session) ChannelMessageEdit(channelID, messageID, content string) (*Message, error)
- func (s *Session) ChannelMessageEditComplex(m *MessageEdit) (st *Message, err error)
- func (s *Session) ChannelMessageEditEmbed(channelID, messageID string, embed *MessageEmbed) (*Message, error)
- func (s *Session) ChannelMessagePin(channelID, messageID string) (err error)
- func (s *Session) ChannelMessageSend(channelID string, content string) (*Message, error)
- func (s *Session) ChannelMessageSendComplex(channelID string, data *MessageSend) (st *Message, err error)
- func (s *Session) ChannelMessageSendEmbed(channelID string, embed *MessageEmbed) (*Message, error)
- func (s *Session) ChannelMessageSendTTS(channelID string, content string) (*Message, error)
- func (s *Session) ChannelMessageUnpin(channelID, messageID string) (err error)
- func (s *Session) ChannelMessages(channelID string, limit int, beforeID, afterID, aroundID string) (st []*Message, err error)
- func (s *Session) ChannelMessagesBulkDelete(channelID string, messages []string) (err error)
- func (s *Session) ChannelMessagesPinned(channelID string) (st []*Message, err error)
- func (s *Session) ChannelPermissionDelete(channelID, targetID string) (err error)
- func (s *Session) ChannelPermissionSet(channelID, targetID, targetType string, allow, deny Permissions) (err error)
- func (s *Session) ChannelTyping(channelID string) (err error)
- func (s *Session) ChannelVoiceJoin(gID, cID string, mute, deaf bool) (voice *VoiceConnection, err error)
- func (s *Session) ChannelVoiceJoinManual(gID, cID string, mute, deaf bool) (err error)
- func (s *Session) ChannelWebhooks(channelID string) (st []*Webhook, err error)
- func (s *Session) Close() (err error)
- func (s *Session) FetchChannel(channelID string) (st *Channel, err error)
- func (s *Session) FetchGuildMember(guildID, userID string) (st *Member, err error)
- func (s *Session) FetchUser(userID string) (st *User, err error)
- func (s *Session) Gateway() (gateway string, err error)
- func (s *Session) GatewayBot() (st *GatewayBotResponse, err error)
- func (s *Session) Guild(guildID string) (st *Guild, err error)
- func (s *Session) GuildAuditLog(guildID, userID, beforeID string, actionType, limit int) (st *GuildAuditLog, err error)
- func (s *Session) GuildBan(guildID string, userID string) (st *GuildBan, err error)
- func (s *Session) GuildBanCreate(guildID, userID string, days int) (err error)
- func (s *Session) GuildBanCreateWithReason(guildID, userID, reason string, days int) (err error)
- func (s *Session) GuildBanDelete(guildID, userID string) (err error)
- func (s *Session) GuildBans(guildID string) (st []*GuildBan, err error)
- func (s *Session) GuildChannelCreate(guildID, name string, ctype ChannelType) (st *Channel, err error)
- func (s *Session) GuildChannelCreateComplex(guildID string, data GuildChannelCreateData) (st *Channel, err error)
- func (s *Session) GuildChannels(guildID string) (st []*Channel, err error)
- func (s *Session) GuildChannelsReorder(guildID string, channels []*Channel) (err error)
- func (s *Session) GuildCreate(name string) (st *Guild, err error)
- func (s *Session) GuildEdit(guildID string, g GuildParams) (st *Guild, err error)
- func (s *Session) GuildEmbed(guildID string) (st *GuildEmbed, err error)
- func (s *Session) GuildEmbedEdit(guildID string, enabled bool, channelID string) (err error)
- func (s *Session) GuildEmojiCreate(guildID, name, image string, roles []string) (emoji *Emoji, err error)
- func (s *Session) GuildEmojiDelete(guildID, emojiID string) (err error)
- func (s *Session) GuildEmojiEdit(guildID, emojiID, name string, roles []string) (emoji *Emoji, err error)
- func (s *Session) GuildIcon(guildID string) (img image.Image, err error)
- func (s *Session) GuildIntegrationCreate(guildID, integrationType, integrationID string) (err error)
- func (s *Session) GuildIntegrationDelete(guildID, integrationID string) (err error)
- func (s *Session) GuildIntegrationEdit(guildID, integrationID string, expireBehavior, expireGracePeriod int, ...) (err error)
- func (s *Session) GuildIntegrationSync(guildID, integrationID string) (err error)
- func (s *Session) GuildIntegrations(guildID string) (st []*Integration, err error)
- func (s *Session) GuildInvites(guildID string) (st []*Invite, err error)
- func (s *Session) GuildLeave(guildID string) (err error)
- func (s *Session) GuildMember(guildID, userID string) (st *Member, err error)
- func (s *Session) GuildMemberAdd(accessToken, guildID, userID, nick string, roles []string, mute, deaf bool) (err error)
- func (s *Session) GuildMemberDelete(guildID, userID string) (err error)
- func (s *Session) GuildMemberDeleteWithReason(guildID, userID, reason string) (err error)
- func (s *Session) GuildMemberEdit(guildID, userID, reason string, roles []string) (err error)
- func (s *Session) GuildMemberMove(guildID, userID, channelID, reason string) (err error)
- func (s *Session) GuildMemberNickname(guildID, userID, nickname string) (err error)
- func (s *Session) GuildMemberRoleAdd(guildID, userID, roleID, reason string) (err error)
- func (s *Session) GuildMemberRoleRemove(guildID, userID, roleID, reason string) (err error)
- func (s *Session) GuildMemberVoiceDisconnect(guildID, userID, reason string) (err error)
- func (s *Session) GuildMembers(guildID string, after string, limit int) (st []*Member, err error)
- func (s *Session) GuildPrune(guildID string, days uint32) (count uint32, err error)
- func (s *Session) GuildPruneCount(guildID string, days uint32) (count uint32, err error)
- func (s *Session) GuildRoleCreate(guildID string) (st *Role, err error)
- func (s *Session) GuildRoleDelete(guildID, roleID string) (err error)
- func (s *Session) GuildRoleEdit(guildID, roleID, name string, color Color, hoist bool, perm Permissions, ...) (st *Role, err error)
- func (s *Session) GuildRoleEditComplex(guildID, roleID string, data *RoleEdit) (st *Role, err error)
- func (s *Session) GuildRoleReorder(guildID string, roles []*RoleMove) (st []*Role, err error)
- func (s *Session) GuildRoles(guildID string) (st []*Role, err error)
- func (s *Session) GuildSplash(guildID string) (img image.Image, err error)
- func (s *Session) GuildWebhooks(guildID string) (st []*Webhook, err error)
- func (s *Session) HeartbeatLatency() time.Duration
- func (s *Session) Invite(inviteID string) (st *Invite, err error)
- func (s *Session) InviteAccept(inviteID string) (st *Invite, err error)
- func (s *Session) InviteDelete(inviteID string) (st *Invite, err error)
- func (s *Session) InviteWithCounts(inviteID string) (st *Invite, err error)
- func (s *Session) MessageReactionAdd(channelID, messageID, emojiID string) error
- func (s *Session) MessageReactionRemove(channelID, messageID, emojiID, userID string) error
- func (s *Session) MessageReactions(channelID, messageID, emojiID string, limit int) (st []*User, err error)
- func (s *Session) MessageReactionsRemoveAll(channelID, messageID string) error
- func (s *Session) Open() error
- func (s *Session) Request(method, urlStr string, data interface{}) (response []byte, err error)
- func (s *Session) RequestGuildMembers(guildID, query string, limit int) (err error)
- func (s *Session) RequestWithBucketID(method, urlStr string, data interface{}, bucketID string) (response []byte, err error)
- func (s *Session) RequestWithLockedBucket(method, urlStr, contentType string, b []byte, bucket *Bucket, sequence int) (response []byte, err error)
- func (s *Session) UpdateListeningStatus(game string) (err error)
- func (s *Session) UpdateStatus(idle int, game string) (err error)
- func (s *Session) UpdateStatusComplex(usd UpdateStatusData) (err error)
- func (s *Session) UpdateStreamingStatus(idle int, game string, url string) (err error)
- func (s *Session) User(userID string) (st *User, err error)
- func (s *Session) UserAvatarDecode(u *User) (img image.Image, err error)
- func (s *Session) UserChannelCreate(recipientID string) (st *Channel, err error)
- func (s *Session) UserChannels() (st []*Channel, err error)
- func (s *Session) UserGuilds(limit int, beforeID, afterID string) (st []*UserGuild, err error)
- func (s *Session) UserUpdate(username, avatar string) (st *User, err error)
- func (s *Session) UserUpdateStatus(status Status) (err error)
- func (s *Session) VoiceICE() (st *VoiceICE, err error)
- func (s *Session) VoiceRegions() (st []*VoiceRegion, err error)
- func (s *Session) Webhook(webhookID string) (st *Webhook, err error)
- func (s *Session) WebhookCreate(channelID, name, avatar string) (st *Webhook, err error)
- func (s *Session) WebhookDelete(webhookID string) (err error)
- func (s *Session) WebhookDeleteWithToken(webhookID, token string) (err error)
- func (s *Session) WebhookEdit(webhookID, name, avatar, channelID string) (st *Webhook, err error)
- func (s *Session) WebhookEditWithToken(webhookID, token, name, avatar string) (st *Webhook, err error)
- func (s *Session) WebhookExecute(webhookID, token string, wait bool, data *WebhookParams) (err error)
- func (s *Session) WebhookWithToken(webhookID, token string) (st *Webhook, err error)
- type State
- func (s *State) Channel(channelID string) (*Channel, error)
- func (s *State) ChannelAdd(channel *Channel) error
- func (s *State) ChannelRemove(channel *Channel) error
- func (s *State) Emoji(guildID, emojiID string) (*Emoji, error)
- func (s *State) EmojiAdd(guildID string, emoji *Emoji) error
- func (s *State) EmojisAdd(guildID string, emojis []*Emoji) error
- func (s *State) GetUser(userID string) (*User, error)
- func (s *State) Guild(guildID string) (*Guild, error)
- func (s *State) GuildAdd(guild *Guild, se *Session) error
- func (s *State) GuildChannel(guildID, channelID string) (*Channel, error)
- func (s *State) GuildRemove(guild *Guild) error
- func (s *State) Member(guildID, userID string) (*Member, error)
- func (s *State) MemberAdd(member *Member, se *Session) error
- func (s *State) MemberRemove(member *Member) error
- func (s *State) Message(channelID, messageID string) (*Message, error)
- func (s *State) MessageAdd(message *Message, se *Session) error
- func (s *State) MessageRemove(message *Message) error
- func (s *State) OnInterface(se *Session, i interface{}) (err error)
- func (s *State) Presence(guildID, userID string) (*Presence, error)
- func (s *State) PresenceAdd(guildID string, presence *Presence) error
- func (s *State) PresenceRemove(guildID string, presence *Presence) error
- func (s *State) PrivateChannel(channelID string) (*Channel, error)
- func (s *State) Role(guildID, roleID string) (*Role, error)
- func (s *State) RoleAdd(guildID string, role *Role) error
- func (s *State) RoleRemove(guildID, roleID string) error
- func (s *State) UserColor(userID, channelID string) Color
- type Status
- type TimeSortable
- type TimeSorter
- type TimeStamps
- type Timestamp
- type TooManyRequests
- type TypingStart
- type UpdateStatusData
- type User
- func (u *User) AvatarURL(size string) string
- func (u *User) CreateDM() (err error)
- func (u User) CreatedAt() (creation time.Time, err error)
- func (u User) EditMessage(data *MessageEdit) (edited *Message, err error)
- func (u User) FetchMessage(id string) (message *Message, err error)
- func (u User) GetHistory(limit int, beforeID, afterID, aroundID string) (st []*Message, err error)
- func (u User) GetHistoryIterator() *HistoryIterator
- func (u User) GetID() string
- func (u *User) IsAvatarAnimated() bool
- func (u *User) IsBugHunter() bool
- func (u *User) IsDiscordEmployee() bool
- func (u *User) IsDiscordPartner() bool
- func (u *User) IsEarlySupporter() bool
- func (u *User) IsHouseBalance() bool
- func (u *User) IsHouseBravery() bool
- func (u *User) IsHouseBrilliance() bool
- func (u *User) IsHypeSquadEvents() bool
- func (u *User) IsMentionedIn(message *Message) bool
- func (u *User) IsTeamUser() bool
- func (u User) Mention() string
- func (u User) SendMessage(content string, embed *MessageEmbed, files []*File) (message *Message, err error)
- func (u User) SendMessageComplex(data *MessageSend) (message *Message, err error)
- func (u User) String() string
- type UserGuild
- type UserNoteUpdate
- type UserUpdate
- type VerificationLevel
- type VoiceConnection
- type VoiceICE
- type VoiceRegion
- type VoiceServerUpdate
- type VoiceSpeakingUpdate
- type VoiceSpeakingUpdateHandler
- type VoiceState
- type VoiceStateUpdate
- type Webhook
- type WebhookParams
- type WebhooksUpdate
Constants ¶
const ( AuditLogActionGuildUpdate = 1 AuditLogActionChannelCreate = 10 AuditLogActionChannelUpdate = 11 AuditLogActionChannelDelete = 12 AuditLogActionChannelOverwriteCreate = 13 AuditLogActionChannelOverwriteUpdate = 14 AuditLogActionChannelOverwriteDelete = 15 AuditLogActionMemberKick = 20 AuditLogActionMemberPrune = 21 AuditLogActionMemberBanAdd = 22 AuditLogActionMemberBanRemove = 23 AuditLogActionMemberUpdate = 24 AuditLogActionMemberRoleUpdate = 25 AuditLogActionRoleCreate = 30 AuditLogActionRoleUpdate = 31 AuditLogActionRoleDelete = 32 AuditLogActionInviteCreate = 40 AuditLogActionInviteUpdate = 41 AuditLogActionInviteDelete = 42 AuditLogActionWebhookCreate = 50 AuditLogActionWebhookUpdate = 51 AuditLogActionWebhookDelete = 52 AuditLogActionEmojiCreate = 60 AuditLogActionEmojiUpdate = 61 AuditLogActionEmojiDelete = 62 AuditLogActionMessageDelete = 72 )
Block contains Discord Audit Log Action Types
const ( ColorGreen = Color(0x2ecc71) ColorBlue = Color(0x3498db) ColorPurple = Color(0x9b59b6) ColorGold = Color(0xf1c40f) ColorRed = Color(0xe74c3c) ColorOrange = Color(0xe67e22) ColorMagenta = Color(0xe91e63) ColorTeal = Color(0x1abc9c) ColorLightGrey = Color(0x979c9f) ColorDarkGrey = Color(0x607d8b) ColorBlurple = Color(0x7289da) ColorGreyple = Color(0x99aab5) )
These Colors are constants to be used for easily using base colors
const ( // LogError level is used for critical errors that could lead to data loss // or panic that would not be returned to a calling function. LogError int = iota // LogWarning level is used for very abnormal events and errors that are // also returned to a calling function. LogWarning // LogInformational level is used for normal non-error activity LogInformational // LogDebug level is for very detailed non-error activity. This is // very spammy and will impact performance. LogDebug )
const ( PermissionReadMessages = PermissionOffset(1 << (iota + 10)) PermissionSendMessages PermissionSendTTSMessages PermissionManageMessages PermissionEmbedLinks PermissionAttachFiles PermissionReadMessageHistory PermissionMentionEveryone PermissionUseExternalEmojis )
Constants for the different bit offsets of text channel permissions
const ( PermissionVoiceConnect = PermissionOffset(1 << (iota + 20)) PermissionVoiceSpeak PermissionVoiceMuteMembers PermissionVoiceDeafenMembers PermissionVoiceMoveMembers PermissionVoiceUseVAD )
Constants for the different bit offsets of voice permissions
const ( PermissionChangeNickname = PermissionOffset(1 << (iota + 26)) PermissionManageNicknames PermissionManageRoles PermissionManageWebhooks PermissionManageEmojis )
Constants for general management.
const ( PermissionCreateInstantInvite = PermissionOffset(1 << iota) PermissionKickMembers PermissionBanMembers PermissionAdministrator PermissionManageChannels PermissionManageServer PermissionAddReactions PermissionViewAuditLogs )
Constants for the different bit offsets of general permissions
const ( ErrCodeUnknownAccount = 10001 ErrCodeUnknownApplication = 10002 ErrCodeUnknownChannel = 10003 ErrCodeUnknownGuild = 10004 ErrCodeUnknownIntegration = 10005 ErrCodeUnknownInvite = 10006 ErrCodeUnknownMember = 10007 ErrCodeUnknownMessage = 10008 ErrCodeUnknownOverwrite = 10009 ErrCodeUnknownProvider = 10010 ErrCodeUnknownRole = 10011 ErrCodeUnknownToken = 10012 ErrCodeUnknownUser = 10013 ErrCodeUnknownEmoji = 10014 ErrCodeUnknownWebhook = 10015 ErrCodeBotsCannotUseEndpoint = 20001 ErrCodeOnlyBotsCanUseEndpoint = 20002 ErrCodeMaximumGuildsReached = 30001 ErrCodeMaximumFriendsReached = 30002 ErrCodeMaximumPinsReached = 30003 ErrCodeMaximumGuildRolesReached = 30005 ErrCodeTooManyReactions = 30010 ErrCodeMissingAccess = 50001 ErrCodeInvalidAccountType = 50002 ErrCodeCannotExecuteActionOnDMChannel = 50003 ErrCodeEmbedCisabled = 50004 ErrCodeCannotEditFromAnotherUser = 50005 ErrCodeCannotSendEmptyMessage = 50006 ErrCodeCannotSendMessagesToThisUser = 50007 ErrCodeCannotSendMessagesInVoiceChannel = 50008 ErrCodeChannelVerificationLevelTooHigh = 50009 ErrCodeOAuth2ApplicationDoesNotHaveBot = 50010 ErrCodeOAuth2ApplicationLimitReached = 50011 ErrCodeInvalidOAuthState = 50012 ErrCodeMissingPermissions = 50013 ErrCodeInvalidAuthenticationToken = 50014 ErrCodeNoteTooLong = 50015 ErrCodeTooFewOrTooManyMessagesToDelete = 50016 ErrCodeCanOnlyPinMessageToOriginatingChannel = 50019 ErrCodeCannotExecuteActionOnSystemMessage = 50021 ErrCodeMessageProvidedTooOldForBulkDelete = 50034 ErrCodeInvalidFormBody = 50035 ErrCodeInviteAcceptedToGuildApplicationsBotNotIn = 50036 ErrCodeReactionBlocked = 90001 )
Block contains Discord JSON Error Response codes
const FailedHeartbeatAcks time.Duration = 5 * time.Millisecond
FailedHeartbeatAcks is the Number of heartbeat intervals to wait until forcing a connection restart.
const VERSION = "0.19.0"
VERSION of DiscordGo, follows Semantic Versioning. (http://semver.org/)
Variables ¶
var ( // ErrNotACustomEmoji gets thrown when a method gets called on an unicode emoji // that can only be called on custom emojis ErrNotACustomEmoji = errors.New("you can't do this to a custom emoji") // ErrUnknownEmojiGuild gets thrown when the method requires the emoji to be from // a guild that is cached, but it isn't ErrUnknownEmojiGuild = errors.New("the guild that this emoji comes from is not in the cache") )
var ( EndpointStatus = "https://status.discordapp.com/api/v2/" EndpointSm = EndpointStatus + "scheduled-maintenances/" EndpointSmActive = EndpointSm + "active.json" EndpointSmUpcoming = EndpointSm + "upcoming.json" EndpointDiscord = "https://discordapp.com/" EndpointAPI = EndpointDiscord + "api/v" + APIVersion + "/" EndpointGuilds = EndpointAPI + "guilds/" EndpointChannels = EndpointAPI + "channels/" EndpointUsers = EndpointAPI + "users/" EndpointGateway = EndpointAPI + "gateway" EndpointGatewayBot = EndpointGateway + "/bot" EndpointWebhooks = EndpointAPI + "webhooks/" EndpointCDN = "https://cdn.discordapp.com/" EndpointCDNAttachments = EndpointCDN + "attachments/" EndpointCDNAvatars = EndpointCDN + "avatars/" EndpointCDNIcons = EndpointCDN + "icons/" EndpointCDNSplashes = EndpointCDN + "splashes/" EndpointCDNChannelIcons = EndpointCDN + "channel-icons/" EndpointAuth = EndpointAPI + "auth/" EndpointLogin = EndpointAuth + "login" EndpointLogout = EndpointAuth + "logout" EndpointVerify = EndpointAuth + "verify" EndpointVerifyResend = EndpointAuth + "verify/resend" EndpointForgotPassword = EndpointAuth + "forgot" EndpointResetPassword = EndpointAuth + "reset" EndpointRegister = EndpointAuth + "register" EndpointVoice = EndpointAPI + "/voice/" EndpointVoiceRegions = EndpointVoice + "regions" EndpointVoiceIce = EndpointVoice + "ice" EndpointTutorial = EndpointAPI + "tutorial/" EndpointTutorialIndicators = EndpointTutorial + "indicators" EndpointTrack = EndpointAPI + "track" EndpointSso = EndpointAPI + "sso" EndpointReport = EndpointAPI + "report" EndpointIntegrations = EndpointAPI + "integrations" EndpointUser = func(uID string) string { return EndpointUsers + uID } EndpointUserAvatar = func(uID, aID string) string { return EndpointCDNAvatars + uID + "/" + aID + ".png" } EndpointUserAvatarAnimated = func(uID, aID string) string { return EndpointCDNAvatars + uID + "/" + aID + ".gif" } EndpointDefaultUserAvatar = func(uDiscriminator string) string { uDiscriminatorInt, _ := strconv.Atoi(uDiscriminator) return EndpointCDN + "embed/avatars/" + strconv.Itoa(uDiscriminatorInt%5) + ".png" } EndpointUserSettings = func(uID string) string { return EndpointUsers + uID + "/settings" } EndpointUserGuilds = func(uID string) string { return EndpointUsers + uID + "/guilds" } EndpointUserGuild = func(uID, gID string) string { return EndpointUsers + uID + "/guilds/" + gID } EndpointUserGuildSettings = func(uID, gID string) string { return EndpointUsers + uID + "/guilds/" + gID + "/settings" } EndpointUserChannels = func(uID string) string { return EndpointUsers + uID + "/channels" } EndpointUserDevices = func(uID string) string { return EndpointUsers + uID + "/devices" } EndpointUserConnections = func(uID string) string { return EndpointUsers + uID + "/connections" } EndpointUserNotes = func(uID string) string { return EndpointUsers + "@me/notes/" + uID } EndpointGuild = func(gID string) string { return EndpointGuilds + gID } EndpointGuildChannels = func(gID string) string { return EndpointGuilds + gID + "/channels" } EndpointGuildMembers = func(gID string) string { return EndpointGuilds + gID + "/members" } EndpointGuildMember = func(gID, uID string) string { return EndpointGuilds + gID + "/members/" + uID } EndpointGuildMemberRole = func(gID, uID, rID string) string { return EndpointGuilds + gID + "/members/" + uID + "/roles/" + rID } EndpointGuildBans = func(gID string) string { return EndpointGuilds + gID + "/bans" } EndpointGuildBan = func(gID, uID string) string { return EndpointGuilds + gID + "/bans/" + uID } EndpointGuildIntegrations = func(gID string) string { return EndpointGuilds + gID + "/integrations" } EndpointGuildIntegration = func(gID, iID string) string { return EndpointGuilds + gID + "/integrations/" + iID } EndpointGuildIntegrationSync = func(gID, iID string) string { return EndpointGuilds + gID + "/integrations/" + iID + "/sync" } EndpointGuildRoles = func(gID string) string { return EndpointGuilds + gID + "/roles" } EndpointGuildRole = func(gID, rID string) string { return EndpointGuilds + gID + "/roles/" + rID } EndpointGuildInvites = func(gID string) string { return EndpointGuilds + gID + "/invites" } EndpointGuildEmbed = func(gID string) string { return EndpointGuilds + gID + "/embed" } EndpointGuildPrune = func(gID string) string { return EndpointGuilds + gID + "/prune" } EndpointGuildIcon = func(gID, hash string) string { return EndpointCDNIcons + gID + "/" + hash + ".png" } EndpointGuildSplash = func(gID, hash string) string { return EndpointCDNSplashes + gID + "/" + hash + ".png" } EndpointGuildWebhooks = func(gID string) string { return EndpointGuilds + gID + "/webhooks" } EndpointGuildAuditLogs = func(gID string) string { return EndpointGuilds + gID + "/audit-logs" } EndpointGuildEmojis = func(gID string) string { return EndpointGuilds + gID + "/emojis" } EndpointGuildEmoji = func(gID, eID string) string { return EndpointGuilds + gID + "/emojis/" + eID } EndpointChannel = func(cID string) string { return EndpointChannels + cID } EndpointChannelPermissions = func(cID string) string { return EndpointChannels + cID + "/permissions" } EndpointChannelPermission = func(cID, tID string) string { return EndpointChannels + cID + "/permissions/" + tID } EndpointChannelInvites = func(cID string) string { return EndpointChannels + cID + "/invites" } EndpointChannelTyping = func(cID string) string { return EndpointChannels + cID + "/typing" } EndpointChannelMessages = func(cID string) string { return EndpointChannels + cID + "/messages" } EndpointChannelMessage = func(cID, mID string) string { return EndpointChannels + cID + "/messages/" + mID } EndpointChannelMessageAck = func(cID, mID string) string { return EndpointChannels + cID + "/messages/" + mID + "/ack" } EndpointChannelMessagesBulkDelete = func(cID string) string { return EndpointChannel(cID) + "/messages/bulk-delete" } EndpointChannelMessagesPins = func(cID string) string { return EndpointChannel(cID) + "/pins" } EndpointChannelMessagePin = func(cID, mID string) string { return EndpointChannel(cID) + "/pins/" + mID } EndpointGroupIcon = func(cID, hash string) string { return EndpointCDNChannelIcons + cID + "/" + hash + ".png" } EndpointChannelWebhooks = func(cID string) string { return EndpointChannel(cID) + "/webhooks" } EndpointWebhook = func(wID string) string { return EndpointWebhooks + wID } EndpointWebhookToken = func(wID, token string) string { return EndpointWebhooks + wID + "/" + token } EndpointMessageReactionsAll = func(cID, mID string) string { return EndpointChannelMessage(cID, mID) + "/reactions" } EndpointMessageReactions = func(cID, mID, eID string) string { return EndpointChannelMessage(cID, mID) + "/reactions/" + eID } EndpointMessageReaction = func(cID, mID, eID, uID string) string { return EndpointMessageReactions(cID, mID, eID) + "/" + uID } EndpointRelationships = func() string { return EndpointUsers + "@me" + "/relationships" } EndpointRelationship = func(uID string) string { return EndpointRelationships() + "/" + uID } EndpointRelationshipsMutual = func(uID string) string { return EndpointUsers + uID + "/relationships" } EndpointGuildCreate = EndpointAPI + "guilds" EndpointInvite = func(iID string) string { return EndpointAPI + "invite/" + iID } EndpointIntegrationsJoin = func(iID string) string { return EndpointAPI + "integrations/" + iID + "/join" } EndpointEmoji = func(eID string) string { return EndpointAPI + "emojis/" + eID + ".png" } EndpointEmojiAnimated = func(eID string) string { return EndpointAPI + "emojis/" + eID + ".gif" } EndpointOauth2 = EndpointAPI + "oauth2/" EndpointApplications = EndpointOauth2 + "applications" EndpointApplication = func(aID string) string { return EndpointApplications + "/" + aID } EndpointApplicationsBot = func(aID string) string { return EndpointApplications + "/" + aID + "/bot" } )
Known Discord API Endpoints.
var ( ErrJSONUnmarshal = errors.New("json unmarshal") ErrStatusOffline = errors.New("You can't set your Status to offline") ErrVerificationLevelBounds = errors.New("VerificationLevel out of bounds, should be between 0 and 3") ErrPruneDaysBounds = errors.New("the number of days should be more than or equal to 1") ErrGuildNoIcon = errors.New("guild does not have an icon set") ErrGuildNoSplash = errors.New("guild does not have a splash set") )
All error constants
var APIVersion = "6"
APIVersion is the Discord API version used for the REST and Websocket API.
var ErrMFA = errors.New("account has 2FA enabled")
ErrMFA will be risen by New when the user has 2FA.
var ErrNilState = errors.New("state not instantiated, please use discordgo.New() or assign Session.State")
ErrNilState is returned when the state is nil.
var ErrNotAGuildChannel = errors.New("not a channel in a guild")
ErrNotAGuildChannel gets thrown when a method gets called on a channel that is not inside of a Guild but does need to be for the method to work.
var ErrNotATextChannel = errors.New("not a text or dm channel")
ErrNotATextChannel gets returned when a method gets called on a channel that does not support sending messages to them.
var ErrNotAVoiceChannel = errors.New("not a voice channel")
ErrNotAVoiceChannel gets thrown when a method gets called on a channel that is not a Guild Voice channel but does need to be for the method to work.
var ErrStateNotFound = errors.New("state cache not found")
ErrStateNotFound is returned when the state cache requested is not found
var ErrWSAlreadyOpen = errors.New("web socket already opened")
ErrWSAlreadyOpen is thrown when you attempt to open a websocket that already is open.
var ErrWSNotFound = errors.New("no websocket connection exists")
ErrWSNotFound is thrown when you attempt to use a websocket that doesn't exist
var ErrWSShardBounds = errors.New("ShardID must be less than ShardCount")
ErrWSShardBounds is thrown when you try to use a shard ID that is less than the total shard count
var Logger func(msgL, caller int, format string, a ...interface{})
Logger can be used to replace the standard logging for discordgo
Functions ¶
func Contains ¶ added in v0.20.0
Contains checks if a slice of strings contains the string to search for haystack : slice of strings to search in needle : string to search for
func ContainsIDObject ¶ added in v0.20.0
func ContainsIDObject(haystack []IDGettable, needle IDGettable) (contains bool)
ContainsIDObject checks if the haystack IDGettable contains the needle IDGettable haystack : slice of IDGettables to search in needle : IDGettable to search for
Types ¶
type APIErrorMessage ¶ added in v0.15.0
An APIErrorMessage is an api error message returned from discord
type Ack ¶ added in v0.15.0
type Ack struct {
Token string `json:"token"`
}
An Ack is used to ack messages
type Application ¶ added in v0.12.0
type Application struct { ID string `json:"id,omitempty"` Name string `json:"name"` Description string `json:"description,omitempty"` Icon string `json:"icon,omitempty"` Secret string `json:"secret,omitempty"` RedirectURIs *[]string `json:"redirect_uris,omitempty"` BotRequireCodeGrant bool `json:"bot_require_code_grant,omitempty"` BotPublic bool `json:"bot_public,omitempty"` RPCApplicationState int `json:"rpc_application_state,omitempty"` Flags int `json:"flags,omitempty"` Owner *User `json:"owner"` Bot *User `json:"bot"` }
An Application struct stores values for a Discord OAuth2 Application
type Assets ¶ added in v0.18.0
type Assets struct { LargeImageID string `json:"large_image,omitempty"` SmallImageID string `json:"small_image,omitempty"` LargeText string `json:"large_text,omitempty"` SmallText string `json:"small_text,omitempty"` }
An Assets struct contains assets and labels used in the rich presence "playing .." Game
type AuditLogChanges ¶ added in v0.20.10
type AuditLogChanges struct { VerificationLevel VerificationLevel ExplicitContentFilterLevel ExplicitContentFilterLevel Allow Permissions Deny Permissions Permissions Permissions ID string Color Color Owner *User Inviter *User Channel *Channel AFKChannel *Channel WidgetChannel *Channel PermissionOverwrites []*PermissionOverwrite Splash string Icon string Avatar string RateLimitPerUser int DefaultMessageNotifications int GuildName string GuildRegion string AFKTimeout int MfaLevel MfaLevel VanityURL string PruneDeleteDays int WidgetEnabled bool Position int Topic string Bitrate int NSFW bool ApplicationID string Hoist bool Mentionable bool InviteCode string MaxUses int Uses int MaxAge int Temporary bool Deaf bool Mute bool Nickname string Type string RolesAdded []*Role RolesRemoved []*Role }
AuditLogChanges contains the data before or after the change occurred that made the audit log entry Most data will not be filled all the time and you should always be aware of what is being changed before accessing this object
type AuditLogEntry ¶ added in v0.20.9
type AuditLogEntry struct { TargetID string `json:"target_id"` RawChanges []struct { NewValue interface{} `json:"new_value"` OldValue interface{} `json:"old_value"` Key string `json:"key"` } `json:"changes,omitempty"` UserID string `json:"user_id"` ID string `json:"id"` ActionType int `json:"action_type"` Options struct { DeleteMembersDay string `json:"delete_member_days"` MembersRemoved string `json:"members_removed"` ChannelID string `json:"channel_id"` Count string `json:"count"` ID string `json:"id"` Type string `json:"type"` RoleName string `json:"role_name"` } `json:"options,omitempty"` Reason string `json:"reason"` Session *Session `json:"-"` GuildID string `json:"-"` }
AuditLogEntry describes an entry in the guild audit log
func (*AuditLogEntry) Changes ¶ added in v0.20.9
func (e *AuditLogEntry) Changes() (before, after AuditLogChanges)
Changes returns a before and after AuditLogChanges for the changes in the AuditLogEntry
func (AuditLogEntry) CreatedAt ¶ added in v0.20.10
func (e AuditLogEntry) CreatedAt() (creation time.Time, err error)
CreatedAt returns the audit log entry's creation time
func (AuditLogEntry) GetID ¶ added in v0.20.10
func (e AuditLogEntry) GetID() string
GetID returns the audit log entry's ID
type Bucket ¶ added in v0.15.0
type Bucket struct { sync.Mutex Key string Remaining int Userdata interface{} // contains filtered or unexported fields }
Bucket represents a ratelimit bucket, each bucket gets ratelimited individually (-global ratelimits)
type Channel ¶
type Channel struct { // The ID of the channel. ID string `json:"id"` // The ID of the guild to which the channel belongs, if it is in a guild. // Else, this ID is empty (e.g. DM channels). GuildID string `json:"guild_id"` // The name of the channel. Name string `json:"name"` // The topic of the channel. Topic string `json:"topic"` // The type of the channel. Type ChannelType `json:"type"` // The ID of the last message sent in the channel. This is not // guaranteed to be an ID of a valid message. LastMessageID string `json:"last_message_id"` // The timestamp of the last pinned message in the channel. // Empty if the channel has no pinned messages. LastPinTimestamp Timestamp `json:"last_pin_timestamp"` // Whether the channel is marked as NSFW. NSFW bool `json:"nsfw"` // Icon of the group DM channel. Icon string `json:"icon"` // The position of the channel, used for sorting in client. Position int `json:"position"` // The bitrate of the channel, if it is a voice channel. Bitrate int `json:"bitrate"` // The recipients of the channel. This is only populated in DM channels. Recipients []*User `json:"recipients"` // The messages in the channel. This is only present in state-cached channels, // and State.MaxMessageCount must be non-zero. Messages []*Message `json:"-"` // A list of permission overwrites present for the channel. PermissionOverwrites []*PermissionOverwrite `json:"permission_overwrites"` // The user limit of the voice channel. UserLimit int `json:"user_limit"` // amount of seconds a user has to wait before sending another message RateLimitPerUser int `json:"rate_limit_per_user"` // The ID of the parent channel, if the channel is under a category ParentID string `json:"parent_id"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` }
A Channel holds all data related to an individual Discord channel.
func (*Channel) ChangedRoles ¶ added in v0.20.9
ChangedRoles returns all roles where the default perms were overwritten.
func (*Channel) CreateInvite ¶ added in v0.20.7
CreateInvite creates an invite. TODO: make a special object to create invites with
func (*Channel) DeleteMessage ¶ added in v0.20.4
DeleteMessage deletes a message from the channel. message : message to delete
func (*Channel) DeleteMessageByID ¶ added in v0.20.4
DeleteMessageByID deletes a message with the given ID from the channel. ID : ID of the message to delete
func (*Channel) Edit ¶ added in v0.20.16
func (c *Channel) Edit(data *ChannelEdit) error
Edit edits the channel
func (Channel) EditMessage ¶ added in v0.20.0
func (c Channel) EditMessage(data *MessageEdit) (edited *Message, err error)
EditMessage edits an existing message, replacing it entirely with the given MessageEdit struct
func (Channel) FetchMessage ¶ added in v0.20.0
FetchMessage fetches a message with the given ID from the channel. ID : ID of the message to fetch
func (*Channel) FetchPins ¶ added in v0.20.4
FetchPins fetches all pinned messages in the channel from the discord api.
func (Channel) GetHistory ¶ added in v0.20.0
func (c Channel) GetHistory(limit int, beforeID, afterID, aroundID string) (st []*Message, err error)
GetHistory fetches up to limit messages from the channel. limit : The number messages that can be returned. (max 100) beforeID : If provided all messages returned will be before given ID. afterID : If provided all messages returned will be after given ID. aroundID : If provided all messages returned will be around given ID.
func (Channel) GetHistoryIterator ¶ added in v0.20.15
func (c Channel) GetHistoryIterator() *HistoryIterator
GetHistoryIterator returns a bare HistoryIterator for this channel.
func (*Channel) GetParent ¶ added in v0.20.9
GetParent returns the category that the channel belongs to, or returns an error if it doesn't.
func (*Channel) HasPins ¶ added in v0.20.4
HasPins returns a bool indicating if a channel has pinned messages.
func (*Channel) MessagesBulkDelete ¶ added in v0.20.4
MessagesBulkDelete bulk deletes the messages from the channel for the provided message objects. messages : The messages to be deleted. A slice of message objects. A maximum of 100 messages.
func (*Channel) MessagesBulkDeleteByID ¶ added in v0.20.4
MessagesBulkDeleteByID bulk deletes the messages from the channel for the provided messageIDs. If only one messageID is in the slice call channelMessageDelete function. If the slice is empty do nothing. messages : The IDs of the messages to be deleted. A slice of string IDs. A maximum of 100 messages.
func (*Channel) NewEdit ¶ added in v0.20.16
func (c *Channel) NewEdit() *ChannelEdit
NewEdit creates a new ChannelEdit to chain an edit with
func (*Channel) OverwritesFor ¶ added in v0.20.9
func (c *Channel) OverwritesFor(target IDGettable) (overwrite *PermissionOverwrite, err error)
OverwritesFor returns the overwrites for the given user or role in the channel.
func (*Channel) PermissionsFor ¶ added in v0.20.7
func (c *Channel) PermissionsFor(m *Member) (perms Permissions, err error)
PermissionsFor calculates the permissions that the member has in the channel, taking into account the following cases: - Guild owner - Guild roles - Channel overrides - Member overrides
func (*Channel) PermissionsSynced ¶ added in v0.20.9
PermissionsSynced returns true if the channel permissions are synced with their category.
func (Channel) SendMessage ¶ added in v0.20.0
func (c Channel) SendMessage(content string, embed *MessageEmbed, files []*File) (message *Message, err error)
SendMessage sends a message to the channel. content : message content to send if provided embed : embed to attach to the message if provided files : files to attach to the message if provided
func (Channel) SendMessageComplex ¶ added in v0.20.0
func (c Channel) SendMessageComplex(data *MessageSend) (message *Message, err error)
SendMessageComplex sends a message to the channel. data : MessageSend object with the data to send
func (*Channel) SetPermissions ¶ added in v0.20.7
func (c *Channel) SetPermissions(target IDGettable, overwrite *PermissionOverwrite) (err error)
SetPermissions sets or deletes a permission overwrite on the channel.
type ChannelCreate ¶ added in v0.11.0
type ChannelCreate struct {
*Channel
}
ChannelCreate is the data for a ChannelCreate event.
type ChannelDelete ¶ added in v0.11.0
type ChannelDelete struct {
*Channel
}
ChannelDelete is the data for a ChannelDelete event.
type ChannelEdit ¶ added in v0.18.0
type ChannelEdit struct { Name string `json:"name,omitempty"` Topic string `json:"topic"` NSFW bool `json:"nsfw"` Position int `json:"position"` Bitrate int `json:"bitrate,omitempty"` UserLimit int `json:"user_limit"` PermissionOverwrites []*PermissionOverwrite `json:"permission_overwrites,omitempty"` ParentID string `json:"parent_id"` RateLimitPerUser int `json:"rate_limit_per_user"` }
A ChannelEdit holds Channel Field data for a channel edit.
func (*ChannelEdit) IsNSFW ¶ added in v0.20.16
func (c *ChannelEdit) IsNSFW() *ChannelEdit
IsNSFW can be used to set the channel to being NSFW in a chain
func (*ChannelEdit) IsNotNSFW ¶ added in v0.20.16
func (c *ChannelEdit) IsNotNSFW() *ChannelEdit
IsNotNSFW can be used to set the channel to not be NSFW in a chain
func (*ChannelEdit) SetBitrate ¶ added in v0.20.16
func (c *ChannelEdit) SetBitrate(bitrate int) *ChannelEdit
SetBitrate can be used to set the channel Bitrate in a chain
func (*ChannelEdit) SetName ¶ added in v0.20.16
func (c *ChannelEdit) SetName(name string) *ChannelEdit
SetName can be used to set the channel name in a chain
func (*ChannelEdit) SetParentID ¶ added in v0.20.16
func (c *ChannelEdit) SetParentID(ID string) *ChannelEdit
SetParentID can be used to set the ID of the parent channel in a chain
func (*ChannelEdit) SetPosition ¶ added in v0.20.16
func (c *ChannelEdit) SetPosition(pos int) *ChannelEdit
SetPosition can be used to set the channel position in a chain
func (*ChannelEdit) SetRateLimitPerUser ¶ added in v0.20.16
func (c *ChannelEdit) SetRateLimitPerUser(limit int) *ChannelEdit
SetRateLimitPerUser can be used to set the slowdown in the channel in a chain
func (*ChannelEdit) SetTopic ¶ added in v0.20.16
func (c *ChannelEdit) SetTopic(topic string) *ChannelEdit
SetTopic can be used to set the channel topic in a chain
type ChannelPinsUpdate ¶ added in v0.15.0
type ChannelPinsUpdate struct { LastPinTimestamp string `json:"last_pin_timestamp"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id,omitempty"` }
ChannelPinsUpdate stores data for a ChannelPinsUpdate event.
type ChannelType ¶ added in v0.17.0
type ChannelType int
ChannelType is the type of a Channel.
const ( ChannelTypeGuildText ChannelType = iota ChannelTypeDM ChannelTypeGuildVoice ChannelTypeGroupDM ChannelTypeGuildCategory ChannelTypeGuildNews ChannelTypeGuildStore )
Block contains known ChannelType values.
type ChannelUpdate ¶ added in v0.11.0
type ChannelUpdate struct {
*Channel
}
ChannelUpdate is the data for a ChannelUpdate event.
type Color ¶ added in v0.20.9
type Color int
Color is a type around the int value of a discord color
func DefaultColor ¶ added in v0.20.9
func DefaultColor() Color
DefaultColor returns the Color object with a value of 0, the default color of discord roles
func (*Color) SetHex ¶ added in v0.20.9
SetHex sets the value of the color to the given hexcode string hex : the string containing the hex code of the color
type Connect ¶ added in v0.11.0
type Connect struct{}
Connect is the data for a Connect event. This is a synthetic event and is not dispatched by Discord.
type Disconnect ¶ added in v0.11.0
type Disconnect struct{}
Disconnect is the data for a Disconnect event. This is a synthetic event and is not dispatched by Discord.
type Emoji ¶ added in v0.8.0
type Emoji struct { // The ID of the emoji, this is empty if the emoji is not custom ID string `json:"id"` // The name of the emoji, this is the unicode character of the emoji if it's not custom Name string `json:"name"` // A list of roles that is allowed to use this emoji, if it is empty, the emoji is unrestricted. Roles []string `json:"roles"` // if the emoji is managed by an external service Managed bool `json:"managed"` // If colons are required to use this emoji in the client RequireColons bool `json:"require_colons"` // If the emoji is animated Animated bool `json:"animated"` // The user that created the emoji, his can only be retrieved when fetching the emoji User *User `json:"user,omitempty"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` // the guild this emoji belongs to Guild *Guild `json:"-"` }
Emoji struct holds data related to Emoji's
func (*Emoji) APIName ¶ added in v0.15.0
APIName returns an correctly formatted API name for use in the MessageReactions endpoints.
func (Emoji) CreatedAt ¶ added in v0.20.6
CreatedAt returns the emoji's creation time in UTC, will return an error if the emoji is not custom
func (*Emoji) EditName ¶ added in v0.20.4
EditName edits the name of the custom emoji name : the new name for the custom emoji
func (Emoji) GetID ¶ added in v0.20.6
GetID returns the emoji's ID, this will be an empty string if the emoji is not custom
func (*Emoji) IsEqual ¶ added in v0.20.6
IsEqual returns true if the other emoji has the same ID if they are both custom and else true if they have the same name
func (*Emoji) LimitRoles ¶ added in v0.20.4
LimitRoles limits the use of the emoji to the roles given here, leave empty to make the emoji unrestricted roles : the list of roles to make the emoji exclusive to
func (*Emoji) MessageFormat ¶ added in v0.20.0
MessageFormat returns a correctly formatted Emoji for use in Message content and embeds
func (*Emoji) RoleObjects ¶ added in v0.20.4
RoleObjects returns a slice of role objects, formed from the slice of strings that is the Roles attribute of Emoji
type Event ¶
type Event struct { Operation int `json:"op"` Sequence int64 `json:"s"` Type string `json:"t"` RawData json.RawMessage `json:"d"` // Struct contains one of the other types in this file. Struct interface{} `json:"-"` }
Event provides a basic initial struct for all websocket events.
type EventHandler ¶ added in v0.15.0
type EventHandler interface { // Type returns the type of event this handler belongs to. Type() string // Handle is called whenever an event of Type() happens. // It is the receivers responsibility to type assert that the interface // is the expected struct. Handle(*Session, interface{}) }
EventHandler is an interface for Discord events.
type EventInterfaceProvider ¶ added in v0.15.0
type EventInterfaceProvider interface { // Type is the type of event this handler belongs to. Type() string // New returns a new instance of the struct this event handler handles. // This is called once per event. // The struct is provided to all handlers of the same Type(). New() interface{} }
EventInterfaceProvider is an interface for providing empty interfaces for Discord events.
type ExplicitContentFilterLevel ¶ added in v0.20.0
type ExplicitContentFilterLevel int
ExplicitContentFilterLevel type definition
const ( ExplicitContentFilterDisabled ExplicitContentFilterLevel = iota ExplicitContentFilterMembersWithoutRoles ExplicitContentFilterAllMembers )
Constants for ExplicitContentFilterLevel levels from 0 to 2 inclusive
type Game ¶ added in v0.7.0
type Game struct { Name string `json:"name"` Type GameType `json:"type"` URL string `json:"url,omitempty"` Details string `json:"details,omitempty"` State string `json:"state,omitempty"` TimeStamps TimeStamps `json:"timestamps,omitempty"` Assets Assets `json:"assets,omitempty"` ApplicationID string `json:"application_id,omitempty"` Instance int8 `json:"instance,omitempty"` }
A Game struct holds the name of the "playing .." game for a user
type GameType ¶ added in v0.18.0
type GameType int
GameType is the type of "game" (see GameType* consts) in the Game struct
type GatewayBotResponse ¶ added in v0.17.0
GatewayBotResponse stores the data for the gateway/bot response
type Guild ¶
type Guild struct { // The ID of the guild. ID string `json:"id"` // The name of the guild. (2–100 characters) Name string `json:"name"` // The hash of the guild's icon. Use Session.GuildIcon // to retrieve the icon itself. Icon string `json:"icon"` // The voice region of the guild. Region string `json:"region"` // The ID of the AFK voice channel. AfkChannelID string `json:"afk_channel_id"` // The ID of the embed channel ID, used for embed widgets. EmbedChannelID string `json:"embed_channel_id"` // The user ID of the owner of the guild. OwnerID string `json:"owner_id"` // The time at which the current user joined the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. JoinedAt Timestamp `json:"joined_at"` // The hash of the guild's splash. Splash string `json:"splash"` // The timeout, in seconds, before a user is considered AFK in voice. AfkTimeout int `json:"afk_timeout"` // The number of members in the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. MemberCount int `json:"member_count"` // The verification level required for the guild. VerificationLevel VerificationLevel `json:"verification_level"` // Whether the guild has embedding enabled. EmbedEnabled bool `json:"embed_enabled"` // Whether the guild is considered large. This is // determined by a member threshold in the identify packet, // and is currently hard-coded at 250 members in the library. Large bool `json:"large"` // The default message notification setting for the guild. // 0 == all messages, 1 == mentions only. DefaultMessageNotifications int `json:"default_message_notifications"` // A list of roles in the guild. Roles []*Role `json:"roles"` // A list of the custom emojis present in the guild. Emojis []*Emoji `json:"emojis"` // A list of the members in the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. Members []*Member `json:"members"` // A list of partial presence objects for members in the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. Presences []*Presence `json:"presences"` // A list of channels in the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. Channels []*Channel `json:"channels"` // A list of voice states for the guild. // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. VoiceStates []*VoiceState `json:"voice_states"` // This field is only present in GUILD_CREATE events and websocket // update events, and thus is only present in state-cached guilds. Unavailable bool `json:"unavailable"` // The explicit content filter level ExplicitContentFilter ExplicitContentFilterLevel `json:"explicit_content_filter"` // The list of enabled guild features Features []string `json:"features"` // Required MFA level for the guild MfaLevel MfaLevel `json:"mfa_level"` // Whether or not the Server Widget is enabled WidgetEnabled bool `json:"widget_enabled"` // The Channel ID for the Server Widget WidgetChannelID string `json:"widget_channel_id"` // The Channel ID to which system messages are sent (eg join and leave messages) SystemChannelID string `json:"system_channel_id"` // the vanity url code for the guild VanityURLCode string `json:"vanity_url_code"` // the description for the guild Description string `json:"description"` // The hash of the guild's banner Banner string `json:"banner"` // The premium tier of the guild PremiumTier PremiumTier `json:"premium_tier"` // The total number of users currently boosting this server PremiumSubscriptionCount int `json:"premium_subscription_count"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` }
A Guild holds all data related to a specific Discord Guild. Guilds are also sometimes referred to as Servers in the Discord client.
func (*Guild) AuditLogs ¶ added in v0.20.0
func (g *Guild) AuditLogs(userID, beforeID string, actionType, limit int) (log *GuildAuditLog, err error)
AuditLogs returns the audit log of the Guild. userID : If provided the log will be filtered for the given ID. beforeID : If provided all log entries returned will be before the given ID. actionType : If provided the log will be filtered for the given Action Type. limit : The number messages that can be returned. (default 50, min 1, max 100)
func (*Guild) Ban ¶ added in v0.20.0
Ban bans the given user from the guild. user : The User reason : The reason for this ban days : The number of days of previous comments to delete.
func (*Guild) BitrateLimit ¶ added in v0.20.0
BitrateLimit returns the maximum bitrate for voice channels this guild can have
func (*Guild) CreateChannel ¶ added in v0.20.0
func (g *Guild) CreateChannel(name string, channelType ChannelType) (channel *Channel, err error)
CreateChannel creates and returns a new channel in the guild name : Name of the channel (2-100 chars length) channelType : Type of the channel
func (*Guild) CreateRole ¶ added in v0.20.0
CreateRole creates and then returns a new Guild Role.
func (*Guild) DeleteInvite ¶ added in v0.20.4
DeleteInvite deletes the given invite from the guild
func (*Guild) EmojiLimit ¶ added in v0.20.0
EmojiLimit returns the maximum amount of emojis that this guild can have
func (*Guild) FetchMembers ¶ added in v0.20.0
FetchMembers fetches count members of this guild from discord and adds them to the state. limit : The max amount of members to fetch (max 1000) after : The id of the member to return members after TODO: Make this use the websocket instead of the API
func (*Guild) FileSizeLimit ¶ added in v0.20.0
FileSizeLimit returns the maximum number of bytes files can have when uploaded to this guild
func (*Guild) GetBan ¶ added in v0.20.13
GetBan returns the ban object of the given user user : The User to get the ban object for
func (*Guild) GetBans ¶ added in v0.20.0
GetBans returns an array of GuildBan structures for all bans of the guild
func (*Guild) GetChannel ¶ added in v0.20.0
GetChannel gets the channel with the given ID as it is stored in Guild.Channels channelID : The ID of the channel to search for
func (*Guild) GetChannelNamed ¶ added in v0.20.0
GetChannelNamed gets the channel with the given name as it is stored in Guild.Channels It is semi-case-sensitive; if a name matches full, the first channel with that name gets returned if a name matches but with different capitalization, the last channel with that name gets returned name : The name of the channel to search for
func (*Guild) GetDefaultRole ¶ added in v0.20.7
GetDefaultRole gets the @everyone role that everyone has by default
func (*Guild) GetInvites ¶ added in v0.20.0
GetInvites returns an array of Invite structures for the guild
func (*Guild) GetMember ¶ added in v0.20.0
GetMember gets the member with the given ID from the guild. userID : The ID of the member to search for
func (*Guild) GetRole ¶ added in v0.20.0
GetRole gets the role with the given ID as it is stored in Guild.Roles
func (*Guild) GetRoleNamed ¶ added in v0.20.0
GetRoleNamed gets the role with the given name as it is stored in Guild.Roles It is semi-case-sensitive; if a name matches full, the first role with that name gets returned if a name matches but with different capitalization, the last role with that name gets returned
func (*Guild) Kick ¶ added in v0.20.0
Kick kicks the given user from the guild. user : The User to kick reason : The reason for the kick
func (*Guild) Me ¶ added in v0.20.0
Me retrieves the member object representing this client in the guild
type GuildAuditLog ¶ added in v0.20.0
type GuildAuditLog struct { Webhooks []struct { ChannelID string `json:"channel_id"` GuildID string `json:"guild_id"` ID string `json:"id"` Avatar string `json:"avatar"` Name string `json:"name"` } `json:"webhooks,omitempty"` Users []struct { Username string `json:"username"` Discriminator string `json:"discriminator"` Bot bool `json:"bot"` ID string `json:"id"` Avatar string `json:"avatar"` } `json:"users,omitempty"` AuditLogEntries []*AuditLogEntry `json:"audit_log_entries"` }
A GuildAuditLog stores data for a guild audit log.
type GuildBanAdd ¶ added in v0.11.0
GuildBanAdd is the data for a GuildBanAdd event.
type GuildBanRemove ¶ added in v0.11.0
GuildBanRemove is the data for a GuildBanRemove event.
type GuildChannelCreateData ¶ added in v0.20.0
type GuildChannelCreateData struct { Name string `json:"name"` Type ChannelType `json:"type"` Topic string `json:"topic,omitempty"` Bitrate int `json:"bitrate,omitempty"` UserLimit int `json:"user_limit,omitempty"` PermissionOverwrites []*PermissionOverwrite `json:"permission_overwrites,omitempty"` ParentID string `json:"parent_id,omitempty"` NSFW bool `json:"nsfw,omitempty"` }
GuildChannelCreateData is provided to GuildChannelCreateComplex
type GuildCreate ¶ added in v0.11.0
type GuildCreate struct {
*Guild
}
GuildCreate is the data for a GuildCreate event.
type GuildDelete ¶ added in v0.11.0
type GuildDelete struct {
*Guild
}
GuildDelete is the data for a GuildDelete event.
type GuildEmbed ¶ added in v0.13.0
A GuildEmbed stores data for a guild embed.
type GuildEmojisUpdate ¶ added in v0.8.0
A GuildEmojisUpdate is the data for a guild emoji update event.
type GuildIntegrationsUpdate ¶
type GuildIntegrationsUpdate struct {
GuildID string `json:"guild_id"`
}
GuildIntegrationsUpdate is the data for a GuildIntegrationsUpdate event.
type GuildLimit ¶ added in v0.20.0
GuildLimit stores the information about the limits for the guild that can be boosted
type GuildMemberAdd ¶ added in v0.11.0
type GuildMemberAdd struct {
*Member
}
GuildMemberAdd is the data for a GuildMemberAdd event.
type GuildMemberRemove ¶ added in v0.11.0
type GuildMemberRemove struct {
*Member
}
GuildMemberRemove is the data for a GuildMemberRemove event.
type GuildMemberUpdate ¶ added in v0.11.0
type GuildMemberUpdate struct {
*Member
}
GuildMemberUpdate is the data for a GuildMemberUpdate event.
type GuildMembersChunk ¶ added in v0.15.0
type GuildMembersChunk struct { GuildID string `json:"guild_id"` Members []*Member `json:"members"` }
A GuildMembersChunk is the data for a GuildMembersChunk event.
type GuildParams ¶ added in v0.12.0
type GuildParams struct { Name string `json:"name,omitempty"` Region string `json:"region,omitempty"` VerificationLevel *VerificationLevel `json:"verification_level,omitempty"` DefaultMessageNotifications int `json:"default_message_notifications,omitempty"` // TODO: Separate type? AfkChannelID string `json:"afk_channel_id,omitempty"` AfkTimeout int `json:"afk_timeout,omitempty"` Icon string `json:"icon,omitempty"` OwnerID string `json:"owner_id,omitempty"` Splash string `json:"splash,omitempty"` }
A GuildParams stores all the data needed to update discord guild settings
type GuildRoleCreate ¶ added in v0.11.0
type GuildRoleCreate struct {
*GuildRole
}
GuildRoleCreate is the data for a GuildRoleCreate event.
type GuildRoleDelete ¶
A GuildRoleDelete is the data for a GuildRoleDelete event.
type GuildRoleUpdate ¶ added in v0.11.0
type GuildRoleUpdate struct {
*GuildRole
}
GuildRoleUpdate is the data for a GuildRoleUpdate event.
type GuildUpdate ¶ added in v0.11.0
type GuildUpdate struct {
*Guild
}
GuildUpdate is the data for a GuildUpdate event.
type HistoryIterator ¶ added in v0.20.15
type HistoryIterator struct {
// contains filtered or unexported fields
}
HistoryIterator contains the information needed to iterate over the history of a Messageable using HistoryIterator.Iter()
func NewHistoryIterator ¶ added in v0.20.15
func NewHistoryIterator(channel Messageable) *HistoryIterator
NewHistoryIterator creates a new HistoryIterator based on the given Messageable and using the defaults; limit = 100 and going from newest to oldest. channel : The Messageable to get the history from
func (*HistoryIterator) Iter ¶ added in v0.20.15
func (h *HistoryIterator) Iter() <-chan *Message
Iter allows for the iterator to actually iterate and thus be used in a for ... range expression.
func (*HistoryIterator) Reset ¶ added in v0.20.15
func (h *HistoryIterator) Reset() *HistoryIterator
Reset sets everything back to defaults
func (*HistoryIterator) Reverse ¶ added in v0.20.15
func (h *HistoryIterator) Reverse() *HistoryIterator
Reverse toggles reverse, by default reverse is off and messages are returned newest first
func (*HistoryIterator) SetAfter ¶ added in v0.20.15
func (h *HistoryIterator) SetAfter(afterID string) *HistoryIterator
SetAfter sets the message ID from which to iterate back from till the most recent or limit afterID : the Message ID
func (*HistoryIterator) SetAround ¶ added in v0.20.15
func (h *HistoryIterator) SetAround(aroundID string) *HistoryIterator
SetAround sets the message ID from which to get the surrounding messages (max 100) aroundID : the Message ID
func (*HistoryIterator) SetBefore ¶ added in v0.20.15
func (h *HistoryIterator) SetBefore(beforeID string) *HistoryIterator
SetBefore sets the message ID from which to iterate back to get the messages before it beforeID : the Message ID
func (*HistoryIterator) SetLimit ¶ added in v0.20.15
func (h *HistoryIterator) SetLimit(limit int) *HistoryIterator
SetLimit sets the limit for how much messages to fetch. limit : the limit to use
type ICEServer ¶
type ICEServer struct { URL string `json:"url"` Username string `json:"username"` Credential string `json:"credential"` }
A ICEServer stores data for a specific voice ICE server.
type IDGettable ¶ added in v0.20.0
IDGettable objects are objects where it is possible to get a snowflake ID from
type IDWrapper ¶ added in v0.20.11
type IDWrapper struct {
ID string
}
IDWrapper is a struct used to make a bare ID string into an IDGettable object, this can then be used to pass it to a function that accepts any IDGettable object
type Integration ¶ added in v0.20.0
type Integration struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` Enabled bool `json:"enabled"` Syncing bool `json:"syncing"` RoleID string `json:"role_id"` ExpireBehavior int `json:"expire_behavior"` ExpireGracePeriod int `json:"expire_grace_period"` User *User `json:"user"` Account IntegrationAccount `json:"account"` SyncedAt Timestamp `json:"synced_at"` }
Integration stores integration information
type IntegrationAccount ¶ added in v0.20.0
IntegrationAccount is integration account information sent by the UserConnections endpoint
type Invite ¶
type Invite struct { Guild *Guild `json:"guild"` Channel *Channel `json:"channel"` Inviter *User `json:"inviter"` Code string `json:"code"` CreatedAt Timestamp `json:"created_at"` MaxAge int `json:"max_age"` Uses int `json:"uses"` MaxUses int `json:"max_uses"` Revoked bool `json:"revoked"` Temporary bool `json:"temporary"` Unique bool `json:"unique"` TargetUser *User `json:"target_user"` TargetUserType int `json:"target_user_type"` // will only be filled when using InviteWithCounts ApproximatePresenceCount int `json:"approximate_presence_count"` ApproximateMemberCount int `json:"approximate_member_count"` }
A Invite stores all data related to a specific Discord Guild or Channel invite.
type Member ¶
type Member struct { // The guild ID on which the member exists. GuildID string `json:"guild_id"` // The time at which the member joined the guild, in ISO8601. JoinedAt Timestamp `json:"joined_at"` // The nickname of the member, if they have one. Nick string `json:"nick"` // Whether the member is deafened at a guild level. Deaf bool `json:"deaf"` // Whether the member is muted at a guild level. Mute bool `json:"mute"` // The underlying user on which the member is based. User *User `json:"user"` // A list of IDs of the roles which are possessed by the member. Roles []string `json:"roles"` // When the user used their Nitro boost on the server PremiumSince Timestamp `json:"premium_since"` }
A Member stores user information for Guild members. A guild member represents a certain user's presence in a guild.
func (*Member) AddRole ¶ added in v0.20.0
AddRole adds a role to the member role : role to add reason : the reason for the role add
func (*Member) AddRoles ¶ added in v0.20.13
AddRoles adds multiple roles to the member roles : roles to add reason : the reason for the role adds
func (*Member) AvatarURL ¶ added in v0.20.0
AvatarURL returns a URL to the user's avatar.
size: The size of the user's avatar as a power of two if size is an empty string, no size parameter will be added to the URL.
func (*Member) Ban ¶ added in v0.20.0
Ban bans the member from their guild reason : reason for the ban as it will be displayed in the audit log days : days of messages to delete
func (*Member) DisconnectFromVoice ¶ added in v0.20.13
DisconnectFromVoice disconnects the member from whatever voice channel they are in reason : the reason for the disconnect
func (*Member) EditNickname ¶ added in v0.20.0
EditNickname sets the nickname of the member nick : the new nickname the member will have
func (*Member) EditRoles ¶ added in v0.20.0
EditRoles replaces all roles of the user with the provided slice of roles roles : a slice of Role objects reason : the reason for the change in roles
func (*Member) GetColor ¶ added in v0.20.0
GetColor returns the hex code of the members color as displayed in the server
func (*Member) GetDisplayName ¶ added in v0.20.0
GetDisplayName returns the members nick if one has been set and else their username
func (*Member) GetGuild ¶ added in v0.20.0
GetGuild returns the guild object where the Member belongs to
func (*Member) GetRoles ¶ added in v0.20.0
GetRoles returns a slice with all roles the Member has, sorted from highest to lowest
func (*Member) GetTopRole ¶ added in v0.20.0
GetTopRole returns the members highest role
func (*Member) IsMentionedIn ¶ added in v0.20.0
IsMentionedIn checks if the member is mentioned in the given message message : message to check for mentions
func (*Member) IsOwner ¶ added in v0.20.12
IsOwner checks if the member is the owner of the guild they are in
func (*Member) Kick ¶ added in v0.20.0
Kick kicks the member from their guild reason : reason for the kick
func (*Member) MoveTo ¶ added in v0.20.0
MoveTo moves the member to a voice channel channel : voice channel to move the user to reason : the reason for the move
func (*Member) RemoveRole ¶ added in v0.20.0
RemoveRole removes a role from the member role : role to remove reason : the reason for the role remove
func (*Member) RemoveRoles ¶ added in v0.20.13
RemoveRoles removes multiple roles from the member roles : roles to remove reason : the reason for the role removes
type Mentionable ¶ added in v0.20.0
type Mentionable interface { IDGettable Mention() string }
Mentionable objects are objects that can have their snowflake ID be formatted as a mention in discord
type Message ¶
type Message struct { // The ID of the message. ID string `json:"id"` // The ID of the channel in which the message was sent. ChannelID string `json:"channel_id"` // The ID of the guild in which the message was sent. GuildID string `json:"guild_id,omitempty"` // The content of the message. Content string `json:"content"` // The time at which the messsage was sent. // CAUTION: this field may be removed in a // future API version; it is safer to calculate // the creation time via the ID. Timestamp Timestamp `json:"timestamp"` // The time at which the last edit of the message // occurred, if it has been edited. EditedTimestamp Timestamp `json:"edited_timestamp"` // The roles mentioned in the message. MentionRoles []string `json:"mention_roles"` // Whether the message is text-to-speech. Tts bool `json:"tts"` // Whether the message mentions everyone. MentionEveryone bool `json:"mention_everyone"` // The author of the message. This is not guaranteed to be a // valid user (webhook-sent messages do not possess a full author). Author *User `json:"author"` // The author of the message as a Member object // if the message was send in a guild Member *Member `json:"member,omitempty"` // A list of attachments present in the message. Attachments []*MessageAttachment `json:"attachments"` // A list of embeds present in the message. Multiple // embeds can currently only be sent by webhooks. Embeds []*MessageEmbed `json:"embeds"` // A list of users mentioned in the message. Mentions []*User `json:"mentions"` // A list of reactions to the message. Reactions []*MessageReactions `json:"reactions"` // If the message has been pinned to the channel Pinned bool `json:"pinned"` // The type of the message. Type MessageType `json:"type"` // flags describes extra features of the message Flags int `json:"flags"` // The webhook ID of the message, if it was generated by a webhook WebhookID string `json:"webhook_id"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` }
A Message stores all data related to a specific Discord message.
func (*Message) AddReaction ¶ added in v0.20.4
AddReaction adds a reaction to the current message emoji : the emoji to add
func (*Message) Channel ¶ added in v0.20.4
Channel returns the channel object that the message was posted in, this should only ever be nil right after a RESUME or the initial connection
func (*Message) ContentWithMentionsReplaced ¶ added in v0.8.0
ContentWithMentionsReplaced will replace all @<id> mentions with the username of the mention.
func (*Message) ContentWithMoreMentionsReplaced ¶ added in v0.17.0
ContentWithMoreMentionsReplaced will replace all @<id> mentions with the username of the mention, but also role IDs and more.
func (*Message) Edit ¶ added in v0.20.4
func (m *Message) Edit(data *MessageEdit) (edited *Message, err error)
Edit edits the message, replacing it entirely with the given MessageEdit struct
func (*Message) EmbedSuppressed ¶ added in v0.20.15
EmbedSuppressed returns true if the embed(s) of the message have been suppressed
func (*Message) Guild ¶ added in v0.20.4
Guild returns the guild a message was posted in if applicable, else guild is nil
func (*Message) HasBeenCrossposted ¶ added in v0.20.15
HasBeenCrossposted returns true if the message has been crossposted (published) through channel following
func (*Message) IsCrosspost ¶ added in v0.20.15
IsCrosspost returns true if the message is a crosspost through channel following
func (*Message) NewMessageEdit ¶ added in v0.20.4
func (m *Message) NewMessageEdit() *MessageEdit
NewMessageEdit returns a MessageEdit struct, initialized with the Channel and message ID.
func (*Message) RemoveAllReactions ¶ added in v0.20.4
RemoveAllReactions removes all the reactions from the message
func (*Message) RemoveReaction ¶ added in v0.20.4
func (m *Message) RemoveReaction(emoji *Emoji, user IDGettable) (err error)
RemoveReaction removes the reaction added by user from the message emoji : the emoji to remove user : the user or member who added the reaction
type MessageAck ¶
type MessageAck struct { MessageID string `json:"message_id"` ChannelID string `json:"channel_id"` }
MessageAck is the data for a MessageAck event.
type MessageAttachment ¶ added in v0.13.0
type MessageAttachment struct { ID string `json:"id"` URL string `json:"url"` ProxyURL string `json:"proxy_url"` Filename string `json:"filename"` Width int `json:"width"` Height int `json:"height"` Size int `json:"size"` }
A MessageAttachment stores data for message attachments.
type MessageCreate ¶ added in v0.11.0
type MessageCreate struct {
*Message
}
MessageCreate is the data for a MessageCreate event.
type MessageDelete ¶
type MessageDelete struct {
*Message
}
MessageDelete is the data for a MessageDelete event.
type MessageDeleteBulk ¶ added in v0.16.0
type MessageDeleteBulk struct { Messages []string `json:"ids"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id"` }
MessageDeleteBulk is the data for a MessageDeleteBulk event
type MessageEdit ¶ added in v0.16.0
type MessageEdit struct { Content *string `json:"content,omitempty"` Embed *MessageEmbed `json:"embed,omitempty"` ID string Channel string }
MessageEdit is used to chain parameters via ChannelMessageEditComplex, which is also where you should get the instance from.
func NewMessageEdit ¶ added in v0.16.0
func NewMessageEdit(channelID string, messageID string) *MessageEdit
NewMessageEdit returns a MessageEdit struct, given a Channel ID and message ID.
func (*MessageEdit) SetContent ¶ added in v0.16.0
func (m *MessageEdit) SetContent(str string) *MessageEdit
SetContent is the same as setting the variable Content, except it doesn't take a pointer.
func (*MessageEdit) SetEmbed ¶ added in v0.16.0
func (m *MessageEdit) SetEmbed(embed *MessageEmbed) *MessageEdit
SetEmbed is a convenience function for setting the embed, so you can chain commands.
type MessageEmbed ¶ added in v0.13.0
type MessageEmbed struct { URL string `json:"url,omitempty"` Type string `json:"type,omitempty"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` Timestamp string `json:"timestamp,omitempty"` Color Color `json:"color,omitempty"` Image *MessageEmbedImage `json:"image,omitempty"` Thumbnail *MessageEmbedThumbnail `json:"thumbnail,omitempty"` Video *MessageEmbedVideo `json:"video,omitempty"` Provider *MessageEmbedProvider `json:"provider,omitempty"` Author *MessageEmbedAuthor `json:"author,omitempty"` Fields []*MessageEmbedField `json:"fields,omitempty"` }
An MessageEmbed stores data for message embeds.
func NewEmbed ¶ added in v0.20.4
func NewEmbed() *MessageEmbed
NewEmbed creates an empty MessageEmbed object that you can use to chain
func (*MessageEmbed) AddField ¶ added in v0.20.4
func (e *MessageEmbed) AddField(name, value string, inline bool) *MessageEmbed
AddField can be used to add an embed field in a chain name : the field name value : the field value inline : determines if the field should be placed inline or not
func (*MessageEmbed) ClearFields ¶ added in v0.20.4
func (e *MessageEmbed) ClearFields() *MessageEmbed
ClearFields removes all fields in a chain
func (*MessageEmbed) RemoveField ¶ added in v0.20.4
func (e *MessageEmbed) RemoveField(position int) *MessageEmbed
RemoveField removes the field at position in a chain position : the position of the field to remove
func (*MessageEmbed) SetAuthor ¶ added in v0.20.4
func (e *MessageEmbed) SetAuthor(name, url, iconURL string) *MessageEmbed
SetAuthor can be used to set the name, url and icon url of the author in a chain name : the author name url : the author url iconUrl : the url of the author icon
func (*MessageEmbed) SetAuthorName ¶ added in v0.20.4
func (e *MessageEmbed) SetAuthorName(name string) *MessageEmbed
SetAuthorName can be used to only set the name of the author in a chain name : the author name
func (*MessageEmbed) SetColor ¶ added in v0.20.4
func (e *MessageEmbed) SetColor(c Color) *MessageEmbed
SetColor can be used to set the embed color in a chain color : the embed color
func (*MessageEmbed) SetDescription ¶ added in v0.20.4
func (e *MessageEmbed) SetDescription(desc string) *MessageEmbed
SetDescription can be used to set the embed description in a chain desc : the embed description
func (*MessageEmbed) SetFieldAt ¶ added in v0.20.4
func (e *MessageEmbed) SetFieldAt(name, value string, inline bool, position int) *MessageEmbed
SetFieldAt replaces the field at position with new values in a chain name : the field name value : the field value inline : determines if the field should be placed inline or not position : the position of the field to replace
func (*MessageEmbed) SetFooter ¶ added in v0.20.4
func (e *MessageEmbed) SetFooter(text, url string) *MessageEmbed
SetFooter can be used to set the text and url of the embed footer in a chain text : the footer text url : the footer url
func (*MessageEmbed) SetFooterText ¶ added in v0.20.4
func (e *MessageEmbed) SetFooterText(text string) *MessageEmbed
SetFooterText can be used to only set the text of the embed footer in a chain text : the footer text
func (*MessageEmbed) SetImage ¶ added in v0.20.4
func (e *MessageEmbed) SetImage(url string) *MessageEmbed
SetImage sets the image url in a chain url : url of the image
func (*MessageEmbed) SetThumbnail ¶ added in v0.20.4
func (e *MessageEmbed) SetThumbnail(url string) *MessageEmbed
SetThumbnail sets the image url for the thumbnail in a chain url : url of the image
func (*MessageEmbed) SetTimestamp ¶ added in v0.20.9
func (e *MessageEmbed) SetTimestamp(timeStamp time.Time) *MessageEmbed
SetTimestamp sets the embed timestamp to a custom value
func (*MessageEmbed) SetTimestampNow ¶ added in v0.20.9
func (e *MessageEmbed) SetTimestampNow() *MessageEmbed
SetTimestampNow sets the embed timestamp to the current time in UTC
func (*MessageEmbed) SetTitle ¶ added in v0.20.4
func (e *MessageEmbed) SetTitle(title string) *MessageEmbed
SetTitle can be used to set the embed title in a chain title : the embed title
type MessageEmbedAuthor ¶ added in v0.15.0
type MessageEmbedAuthor struct { URL string `json:"url,omitempty"` Name string `json:"name,omitempty"` IconURL string `json:"icon_url,omitempty"` ProxyIconURL string `json:"proxy_icon_url,omitempty"` }
MessageEmbedAuthor is a part of a MessageEmbed struct.
type MessageEmbedField ¶ added in v0.15.0
type MessageEmbedField struct { Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` Inline bool `json:"inline,omitempty"` }
MessageEmbedField is a part of a MessageEmbed struct.
type MessageEmbedFooter ¶ added in v0.15.0
type MessageEmbedFooter struct {}
MessageEmbedFooter is a part of a MessageEmbed struct.
type MessageEmbedImage ¶ added in v0.15.0
type MessageEmbedImage struct { URL string `json:"url,omitempty"` ProxyURL string `json:"proxy_url,omitempty"` Width int `json:"width,omitempty"` Height int `json:"height,omitempty"` }
MessageEmbedImage is a part of a MessageEmbed struct.
type MessageEmbedProvider ¶ added in v0.15.0
type MessageEmbedProvider struct { URL string `json:"url,omitempty"` Name string `json:"name,omitempty"` }
MessageEmbedProvider is a part of a MessageEmbed struct.
type MessageEmbedThumbnail ¶ added in v0.15.0
type MessageEmbedThumbnail struct { URL string `json:"url,omitempty"` ProxyURL string `json:"proxy_url,omitempty"` Width int `json:"width,omitempty"` Height int `json:"height,omitempty"` }
MessageEmbedThumbnail is a part of a MessageEmbed struct.
type MessageEmbedVideo ¶ added in v0.15.0
type MessageEmbedVideo struct { URL string `json:"url,omitempty"` ProxyURL string `json:"proxy_url,omitempty"` Width int `json:"width,omitempty"` Height int `json:"height,omitempty"` }
MessageEmbedVideo is a part of a MessageEmbed struct.
type MessageReaction ¶ added in v0.15.0
type MessageReaction struct { UserID string `json:"user_id"` MessageID string `json:"message_id"` Emoji *Emoji `json:"emoji"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id,omitempty"` Session *Session `json:"-"` }
MessageReaction stores the data for a message reaction.
func (*MessageReaction) GetChannel ¶ added in v0.20.5
func (r *MessageReaction) GetChannel() (c *Channel, err error)
GetChannel retrieves the channel that the message that was reacted to was posted in
func (*MessageReaction) GetGuild ¶ added in v0.20.5
func (r *MessageReaction) GetGuild() (g *Guild, err error)
GetGuild retrieves the guild that the message that was reacted to was posted in, will return an error if it was in dms
func (*MessageReaction) GetMember ¶ added in v0.20.5
func (r *MessageReaction) GetMember() (m *Member, err error)
GetMember retrieves the member that added the reaction, will return an error if it was not in a guild
func (*MessageReaction) GetMessage ¶ added in v0.20.5
func (r *MessageReaction) GetMessage() (m *Message, err error)
GetMessage retrieves the message that was reacted to
func (*MessageReaction) GetUser ¶ added in v0.20.5
func (r *MessageReaction) GetUser() (u *User, err error)
GetUser retrieves the user that added the reaction
func (*MessageReaction) Remove ¶ added in v0.20.4
func (r *MessageReaction) Remove() error
Remove removes the reaction from the message it was added to
func (MessageReaction) String ¶ added in v0.20.11
func (r MessageReaction) String() string
String renders the string needed to display the emoji used in the reaction correctly in discord
type MessageReactionAdd ¶ added in v0.15.0
type MessageReactionAdd struct {
*MessageReaction
}
MessageReactionAdd is the data for a MessageReactionAdd event.
type MessageReactionRemove ¶ added in v0.15.0
type MessageReactionRemove struct {
*MessageReaction
}
MessageReactionRemove is the data for a MessageReactionRemove event.
type MessageReactionRemoveAll ¶ added in v0.16.0
type MessageReactionRemoveAll struct {
*MessageReaction
}
MessageReactionRemoveAll is the data for a MessageReactionRemoveAll event.
type MessageReactions ¶ added in v0.15.0
type MessageReactions struct { Count int `json:"count"` Me bool `json:"me"` Emoji *Emoji `json:"emoji"` }
MessageReactions holds a reactions object for a message.
type MessageSend ¶ added in v0.16.0
type MessageSend struct { Content string `json:"content,omitempty"` Embed *MessageEmbed `json:"embed,omitempty"` Tts bool `json:"tts"` Files []*File `json:"-"` // TODO: Remove this when compatibility is not required. File *File `json:"-"` // contains filtered or unexported fields }
MessageSend stores all parameters you can send with ChannelMessageSendComplex.
type MessageType ¶ added in v0.17.0
type MessageType int
MessageType is the type of Message
const ( MessageTypeDefault MessageType = iota MessageTypeRecipientAdd MessageTypeRecipientRemove MessageTypeCall MessageTypeChannelNameChange MessageTypeChannelIconChange MessageTypeChannelPinnedMessage MessageTypeGuildMemberJoin MessageTypeUserPremiumGuildSubscription MessageTypeUserPremiumGuildSubscriptionTierOne MessageTypeUserPremiumGuildSubscriptionTierTwo MessageTypeUserPremiumGuildSubscriptionTierThree MessageTypeChannelFollowAdd )
Block contains the valid known MessageType values
type MessageUpdate ¶ added in v0.11.0
type MessageUpdate struct {
*Message
}
MessageUpdate is the data for a MessageUpdate event.
type Messageable ¶ added in v0.20.0
type Messageable interface { // Sends a message to the channel SendMessage(content string, embed *MessageEmbed, files []*File) (message *Message, err error) SendMessageComplex(data *MessageSend) (message *Message, err error) EditMessage(data *MessageEdit) (edited *Message, err error) // gets a single message by ID from the channel // ID : the ID of a Message FetchMessage(ID string) (message *Message, err error) // returns an array of Message structures for messages within // a given channel. // channelID : The ID of a Channel. // limit : The number messages that can be returned. (max 100) // beforeID : If provided all messages returned will be before given ID. // afterID : If provided all messages returned will be after given ID. // aroundID : If provided all messages returned will be around given ID. GetHistory(limit int, beforeID, afterID, aroundID string) (st []*Message, err error) // GetHistoryIterator returns a bare HistoryIterator for this Messageable. GetHistoryIterator() *HistoryIterator }
type Packet ¶ added in v0.11.0
type Packet struct { SSRC uint32 Sequence uint16 Timestamp uint32 Type []byte Opus []byte PCM []int16 }
A Packet contains the headers and content of a received voice packet.
type PermissionOffset ¶ added in v0.20.7
type PermissionOffset uint
PermissionOffset is used to denote how large the bit offset is for a permission
type PermissionOverwrite ¶
type PermissionOverwrite struct { ID string `json:"id"` Type string `json:"type"` Deny Permissions `json:"deny"` Allow Permissions `json:"allow"` }
A PermissionOverwrite holds permission overwrite data for a Channel
func (*PermissionOverwrite) Has ¶ added in v0.20.7
func (p *PermissionOverwrite) Has(perm PermissionOffset) *bool
Has returns the value that has been set for a given permission in this overwrite it will return true for explicit allow, false for explicit deny and nil for if nothing has been explicitly set
func (*PermissionOverwrite) Set ¶ added in v0.20.7
func (p *PermissionOverwrite) Set(perm PermissionOffset, value *bool)
Set sets the permission overwrite value, the default value is not true or false, but nil
type Permissions ¶ added in v0.20.7
type Permissions int
Permissions is a type around the int value of a discord permission
func NewAllChannelPermissions ¶ added in v0.20.7
func NewAllChannelPermissions() Permissions
NewAllChannelPermissions is a factory function to create a Permissions object with all channel-specific permissions set to true
func NewAllPermissions ¶ added in v0.20.7
func NewAllPermissions() Permissions
NewAllPermissions is a factory function to create a Permissions object with all permissions set to true
func NewGeneralPermissions ¶ added in v0.20.7
func NewGeneralPermissions() Permissions
NewGeneralPermissions is a factory function to create a Permissions object with all general permissions from the official Discord UI set to true
func NewTextPermissions ¶ added in v0.20.7
func NewTextPermissions() Permissions
NewTextPermissions is a factory function to create a Permissions object with all text permissions from the official Discord UI set to true
func NewVoicePermissions ¶ added in v0.20.7
func NewVoicePermissions() Permissions
NewVoicePermissions is a factory function to create a Permissions object with all voice permissions from the official Discord UI set to true
func (*Permissions) HandleOverwrite ¶ added in v0.20.7
func (p *Permissions) HandleOverwrite(allow, deny Permissions) Permissions
HandleOverwrite returns a Permissions object that has taken the overwrites into account
func (*Permissions) Has ¶ added in v0.20.7
func (p *Permissions) Has(perm PermissionOffset) bool
Has returns if the Permissions object has a certain permission
func (*Permissions) IsSubset ¶ added in v0.20.7
func (p *Permissions) IsSubset(other *Permissions) bool
IsSubset returns true if the permissions object has the same or more permissions as other.
func (*Permissions) IsSuperset ¶ added in v0.20.7
func (p *Permissions) IsSuperset(other *Permissions) bool
IsSuperset returns true if the permissions object has the same or fewer permissions as other.
func (*Permissions) Set ¶ added in v0.20.7
func (p *Permissions) Set(perm PermissionOffset, value bool)
Set sets a permission on the Permissions object
type PremiumTier ¶ added in v0.20.0
type PremiumTier int
PremiumTier type definition
const ( PremiumTierNone PremiumTier = iota PremiumTier1 PremiumTier2 PremiumTier3 )
Constants for PremiumTier levels from 0 to 3 inclusive
type PremiumType ¶ added in v0.20.15
type PremiumType int
PremiumType type definition
const ( NoNitro PremiumType = iota NitroClassic Nitro )
Constants for PremiumTypes Nitro and Nitro Classic
type Presence ¶
type Presence struct { User *User `json:"user"` Status Status `json:"status"` Game *Game `json:"game"` Nick string `json:"nick"` Roles []string `json:"roles"` Since *int `json:"since"` }
A Presence stores the online, offline, or idle and game status of Guild members.
type PresenceUpdate ¶
type PresenceUpdate struct { Presence GuildID string `json:"guild_id"` Roles []string `json:"roles"` }
PresenceUpdate is the data for a PresenceUpdate event.
type PresencesReplace ¶ added in v0.12.0
type PresencesReplace []*Presence
PresencesReplace is the data for a PresencesReplace event.
type RESTError ¶ added in v0.15.0
type RESTError struct { Request *http.Request Response *http.Response ResponseBody []byte Message *APIErrorMessage // Message may be nil. }
RESTError stores error information about a request with a bad response code. Message is not always present, there are cases where api calls can fail without returning a json message.
type RateLimit ¶ added in v0.9.0
type RateLimit struct { *TooManyRequests URL string }
RateLimit is the data for a RateLimit event. This is a synthetic event and is not dispatched by Discord.
type RateLimiter ¶ added in v0.15.0
RateLimiter holds all ratelimit buckets
func NewRatelimiter ¶ added in v0.15.0
func NewRatelimiter() *RateLimiter
NewRatelimiter returns a new RateLimiter
func (*RateLimiter) GetBucket ¶ added in v0.18.0
func (r *RateLimiter) GetBucket(key string) *Bucket
GetBucket retrieves or creates a bucket
func (*RateLimiter) GetWaitTime ¶ added in v0.18.0
func (r *RateLimiter) GetWaitTime(b *Bucket, minRemaining int) time.Duration
GetWaitTime returns the duration you should wait for a Bucket
func (*RateLimiter) LockBucket ¶ added in v0.15.0
func (r *RateLimiter) LockBucket(bucketID string) *Bucket
LockBucket Locks until a request can be made
func (*RateLimiter) LockBucketObject ¶ added in v0.18.0
func (r *RateLimiter) LockBucketObject(b *Bucket) *Bucket
LockBucketObject Locks an already resolved bucket until a request can be made
type ReadState ¶
type ReadState struct { MentionCount int `json:"mention_count"` LastMessageID string `json:"last_message_id"` ID string `json:"id"` }
A ReadState stores data on the read state of channels.
type Ready ¶
type Ready struct { Version int `json:"v"` SessionID string `json:"session_id"` User *User `json:"user"` ReadState []*ReadState `json:"read_state"` PrivateChannels []*Channel `json:"private_channels"` Guilds []*Guild `json:"guilds"` // Undocumented fields Presences []*Presence `json:"presences"` }
A Ready stores all data for the websocket READY event.
type Resumed ¶ added in v0.13.0
type Resumed struct {
Trace []string `json:"_trace"`
}
Resumed is the data for a Resumed event.
type Role ¶
type Role struct { // The ID of the role. ID string `json:"id"` // The name of the role. Name string `json:"name"` // Whether this role is managed by an integration, and // thus cannot be manually added to, or taken from, members. Managed bool `json:"managed"` // Whether this role is mentionable. Mentionable bool `json:"mentionable"` // Whether this role is hoisted (shows up separately in member list). Hoist bool `json:"hoist"` // The hex color of this role. Color Color `json:"color"` // The position of this role in the guild's role hierarchy. Position int `json:"position"` // The permissions of the role on the guild (doesn't include channel overrides). // This is a combination of bit masks; the presence of a certain permission can // be checked by performing a bitwise AND between this int and the permission. Permissions Permissions `json:"permissions"` // ID of the guild this role belongs to Guild *Guild `json:"-"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` }
A Role stores information about Discord guild member roles.
func (*Role) Edit ¶ added in v0.20.0
func (r *Role) Edit(name string, color Color, hoist bool, perm Permissions, mention bool) (edited *Role, err error)
Edit updates the Role with new values name : The name of the Role. color : The color of the role (decimal, not hex). hoist : Whether to display the role's users separately. perm : The permissions for the role. mention : Whether this role is mentionable
func (*Role) EditComplex ¶ added in v0.20.0
EditComplex updates the Role with new values data : data to send to the API
func (*Role) GetMembers ¶ added in v0.20.0
GetMembers returns a slice with all members in the guild with this role
func (*Role) HigherThan ¶ added in v0.20.11
HigherThan returns true if the role is higher in the role hierarchy than the other
func (*Role) IsDefault ¶ added in v0.20.0
IsDefault checks if the Role is the default (@everyone) role
func (*Role) LowerThan ¶ added in v0.20.11
LowerThan returns true if the role is lower in the role hierarchy than the other
type RoleEdit ¶ added in v0.20.0
type RoleEdit struct { // The role's name (overwrites existing) Name string `json:"name"` // The color the role should have (as a decimal, not hex) Color Color `json:"color"` // Whether to display the role's users separately (overwrites existing) Hoist bool `json:"hoist"` // The overall permissions number of the role (overwrites existing) Permissions Permissions `json:"permissions"` // Whether this role is mentionable (overwrites existing) Mentionable bool `json:"mentionable"` }
A RoleEdit stores information used to edit a Role
type RoleMove ¶ added in v0.20.0
type RoleMove struct { // The role's ID ID string `json:"id"` // The position of this role in the guild's role hierarchy. Position int `json:"position"` }
A RoleMove stores the information needed to change a role's position in the role hierarchy
type Roles ¶ added in v0.16.0
type Roles []*Role
Roles are a collection of Role
func (Roles) ContainsID ¶ added in v0.20.0
ContainsID checks if the slice of Role objects contains a role with the given ID ID : the ID to search for
type Session ¶
type Session struct { sync.RWMutex // Authentication token for this session Token string MFA bool // Debug for printing JSON request/responses Debug bool // Deprecated, will be removed. LogLevel int // Should the session reconnect the websocket on errors. ShouldReconnectOnError bool // Should the session request compressed websocket data. Compress bool // Sharding ShardID int ShardCount int // Should state tracking be enabled. // State tracking is the best way for getting the the users // active guilds and the members of the guilds. StateEnabled bool // Whether or not to call event handlers synchronously. // e.g false = launch event handlers in their own goroutines. SyncEvents bool // Whether the Data Websocket is ready DataReady bool // NOTE: Maye be deprecated soon // Max number of REST API retries MaxRestRetries int // Whether the Voice Websocket is ready VoiceReady bool // NOTE: Deprecated. // Whether the UDP Connection is ready UDPReady bool // NOTE: Deprecated // Stores a mapping of guild id's to VoiceConnections VoiceConnections map[string]*VoiceConnection // Managed state object, updated internally with events when // StateEnabled is true. State *State // The http client used for REST requests Client *http.Client // Stores the last HeartbeatAck that was recieved (in UTC) LastHeartbeatAck time.Time // Stores the last Heartbeat sent (in UTC) LastHeartbeatSent time.Time // used to deal with rate limits Ratelimiter *RateLimiter // contains filtered or unexported fields }
A Session represents a connection to the Discord API.
func New ¶
New creates a new Discord session and will automate some startup tasks if given enough information to do so. Currently you can pass zero arguments and it will return an empty Discord session.
func (*Session) AddHandler ¶ added in v0.11.0
func (s *Session) AddHandler(handler interface{}) func()
AddHandler allows you to add an event handler that will be fired anytime the Discord WSAPI event that matches the function fires. The first parameter is a *Session, and the second parameter is a pointer to a struct corresponding to the event for which you want to listen.
eg:
Session.AddHandler(func(s *discordgo.Session, m *discordgo.MessageCreate) { })
or:
Session.AddHandler(func(s *discordgo.Session, m *discordgo.PresenceUpdate) { })
List of events can be found at this page, with corresponding names in the library for each event: https://discordapp.com/developers/docs/topics/gateway#event-names There are also synthetic events fired by the library internally which are available for handling, like Connect, Disconnect, and RateLimit. events.go contains all of the Discord WSAPI and synthetic events that can be handled.
The return value of this method is a function, that when called will remove the event handler.
func (*Session) AddHandlerOnce ¶ added in v0.15.0
func (s *Session) AddHandlerOnce(handler interface{}) func()
AddHandlerOnce allows you to add an event handler that will be fired the next time the Discord WSAPI event that matches the function fires. See AddHandler for more details.
func (*Session) Application ¶ added in v0.12.0
func (s *Session) Application(appID string) (st *Application, err error)
Application returns an Application structure of a specific Application
appID : The ID of an Application
func (*Session) ApplicationBotCreate ¶ added in v0.12.0
ApplicationBotCreate creates an Application Bot Account
appID : The ID of an Application
NOTE: func name may change, if I can think up something better.
func (*Session) ApplicationCreate ¶ added in v0.12.0
func (s *Session) ApplicationCreate(ap *Application) (st *Application, err error)
ApplicationCreate creates a new Application
name : Name of Application / Bot uris : Redirect URIs (Not required)
func (*Session) ApplicationDelete ¶ added in v0.12.0
ApplicationDelete deletes an existing Application
appID : The ID of an Application
func (*Session) ApplicationUpdate ¶ added in v0.12.0
func (s *Session) ApplicationUpdate(appID string, ap *Application) (st *Application, err error)
ApplicationUpdate updates an existing Application
var : desc
func (*Session) Applications ¶ added in v0.12.0
func (s *Session) Applications() (st []*Application, err error)
Applications returns all applications for the authenticated user
func (*Session) Channel ¶
Channel returns a Channel structure of a specific Channel. will first try the state cache before querying the discord api channelID : The ID of the Channel you want returned.
func (*Session) ChannelDelete ¶
ChannelDelete deletes the given channel channelID : The ID of a Channel
func (*Session) ChannelEdit ¶
ChannelEdit edits the given channel channelID : The ID of a Channel name : The new name to assign the channel.
func (*Session) ChannelEditComplex ¶ added in v0.18.0
func (s *Session) ChannelEditComplex(channelID string, data *ChannelEdit) (st *Channel, err error)
ChannelEditComplex edits an existing channel, replacing the parameters entirely with ChannelEdit struct channelID : The ID of a Channel data : The channel struct to send
func (*Session) ChannelFileSend ¶ added in v0.11.0
ChannelFileSend sends a file to the given channel. channelID : The ID of a Channel. name: The name of the file. io.Reader : A reader for the file contents.
func (*Session) ChannelFileSendWithMessage ¶ added in v0.15.0
func (s *Session) ChannelFileSendWithMessage(channelID, content string, name string, r io.Reader) (*Message, error)
ChannelFileSendWithMessage sends a file to the given channel with an message. DEPRECATED. Use ChannelMessageSendComplex instead. channelID : The ID of a Channel. content: Optional Message content. name: The name of the file. io.Reader : A reader for the file contents.
func (*Session) ChannelInviteCreate ¶
ChannelInviteCreate creates a new invite for the given channel. channelID : The ID of a Channel i : An Invite struct with the values MaxAge, MaxUses and Temporary defined.
func (*Session) ChannelInvites ¶
ChannelInvites returns an array of Invite structures for the given channel channelID : The ID of a Channel
func (*Session) ChannelMessage ¶ added in v0.13.0
ChannelMessage gets a single message by ID from a given channel. channeld : The ID of a Channel messageID : the ID of a Message
func (*Session) ChannelMessageAck ¶
ChannelMessageAck acknowledges and marks the given message as read channeld : The ID of a Channel messageID : the ID of a Message lastToken : token returned by last ack
func (*Session) ChannelMessageDelete ¶
ChannelMessageDelete deletes a message from the Channel.
func (*Session) ChannelMessageEdit ¶
ChannelMessageEdit edits an existing message, replacing it entirely with the given content. channelID : The ID of a Channel messageID : The ID of a Message content : The contents of the message
func (*Session) ChannelMessageEditComplex ¶ added in v0.16.0
func (s *Session) ChannelMessageEditComplex(m *MessageEdit) (st *Message, err error)
ChannelMessageEditComplex edits an existing message, replacing it entirely with the given MessageEdit struct
func (*Session) ChannelMessageEditEmbed ¶ added in v0.15.0
func (s *Session) ChannelMessageEditEmbed(channelID, messageID string, embed *MessageEmbed) (*Message, error)
ChannelMessageEditEmbed edits an existing message with embedded data. channelID : The ID of a Channel messageID : The ID of a Message embed : The embed data to send
func (*Session) ChannelMessagePin ¶ added in v0.13.0
ChannelMessagePin pins a message within a given channel. channelID: The ID of a channel. messageID: The ID of a message.
func (*Session) ChannelMessageSend ¶
ChannelMessageSend sends a message to the given channel. channelID : The ID of a Channel. content : The message to send.
func (*Session) ChannelMessageSendComplex ¶ added in v0.16.0
func (s *Session) ChannelMessageSendComplex(channelID string, data *MessageSend) (st *Message, err error)
ChannelMessageSendComplex sends a message to the given channel. channelID : The ID of a Channel. data : The message struct to send.
func (*Session) ChannelMessageSendEmbed ¶ added in v0.15.0
func (s *Session) ChannelMessageSendEmbed(channelID string, embed *MessageEmbed) (*Message, error)
ChannelMessageSendEmbed sends a message to the given channel with embedded data. channelID : The ID of a Channel. embed : The embed data to send.
func (*Session) ChannelMessageSendTTS ¶ added in v0.11.0
ChannelMessageSendTTS sends a message to the given channel with Text to Speech. channelID : The ID of a Channel. content : The message to send.
func (*Session) ChannelMessageUnpin ¶ added in v0.13.0
ChannelMessageUnpin unpins a message within a given channel. channelID: The ID of a channel. messageID: The ID of a message.
func (*Session) ChannelMessages ¶
func (s *Session) ChannelMessages(channelID string, limit int, beforeID, afterID, aroundID string) (st []*Message, err error)
ChannelMessages returns an array of Message structures for messages within a given channel. channelID : The ID of a Channel. limit : The number messages that can be returned. (max 100) beforeID : If provided all messages returned will be before given ID. afterID : If provided all messages returned will be after given ID. aroundID : If provided all messages returned will be around given ID.
func (*Session) ChannelMessagesBulkDelete ¶ added in v0.13.0
ChannelMessagesBulkDelete bulk deletes the messages from the channel for the provided messageIDs. If only one messageID is in the slice call channelMessageDelete function. If the slice is empty do nothing. channelID : The ID of the channel for the messages to delete. messages : The IDs of the messages to be deleted. A slice of string IDs. A maximum of 100 messages.
func (*Session) ChannelMessagesPinned ¶ added in v0.13.0
ChannelMessagesPinned returns an array of Message structures for pinned messages within a given channel channelID : The ID of a Channel.
func (*Session) ChannelPermissionDelete ¶ added in v0.7.0
ChannelPermissionDelete deletes a specific permission override for the given channel. NOTE: Name of this func may change.
func (*Session) ChannelPermissionSet ¶ added in v0.7.0
func (s *Session) ChannelPermissionSet(channelID, targetID, targetType string, allow, deny Permissions) (err error)
ChannelPermissionSet creates a Permission Override for the given channel. NOTE: This func name may changed. Using Set instead of Create because you can both create a new override or update an override with this function.
func (*Session) ChannelTyping ¶
ChannelTyping broadcasts to all members that authenticated user is typing in the given channel. channelID : The ID of a Channel
func (*Session) ChannelVoiceJoin ¶ added in v0.9.0
func (s *Session) ChannelVoiceJoin(gID, cID string, mute, deaf bool) (voice *VoiceConnection, err error)
ChannelVoiceJoin joins the session user to a voice channel.
gID : Guild ID of the channel to join. cID : Channel ID of the channel to join. mute : If true, you will be set to muted upon joining. deaf : If true, you will be set to deafened upon joining.
func (*Session) ChannelVoiceJoinManual ¶ added in v0.20.0
ChannelVoiceJoinManual initiates a voice session to a voice channel, but does not complete it.
This should only be used when the VoiceServerUpdate will be intercepted and used elsewhere.
gID : Guild ID of the channel to join. cID : Channel ID of the channel to join. mute : If true, you will be set to muted upon joining. deaf : If true, you will be set to deafened upon joining.
func (*Session) ChannelWebhooks ¶ added in v0.15.0
ChannelWebhooks returns all webhooks for a given channel. channelID: The ID of a channel.
func (*Session) Close ¶
Close closes a websocket and stops all listening/heartbeat goroutines. TODO: Add support for Voice WS/UDP connections
func (*Session) FetchChannel ¶ added in v0.20.15
FetchChannel returns a Channel structure of a specific Channel using the discord api. channelID : The ID of the Channel you want returned.
func (*Session) FetchGuildMember ¶ added in v0.20.15
FetchGuildMember returns a member of a guild from the discord api.
guildID : The ID of a Guild. userID : The ID of a User
func (*Session) FetchUser ¶ added in v0.20.15
FetchUser returns the user details of the given userID from the discord api userID : A user ID or "@me" which is a shortcut of current user ID
func (*Session) GatewayBot ¶ added in v0.17.0
func (s *Session) GatewayBot() (st *GatewayBotResponse, err error)
GatewayBot returns the websocket Gateway address and the recommended number of shards
func (*Session) Guild ¶
Guild returns a Guild structure of a specific Guild. guildID : The ID of a Guild
func (*Session) GuildAuditLog ¶ added in v0.20.0
func (s *Session) GuildAuditLog(guildID, userID, beforeID string, actionType, limit int) (st *GuildAuditLog, err error)
GuildAuditLog returns the audit log for a Guild. guildID : The ID of a Guild. userID : If provided the log will be filtered for the given ID. beforeID : If provided all log entries returned will be before the given ID. actionType : If provided the log will be filtered for the given Action Type. limit : The number messages that can be returned. (default 50, min 1, max 100)
func (*Session) GuildBan ¶ added in v0.20.13
GuildBan returns the GuildBan structure of the banned user in the given guild guildID : The ID of a Guild. userID : The ID of a User
func (*Session) GuildBanCreate ¶ added in v0.7.0
GuildBanCreate bans the given user from the given guild. guildID : The ID of a Guild. userID : The ID of a User days : The number of days of previous comments to delete.
func (*Session) GuildBanCreateWithReason ¶ added in v0.16.0
GuildBanCreateWithReason bans the given user from the given guild also providing a reason. guildID : The ID of a Guild. userID : The ID of a User reason : The reason for this ban days : The number of days of previous comments to delete.
func (*Session) GuildBanDelete ¶
GuildBanDelete removes the given user from the guild bans guildID : The ID of a Guild. userID : The ID of a User
func (*Session) GuildBans ¶
GuildBans returns an array of GuildBan structures for all bans of a given guild. guildID : The ID of a Guild.
func (*Session) GuildChannelCreate ¶
func (s *Session) GuildChannelCreate(guildID, name string, ctype ChannelType) (st *Channel, err error)
GuildChannelCreate creates a new channel in the given guild guildID : The ID of a Guild. name : Name of the channel (2-100 chars length) ctype : Type of the channel
func (*Session) GuildChannelCreateComplex ¶ added in v0.20.0
func (s *Session) GuildChannelCreateComplex(guildID string, data GuildChannelCreateData) (st *Channel, err error)
GuildChannelCreateComplex creates a new channel in the given guild guildID : The ID of a Guild data : A data struct describing the new Channel, Name and Type are mandatory, other fields depending on the type
func (*Session) GuildChannels ¶
GuildChannels returns an array of Channel structures for all channels of a given guild. guildID : The ID of a Guild.
func (*Session) GuildChannelsReorder ¶ added in v0.13.0
GuildChannelsReorder updates the order of channels in a guild guildID : The ID of a Guild. channels : Updated channels.
func (*Session) GuildCreate ¶
GuildCreate creates a new Guild name : A name for the Guild (2-100 characters)
func (*Session) GuildEdit ¶
func (s *Session) GuildEdit(guildID string, g GuildParams) (st *Guild, err error)
GuildEdit edits a new Guild guildID : The ID of a Guild g : A GuildParams struct with the values Name, Region and VerificationLevel defined.
func (*Session) GuildEmbed ¶ added in v0.13.0
func (s *Session) GuildEmbed(guildID string) (st *GuildEmbed, err error)
GuildEmbed returns the embed for a Guild. guildID : The ID of a Guild.
func (*Session) GuildEmbedEdit ¶ added in v0.13.0
GuildEmbedEdit returns the embed for a Guild. guildID : The ID of a Guild.
func (*Session) GuildEmojiCreate ¶ added in v0.20.0
func (s *Session) GuildEmojiCreate(guildID, name, image string, roles []string) (emoji *Emoji, err error)
GuildEmojiCreate creates a new emoji guildID : The ID of a Guild. name : The Name of the Emoji. image : The base64 encoded emoji image, has to be smaller than 256KB. roles : The roles for which this emoji will be whitelisted, can be nil.
func (*Session) GuildEmojiDelete ¶ added in v0.20.0
GuildEmojiDelete deletes an Emoji. guildID : The ID of a Guild. emojiID : The ID of an Emoji.
func (*Session) GuildEmojiEdit ¶ added in v0.20.0
func (s *Session) GuildEmojiEdit(guildID, emojiID, name string, roles []string) (emoji *Emoji, err error)
GuildEmojiEdit modifies an emoji guildID : The ID of a Guild. emojiID : The ID of an Emoji. name : The Name of the Emoji. roles : The roles for which this emoji will be whitelisted, can be nil.
func (*Session) GuildIcon ¶ added in v0.10.0
GuildIcon returns an image.Image of a guild icon. guildID : The ID of a Guild.
func (*Session) GuildIntegrationCreate ¶ added in v0.13.0
func (s *Session) GuildIntegrationCreate(guildID, integrationType, integrationID string) (err error)
GuildIntegrationCreate creates a Guild Integration. guildID : The ID of a Guild. integrationType : The Integration type. integrationID : The ID of an integration.
func (*Session) GuildIntegrationDelete ¶ added in v0.13.0
GuildIntegrationDelete removes the given integration from the Guild. guildID : The ID of a Guild. integrationID : The ID of an integration.
func (*Session) GuildIntegrationEdit ¶ added in v0.13.0
func (s *Session) GuildIntegrationEdit(guildID, integrationID string, expireBehavior, expireGracePeriod int, enableEmoticons bool) (err error)
GuildIntegrationEdit edits a Guild Integration. guildID : The ID of a Guild. integrationType : The Integration type. integrationID : The ID of an integration. expireBehavior : The behavior when an integration subscription lapses (see the integration object documentation). expireGracePeriod : Period (in seconds) where the integration will ignore lapsed subscriptions. enableEmoticons : Whether emoticons should be synced for this integration (twitch only currently).
func (*Session) GuildIntegrationSync ¶ added in v0.13.0
GuildIntegrationSync syncs an integration. guildID : The ID of a Guild. integrationID : The ID of an integration.
func (*Session) GuildIntegrations ¶ added in v0.13.0
func (s *Session) GuildIntegrations(guildID string) (st []*Integration, err error)
GuildIntegrations returns an array of Integrations for a guild. guildID : The ID of a Guild.
func (*Session) GuildInvites ¶
GuildInvites returns an array of Invite structures for the given guild guildID : The ID of a Guild.
func (*Session) GuildLeave ¶ added in v0.11.0
GuildLeave leaves a Guild. guildID : The ID of a Guild
func (*Session) GuildMember ¶ added in v0.11.0
GuildMember returns a member of a guild. will first try the state cache before querying the discord api
guildID : The ID of a Guild. userID : The ID of a User
func (*Session) GuildMemberAdd ¶ added in v0.20.0
func (s *Session) GuildMemberAdd(accessToken, guildID, userID, nick string, roles []string, mute, deaf bool) (err error)
GuildMemberAdd force joins a user to the guild.
accessToken : Valid access_token for the user. guildID : The ID of a Guild. userID : The ID of a User. nick : Value to set users nickname to roles : A list of role ID's to set on the member. mute : If the user is muted. deaf : If the user is deafened.
func (*Session) GuildMemberDelete ¶
GuildMemberDelete removes the given user from the given guild. guildID : The ID of a Guild. userID : The ID of a User
func (*Session) GuildMemberDeleteWithReason ¶ added in v0.17.0
GuildMemberDeleteWithReason removes the given user from the given guild. guildID : The ID of a Guild. userID : The ID of a User reason : The reason for the kick
func (*Session) GuildMemberEdit ¶ added in v0.11.0
GuildMemberEdit edits the roles of a member. guildID : The ID of a Guild. userID : The ID of a User. reason : The reason for the member role edit. roles : A list of role ID's to set on the member.
func (*Session) GuildMemberMove ¶ added in v0.11.0
GuildMemberMove moves a guild member from one voice channel to another
guildID : The ID of a Guild. userID : The ID of a User. channelID : The ID of a channel to move user to reason : The reason for the member move
func (*Session) GuildMemberNickname ¶ added in v0.13.0
GuildMemberNickname updates the nickname of a guild member guildID : The ID of a guild userID : The ID of a user userID : The ID of a user or "@me" which is a shortcut of the current user ID
func (*Session) GuildMemberRoleAdd ¶ added in v0.15.0
GuildMemberRoleAdd adds the specified role to a given member
guildID : The ID of a Guild. userID : The ID of a User. roleID : The ID of a Role to be assigned to the user. reason : The reason for the role add.
func (*Session) GuildMemberRoleRemove ¶ added in v0.15.0
GuildMemberRoleRemove removes the specified role to a given member
guildID : The ID of a Guild. userID : The ID of a User. roleID : The ID of a Role to be removed from the user. reason : The reason for the role remove.
func (*Session) GuildMemberVoiceDisconnect ¶ added in v0.20.13
GuildMemberVoiceDisconnect disconnects a member from a voice channel
guildID : The ID of a Guild. userID : The ID of a User. reason : The reason for the member move
func (*Session) GuildMembers ¶
GuildMembers returns a list of members for a guild.
guildID : The ID of a Guild. after : The id of the member to return members after limit : max number of members to return (max 1000)
func (*Session) GuildPrune ¶ added in v0.15.0
GuildPrune Begin as prune operation. Requires the 'KICK_MEMBERS' permission. Returns an object with one 'pruned' key indicating the number of members that were removed in the prune operation. guildID : The ID of a Guild. days : The number of days to count prune for (1 or more).
func (*Session) GuildPruneCount ¶ added in v0.15.0
GuildPruneCount Returns the number of members that would be removed in a prune operation. Requires 'KICK_MEMBER' permission. guildID : The ID of a Guild. days : The number of days to count prune for (1 or more).
func (*Session) GuildRoleCreate ¶ added in v0.7.0
GuildRoleCreate returns a new Guild Role. guildID: The ID of a Guild.
func (*Session) GuildRoleDelete ¶ added in v0.7.0
GuildRoleDelete deletes an existing role. guildID : The ID of a Guild. roleID : The ID of a Role.
func (*Session) GuildRoleEdit ¶ added in v0.7.0
func (s *Session) GuildRoleEdit(guildID, roleID, name string, color Color, hoist bool, perm Permissions, mention bool) (st *Role, err error)
GuildRoleEdit updates an existing Guild Role with new values guildID : The ID of a Guild. roleID : The ID of a Role. name : The name of the Role. color : The color of the role (decimal, not hex). hoist : Whether to display the role's users separately. perm : The permissions for the role. mention : Whether this role is mentionable
func (*Session) GuildRoleEditComplex ¶ added in v0.20.0
func (s *Session) GuildRoleEditComplex(guildID, roleID string, data *RoleEdit) (st *Role, err error)
GuildRoleEditComplex updates an existing Guild Role with new values guildID : The ID of a Guild. roleID : The ID of a Role. data : data to send to the API
func (*Session) GuildRoleReorder ¶ added in v0.7.0
GuildRoleReorder reoders guild roles guildID : The ID of a Guild. roles : A list of RoleMove objects.
func (*Session) GuildRoles ¶ added in v0.7.0
GuildRoles returns all roles for a given guild. guildID : The ID of a Guild.
func (*Session) GuildSplash ¶ added in v0.10.0
GuildSplash returns an image.Image of a guild splash image. guildID : The ID of a Guild.
func (*Session) GuildWebhooks ¶ added in v0.15.0
GuildWebhooks returns all webhooks for a given guild. guildID: The ID of a Guild.
func (*Session) HeartbeatLatency ¶ added in v0.20.0
HeartbeatLatency returns the latency between heartbeat acknowledgement and heartbeat send.
func (*Session) Invite ¶
Invite returns an Invite structure of the given invite inviteID : The invite code
func (*Session) InviteAccept ¶
InviteAccept accepts an Invite to a Guild or Channel inviteID : The invite code
func (*Session) InviteDelete ¶
InviteDelete deletes an existing invite inviteID : the code of an invite
func (*Session) InviteWithCounts ¶ added in v0.20.0
InviteWithCounts returns an Invite structure of the given invite including approximate member counts inviteID : The invite code
func (*Session) MessageReactionAdd ¶ added in v0.15.0
MessageReactionAdd creates an emoji reaction to a message. channelID : The channel ID. messageID : The message ID. emojiID : Either the unicode emoji for the reaction, or a guild emoji identifier.
func (*Session) MessageReactionRemove ¶ added in v0.15.0
MessageReactionRemove deletes an emoji reaction to a message. channelID : The channel ID. messageID : The message ID. emojiID : Either the unicode emoji for the reaction, or a guild emoji identifier. userID : @me or ID of the user to delete the reaction for.
func (*Session) MessageReactions ¶ added in v0.15.0
func (s *Session) MessageReactions(channelID, messageID, emojiID string, limit int) (st []*User, err error)
MessageReactions gets all the users reactions for a specific emoji. channelID : The channel ID. messageID : The message ID. emojiID : Either the unicode emoji for the reaction, or a guild emoji identifier. limit : max number of users to return (max 100)
func (*Session) MessageReactionsRemoveAll ¶ added in v0.17.0
MessageReactionsRemoveAll deletes all reactions from a message channelID : The channel ID messageID : The message ID.
func (*Session) Open ¶
Open creates a websocket connection to Discord. See: https://discordapp.com/developers/docs/topics/gateway#connecting
func (*Session) Request ¶
Request is the same as RequestWithBucketID but the bucket id is the same as the urlStr
func (*Session) RequestGuildMembers ¶ added in v0.15.0
RequestGuildMembers requests guild members from the gateway The gateway responds with GuildMembersChunk events guildID : The ID of the guild to request members of query : String that username starts with, leave empty to return all members limit : Max number of items to return, or 0 to request all members matched
func (*Session) RequestWithBucketID ¶ added in v0.15.0
func (s *Session) RequestWithBucketID(method, urlStr string, data interface{}, bucketID string) (response []byte, err error)
RequestWithBucketID makes a (GET/POST/...) Requests to Discord REST API with JSON data.
func (*Session) RequestWithLockedBucket ¶ added in v0.18.0
func (s *Session) RequestWithLockedBucket(method, urlStr, contentType string, b []byte, bucket *Bucket, sequence int) (response []byte, err error)
RequestWithLockedBucket makes a request using a bucket that's already been locked
func (*Session) UpdateListeningStatus ¶ added in v0.20.0
UpdateListeningStatus is used to set the user to "Listening to..." If game!="" then set to what user is listening to Else, set user to active and no game.
func (*Session) UpdateStatus ¶
UpdateStatus is used to update the user's status. If idle>0 then set status to idle. If game!="" then set game. if otherwise, set status to active, and no game.
func (*Session) UpdateStatusComplex ¶ added in v0.18.0
func (s *Session) UpdateStatusComplex(usd UpdateStatusData) (err error)
UpdateStatusComplex allows for sending the raw status update data untouched by discordgo.
func (*Session) UpdateStreamingStatus ¶ added in v0.13.0
UpdateStreamingStatus is used to update the user's streaming status. If idle>0 then set status to idle. If game!="" then set game. If game!="" and url!="" then set the status type to streaming with the URL set. if otherwise, set status to active, and no game.
func (*Session) User ¶
User returns the user details of the given userID, will first try the state cache before querying the discord api userID : A user ID or "@me" which is a shortcut of current user ID
func (*Session) UserAvatarDecode ¶ added in v0.16.0
UserAvatarDecode returns an image.Image of a user's Avatar user : The user which avatar should be retrieved
func (*Session) UserChannelCreate ¶
UserChannelCreate creates a new User (Private) Channel with another User recipientID : A user ID for the user to which this channel is opened with.
func (*Session) UserChannels ¶
UserChannels returns an array of Channel structures for all private channels.
func (*Session) UserGuilds ¶
UserGuilds returns an array of UserGuild structures for all guilds. limit : The number guilds that can be returned. (max 100) beforeID : If provided all guilds returned will be before given ID. afterID : If provided all guilds returned will be after given ID.
func (*Session) UserUpdate ¶ added in v0.6.0
UserUpdate updates a users settings.
func (*Session) UserUpdateStatus ¶ added in v0.15.0
UserUpdateStatus update the user status status : The new status (Actual valid status are 'online','idle','dnd','invisible')
func (*Session) VoiceRegions ¶
func (s *Session) VoiceRegions() (st []*VoiceRegion, err error)
VoiceRegions returns the voice server regions
func (*Session) Webhook ¶ added in v0.15.0
Webhook returns a webhook for a given ID webhookID: The ID of a webhook.
func (*Session) WebhookCreate ¶ added in v0.15.0
WebhookCreate returns a new Webhook. channelID: The ID of a Channel. name : The name of the webhook. avatar : The avatar of the webhook.
func (*Session) WebhookDelete ¶ added in v0.15.0
WebhookDelete deletes a webhook for a given ID webhookID: The ID of a webhook.
func (*Session) WebhookDeleteWithToken ¶ added in v0.15.0
WebhookDeleteWithToken deletes a webhook for a given ID with an auth token. webhookID: The ID of a webhook. token : The auth token for the webhook.
func (*Session) WebhookEdit ¶ added in v0.15.0
WebhookEdit updates an existing Webhook. webhookID: The ID of a webhook. name : The name of the webhook. avatar : The avatar of the webhook.
func (*Session) WebhookEditWithToken ¶ added in v0.15.0
func (s *Session) WebhookEditWithToken(webhookID, token, name, avatar string) (st *Webhook, err error)
WebhookEditWithToken updates an existing Webhook with an auth token. webhookID: The ID of a webhook. token : The auth token for the webhook. name : The name of the webhook. avatar : The avatar of the webhook.
func (*Session) WebhookExecute ¶ added in v0.15.0
func (s *Session) WebhookExecute(webhookID, token string, wait bool, data *WebhookParams) (err error)
WebhookExecute executes a webhook. webhookID: The ID of a webhook. token : The auth token for the webhook
type State ¶ added in v0.8.0
type State struct { sync.RWMutex Ready // MaxMessageCount represents how many messages per channel the state will store. MaxMessageCount int TrackChannels bool TrackEmojis bool TrackMembers bool TrackRoles bool TrackVoice bool TrackPresences bool // contains filtered or unexported fields }
A State contains the current known state. As discord sends this in a READY blob, it seems reasonable to simply use that struct as the data store.
func (*State) Channel ¶ added in v0.8.0
Channel gets a channel by ID, it will look in all guilds and private channels.
func (*State) ChannelAdd ¶ added in v0.8.0
ChannelAdd adds a channel to the current world state, or updates it if it already exists. Channels may exist either as PrivateChannels or inside a guild.
func (*State) ChannelRemove ¶ added in v0.8.0
ChannelRemove removes a channel from current world state.
func (*State) Guild ¶ added in v0.8.0
Guild gets a guild by ID. Useful for querying if @me is in a guild:
_, err := discordgo.Session.State.Guild(guildID) isInGuild := err == nil
func (*State) GuildAdd ¶ added in v0.8.0
GuildAdd adds a guild to the current world state, or updates it if it already exists.
func (*State) GuildChannel ¶ added in v0.8.0
GuildChannel gets a channel by ID from a guild. This method is Deprecated, use Channel(channelID)
func (*State) GuildRemove ¶ added in v0.8.0
GuildRemove removes a guild from current world state.
func (*State) MemberAdd ¶ added in v0.8.0
MemberAdd adds a member to the current world state, or updates it if it already exists.
func (*State) MemberRemove ¶ added in v0.8.0
MemberRemove removes a member from current world state.
func (*State) MessageAdd ¶ added in v0.10.0
MessageAdd adds a message to the current world state, or updates it if it exists. If the channel cannot be found, the message is discarded. Messages are kept in state up to s.MaxMessageCount per channel.
func (*State) MessageRemove ¶ added in v0.10.0
MessageRemove removes a message from the world state.
func (*State) OnInterface ¶ added in v0.17.0
OnInterface handles all events related to states.
func (*State) PresenceAdd ¶ added in v0.16.0
PresenceAdd adds a presence to the current world state, or updates it if it already exists.
func (*State) PresenceRemove ¶ added in v0.16.0
PresenceRemove removes a presence from the current world state.
func (*State) PrivateChannel ¶ added in v0.8.0
PrivateChannel gets a private channel by ID. This method is Deprecated, use Channel(channelID)
func (*State) RoleAdd ¶ added in v0.13.0
RoleAdd adds a role to the current world state, or updates it if it already exists.
func (*State) RoleRemove ¶ added in v0.13.0
RoleRemove removes a role from current world state by ID.
func (*State) UserColor ¶ added in v0.16.0
UserColor returns the color of a user in a channel. While colors are defined at a Guild level, determining for a channel is more useful in message handlers. 0 is returned in cases of error, which is the color of @everyone. userID : The ID of the user to calculate the color for. channelID : The ID of the channel to calculate the color for.
type TimeSortable ¶ added in v0.20.15
TimeSortable objects are objects which can return their creation time and thus can be sorted on when they were created
type TimeSorter ¶ added in v0.20.15
type TimeSorter []TimeSortable
TimeSorter is a struct for allowing sorting on objects with a CreatedAt method
func (TimeSorter) Len ¶ added in v0.20.15
func (t TimeSorter) Len() int
func (TimeSorter) Less ¶ added in v0.20.15
func (t TimeSorter) Less(i, j int) bool
func (TimeSorter) Swap ¶ added in v0.20.15
func (t TimeSorter) Swap(i, j int)
type TimeStamps ¶ added in v0.18.0
type TimeStamps struct { EndTimestamp int64 `json:"end,omitempty"` StartTimestamp int64 `json:"start,omitempty"` }
A TimeStamps struct contains start and end times used in the rich presence "playing .." Game
func (*TimeStamps) UnmarshalJSON ¶ added in v0.18.0
func (t *TimeStamps) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals JSON into TimeStamps struct
type Timestamp ¶ added in v0.15.0
type Timestamp string
Timestamp stores a timestamp, as sent by the Discord API.
type TooManyRequests ¶ added in v0.13.0
type TooManyRequests struct { Bucket string `json:"bucket"` Message string `json:"message"` RetryAfter time.Duration `json:"retry_after"` }
A TooManyRequests struct holds information received from Discord when receiving a HTTP 429 response.
type TypingStart ¶
type TypingStart struct { UserID string `json:"user_id"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id,omitempty"` Timestamp int `json:"timestamp"` }
TypingStart is the data for a TypingStart event.
type UpdateStatusData ¶ added in v0.18.0
type UpdateStatusData struct { IdleSince *int `json:"since"` Game *Game `json:"game"` AFK bool `json:"afk"` Status string `json:"status"` }
UpdateStatusData ia provided to UpdateStatusComplex()
type User ¶
type User struct { // The ID of the user. ID string `json:"id"` // The email of the user. This is only present when // the application possesses the email scope for the user. Email string `json:"email"` // The user's username. Username string `json:"username"` // The hash of the user's avatar. Use Session.UserAvatar // to retrieve the avatar itself. Avatar string `json:"avatar"` // The user's chosen language option. Locale string `json:"locale"` // The discriminator of the user (4 numbers after name). Discriminator string `json:"discriminator"` // The token of the user. This is only present for // the user represented by the current session. Token string `json:"token"` // Whether the user's email is verified. Verified bool `json:"verified"` // Whether the user has multi-factor authentication enabled. MFAEnabled bool `json:"mfa_enabled"` // Whether the user is a bot. Bot bool `json:"bot"` // dm channel with the user, call CreateDM if it doesn't exist DMChannel *Channel `json:"dm_channel,omitempty"` // the flags on an user's account (the badges) Flags int `json:"flags"` // TODO: make commands to parse this // which nitro type the user has PremiumType PremiumType `json:"premium_type"` // The Session to call the API and retrieve other objects Session *Session `json:"-"` // contains filtered or unexported fields }
A User stores all data for an individual Discord user.
func (*User) AvatarURL ¶ added in v0.17.0
AvatarURL returns a URL to the user's avatar.
size: The size of the user's avatar as a power of two if size is an empty string, no size parameter will be added to the URL.
func (*User) CreateDM ¶ added in v0.20.0
CreateDM creates a DM channel between the client and the user, populating User.DMChannel with it. This should usually not be called as it already gets done for you when sending or editing messages
func (User) EditMessage ¶ added in v0.20.0
func (u User) EditMessage(data *MessageEdit) (edited *Message, err error)
EditMessage edits an existing message, replacing it entirely with the given MessageEdit struct
func (User) FetchMessage ¶ added in v0.20.0
FetchMessage fetches a message with the given ID from the channel ID : ID of the message to fetch
func (User) GetHistory ¶ added in v0.20.0
GetHistory fetches up to limit messages from the user limit : The number messages that can be returned. (max 100) beforeID : If provided all messages returned will be before given ID. afterID : If provided all messages returned will be after given ID. aroundID : If provided all messages returned will be around given ID.
func (User) GetHistoryIterator ¶ added in v0.20.15
func (u User) GetHistoryIterator() *HistoryIterator
GetHistoryIterator returns a bare HistoryIterator for this user.
func (*User) IsAvatarAnimated ¶ added in v0.20.0
IsAvatarAnimated indicates if the user has an animated avatar
func (*User) IsBugHunter ¶ added in v0.20.16
IsBugHunter returns true if the user is a Bug Hunter
func (*User) IsDiscordEmployee ¶ added in v0.20.16
IsDiscordEmployee returns true if the user is a discord employee
func (*User) IsDiscordPartner ¶ added in v0.20.16
IsDiscordPartner returns true if the user is a discord partner
func (*User) IsEarlySupporter ¶ added in v0.20.16
IsEarlySupporter returns true if the user is an Early Supporter
func (*User) IsHouseBalance ¶ added in v0.20.16
IsHouseBalance returns true if the user is part of House Balance
func (*User) IsHouseBravery ¶ added in v0.20.16
IsHouseBravery returns true if the user is part of House Bravery
func (*User) IsHouseBrilliance ¶ added in v0.20.16
IsHouseBrilliance returns true if the user is part of House Brilliance
func (*User) IsHypeSquadEvents ¶ added in v0.20.16
IsHypeSquadEvents returns true if the user is part of HypeSquad Events
func (*User) IsMentionedIn ¶ added in v0.20.0
IsMentionedIn checks if the user is mentioned in the given message message : message to check for mentions
func (*User) IsTeamUser ¶ added in v0.20.16
IsTeamUser returns true if the user is part of Team User
func (User) SendMessage ¶ added in v0.20.0
func (u User) SendMessage(content string, embed *MessageEmbed, files []*File) (message *Message, err error)
SendMessage sends a message to the user content : message content to send if provided embed : embed to attach to the message if provided files : files to attach to the message if provided
func (User) SendMessageComplex ¶ added in v0.20.0
func (u User) SendMessageComplex(data *MessageSend) (message *Message, err error)
SendMessageComplex sends a message to the user data : MessageSend object with the data to send
type UserGuild ¶ added in v0.15.0
type UserGuild struct { ID string `json:"id"` Name string `json:"name"` Icon string `json:"icon"` Owner bool `json:"owner"` Permissions int `json:"permissions"` }
A UserGuild holds a brief version of a Guild
type UserNoteUpdate ¶ added in v0.16.0
UserNoteUpdate is the data for a UserNoteUpdate event.
type UserUpdate ¶ added in v0.11.0
type UserUpdate struct {
*User
}
UserUpdate is the data for a UserUpdate event.
type VerificationLevel ¶ added in v0.12.0
type VerificationLevel int
VerificationLevel type definition
const ( VerificationLevelNone VerificationLevel = iota VerificationLevelLow VerificationLevelMedium VerificationLevelHigh VerificationLevelVeryHigh )
Constants for VerificationLevel levels from 0 to 4 inclusive
type VoiceConnection ¶ added in v0.12.0
type VoiceConnection struct { sync.RWMutex Debug bool // If true, print extra logging -- DEPRECATED LogLevel int Ready bool // If true, voice is ready to send/receive audio UserID string GuildID string ChannelID string OpusSend chan []byte // Chan for sending opus audio OpusRecv chan *Packet // Chan for receiving opus audio // contains filtered or unexported fields }
A VoiceConnection struct holds all the data and functions related to a Discord Voice Connection.
func (*VoiceConnection) AddHandler ¶ added in v0.12.0
func (v *VoiceConnection) AddHandler(h VoiceSpeakingUpdateHandler)
AddHandler adds a Handler for VoiceSpeakingUpdate events.
func (*VoiceConnection) ChangeChannel ¶ added in v0.12.0
func (v *VoiceConnection) ChangeChannel(channelID string, mute, deaf bool) (err error)
ChangeChannel sends Discord a request to change channels within a Guild !!! NOTE !!! This function may be removed in favour of just using ChannelVoiceJoin
func (*VoiceConnection) Close ¶ added in v0.12.0
func (v *VoiceConnection) Close()
Close closes the voice ws and udp connections
func (*VoiceConnection) Disconnect ¶ added in v0.12.0
func (v *VoiceConnection) Disconnect() (err error)
Disconnect disconnects from this voice channel and closes the websocket and udp connections to Discord.
func (*VoiceConnection) Speaking ¶ added in v0.12.0
func (v *VoiceConnection) Speaking(b bool) (err error)
Speaking sends a speaking notification to Discord over the voice websocket. This must be sent as true prior to sending audio and should be set to false once finished sending audio.
b : Send true if speaking, false if not.
type VoiceRegion ¶
type VoiceRegion struct { ID string `json:"id"` Name string `json:"name"` Hostname string `json:"sample_hostname"` Port int `json:"sample_port"` }
A VoiceRegion stores data for a specific voice region server.
type VoiceServerUpdate ¶
type VoiceServerUpdate struct { Token string `json:"token"` GuildID string `json:"guild_id"` Endpoint string `json:"endpoint"` }
VoiceServerUpdate is the data for a VoiceServerUpdate event.
type VoiceSpeakingUpdate ¶ added in v0.12.0
type VoiceSpeakingUpdate struct { UserID string `json:"user_id"` SSRC int `json:"ssrc"` Speaking bool `json:"speaking"` }
VoiceSpeakingUpdate is a struct for a VoiceSpeakingUpdate event.
type VoiceSpeakingUpdateHandler ¶ added in v0.12.0
type VoiceSpeakingUpdateHandler func(vc *VoiceConnection, vs *VoiceSpeakingUpdate)
VoiceSpeakingUpdateHandler type provides a function definition for the VoiceSpeakingUpdate event
type VoiceState ¶
type VoiceState struct { UserID string `json:"user_id"` SessionID string `json:"session_id"` ChannelID string `json:"channel_id"` GuildID string `json:"guild_id"` Suppress bool `json:"suppress"` SelfMute bool `json:"self_mute"` SelfDeaf bool `json:"self_deaf"` Mute bool `json:"mute"` Deaf bool `json:"deaf"` }
A VoiceState stores the voice states of Guilds
type VoiceStateUpdate ¶ added in v0.11.0
type VoiceStateUpdate struct {
*VoiceState
}
VoiceStateUpdate is the data for a VoiceStateUpdate event.
type Webhook ¶ added in v0.15.0
type Webhook struct { ID string `json:"id"` GuildID string `json:"guild_id"` ChannelID string `json:"channel_id"` User *User `json:"user"` Name string `json:"name"` Avatar string `json:"avatar"` Token string `json:"token"` }
Webhook stores the data for a webhook.
type WebhookParams ¶ added in v0.15.0
type WebhookParams struct { Content string `json:"content,omitempty"` Username string `json:"username,omitempty"` AvatarURL string `json:"avatar_url,omitempty"` TTS bool `json:"tts,omitempty"` File string `json:"file,omitempty"` Embeds []*MessageEmbed `json:"embeds,omitempty"` }
WebhookParams is a struct for webhook params, used in the WebhookExecute command.
type WebhooksUpdate ¶ added in v0.20.0
type WebhooksUpdate struct { GuildID string `json:"guild_id"` ChannelID string `json:"channel_id"` }
WebhooksUpdate is the data for a WebhooksUpdate event
Source Files ¶
- auditlog.go
- channels.go
- color.go
- discord.go
- embed.go
- emoji.go
- endpoints.go
- event.go
- eventhandlers.go
- events.go
- guild.go
- interfaces.go
- iterators.go
- logging.go
- member.go
- message.go
- oauth2.go
- permissions.go
- ratelimit.go
- reaction.go
- restapi.go
- roles.go
- state.go
- structs.go
- types.go
- user.go
- utils.go
- voice.go
- wsapi.go