Documentation
¶
Index ¶
- func NewError(rq *http.Request, rqBody []byte, rs *http.Response, rsBody []byte) error
- type Applications
- type Channels
- type Check
- type Client
- type Config
- type ConfigOpt
- type Emojis
- type Error
- type Gateway
- type GuildScheduledEvents
- type GuildTemplates
- type Guilds
- type Interactions
- type Invites
- type Members
- type OAuth2
- type RequestConfig
- type RequestOpt
- func WithCheck(check Check) RequestOpt
- func WithCtx(ctx context.Context) RequestOpt
- func WithDelay(delay time.Duration) RequestOpt
- func WithDiscordLocale(locale discord.Locale) RequestOpt
- func WithHeader(key string, value string) RequestOpt
- func WithQueryParam(param string, value any) RequestOpt
- func WithReason(reason string) RequestOpt
- func WithToken(tokenType discord.TokenType, token string) RequestOpt
- type Rest
- type StageInstances
- type Stickers
- type Threads
- type Users
- type Voice
- type Webhooks
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Applications ¶
type Applications interface {
GetGlobalCommands(applicationID snowflake.Snowflake, withLocalizations bool, opts ...RequestOpt) ([]discord.ApplicationCommand, error)
GetGlobalCommand(applicationID snowflake.Snowflake, commandID snowflake.Snowflake, opts ...RequestOpt) (discord.ApplicationCommand, error)
CreateGlobalCommand(applicationID snowflake.Snowflake, commandCreate discord.ApplicationCommandCreate, opts ...RequestOpt) (discord.ApplicationCommand, error)
SetGlobalCommands(applicationID snowflake.Snowflake, commandCreates []discord.ApplicationCommandCreate, opts ...RequestOpt) ([]discord.ApplicationCommand, error)
UpdateGlobalCommand(applicationID snowflake.Snowflake, commandID snowflake.Snowflake, commandUpdate discord.ApplicationCommandUpdate, opts ...RequestOpt) (discord.ApplicationCommand, error)
DeleteGlobalCommand(applicationID snowflake.Snowflake, commandID snowflake.Snowflake, opts ...RequestOpt) error
GetGuildCommands(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, withLocalizations bool, opts ...RequestOpt) ([]discord.ApplicationCommand, error)
GetGuildCommand(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandID snowflake.Snowflake, opts ...RequestOpt) (discord.ApplicationCommand, error)
CreateGuildCommand(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, command discord.ApplicationCommandCreate, opts ...RequestOpt) (discord.ApplicationCommand, error)
SetGuildCommands(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commands []discord.ApplicationCommandCreate, opts ...RequestOpt) ([]discord.ApplicationCommand, error)
UpdateGuildCommand(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandID snowflake.Snowflake, command discord.ApplicationCommandUpdate, opts ...RequestOpt) (discord.ApplicationCommand, error)
DeleteGuildCommand(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandID snowflake.Snowflake, opts ...RequestOpt) error
GetGuildCommandsPermissions(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.ApplicationCommandPermissions, error)
GetGuildCommandPermissions(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandID snowflake.Snowflake, opts ...RequestOpt) (*discord.ApplicationCommandPermissions, error)
SetGuildCommandsPermissions(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandPermissions []discord.ApplicationCommandPermissionsSet, opts ...RequestOpt) ([]discord.ApplicationCommandPermissions, error)
SetGuildCommandPermissions(applicationID snowflake.Snowflake, guildID snowflake.Snowflake, commandID snowflake.Snowflake, commandPermissions []discord.ApplicationCommandPermission, opts ...RequestOpt) (*discord.ApplicationCommandPermissions, error)
}
func NewApplications ¶
func NewApplications(restClient Client) Applications
type Channels ¶
type Channels interface {
GetChannel(channelID snowflake.Snowflake, opts ...RequestOpt) (discord.Channel, error)
UpdateChannel(channelID snowflake.Snowflake, channelUpdate discord.ChannelUpdate, opts ...RequestOpt) (discord.Channel, error)
DeleteChannel(channelID snowflake.Snowflake, opts ...RequestOpt) error
GetWebhooks(channelID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Webhook, error)
CreateWebhook(channelID snowflake.Snowflake, webhookCreate discord.WebhookCreate, opts ...RequestOpt) (discord.Webhook, error)
GetPermissionOverwrites(channelID snowflake.Snowflake, opts ...RequestOpt) ([]discord.PermissionOverwrite, error)
GetPermissionOverwrite(channelID snowflake.Snowflake, overwriteID snowflake.Snowflake, opts ...RequestOpt) (*discord.PermissionOverwrite, error)
UpdatePermissionOverwrite(channelID snowflake.Snowflake, overwriteID snowflake.Snowflake, permissionOverwrite discord.PermissionOverwriteUpdate, opts ...RequestOpt) error
DeletePermissionOverwrite(channelID snowflake.Snowflake, overwriteID snowflake.Snowflake, opts ...RequestOpt) error
SendTyping(channelID snowflake.Snowflake, opts ...RequestOpt) error
GetMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
GetMessages(channelID snowflake.Snowflake, around snowflake.Snowflake, before snowflake.Snowflake, after snowflake.Snowflake, limit int, opts ...RequestOpt) ([]discord.Message, error)
CreateMessage(channelID snowflake.Snowflake, messageCreate discord.MessageCreate, opts ...RequestOpt) (*discord.Message, error)
UpdateMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error)
DeleteMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) error
BulkDeleteMessages(channelID snowflake.Snowflake, messageIDs []snowflake.Snowflake, opts ...RequestOpt) error
CrosspostMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
GetReactions(channelID snowflake.Snowflake, messageID snowflake.Snowflake, emoji string, opts ...RequestOpt) ([]discord.User, error)
AddReaction(channelID snowflake.Snowflake, messageID snowflake.Snowflake, emoji string, opts ...RequestOpt) error
RemoveOwnReaction(channelID snowflake.Snowflake, messageID snowflake.Snowflake, emoji string, opts ...RequestOpt) error
RemoveUserReaction(channelID snowflake.Snowflake, messageID snowflake.Snowflake, emoji string, userID snowflake.Snowflake, opts ...RequestOpt) error
RemoveAllReactions(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) error
RemoveAllReactionsForEmoji(channelID snowflake.Snowflake, messageID snowflake.Snowflake, emoji string, opts ...RequestOpt) error
GetPinnedMessages(channelID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Message, error)
PinMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) error
UnpinMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, opts ...RequestOpt) error
}
func NewChannels ¶
type Check ¶
type Check func() bool
Check is a function which gets executed right before a request is made
type Client ¶
type Client interface {
// Logger returns the logger the rest client uses
Logger() log.Logger
// HTTPClient returns the http.Client the rest client uses
HTTPClient() *http.Client
// RateLimiter returns the rrate.Limiter the rest client uses
RateLimiter() rrate.Limiter
// Close closes the rest client and awaits all pending requests to finish. You can use a cancelling context to abort the waiting
Close(ctx context.Context)
// Do makes a request to the given route.CompiledAPIRoute and marshals the given any as json and unmarshalls the response into the given interface
Do(route *route.CompiledAPIRoute, rqBody any, rsBody any, opts ...RequestOpt) error
}
Client allows doing requests to different endpoints
type Config ¶
type Config struct {
Logger log.Logger
HTTPClient *http.Client
RateLimiter rrate.Limiter
RateLimiterConfigOpts []rrate.ConfigOpt
UserAgent string
}
Config is the configuration for the rest client
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig is the configuration which is used by default
type ConfigOpt ¶
type ConfigOpt func(config *Config)
ConfigOpt can be used to supply optional parameters to NewClient
func WithHTTPClient ¶
WithHTTPClient applies a custom http.Client to the rest rate limiter
func WithLogger ¶
WithLogger applies a custom logger to the rest rate limiter
func WithRateLimiter ¶
WithRateLimiter applies a custom rrate.Limiter to the rest client
func WithRateLimiterConfigOpts ¶
WithRateLimiterConfigOpts applies rrate.ConfigOpt for the rrate.Limiter to the rest rate limiter
func WithUserAgent ¶
WithUserAgent sets the user agent for all requests
type Emojis ¶
type Emojis interface {
GetEmojis(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Emoji, error)
GetEmoji(guildID snowflake.Snowflake, emojiID snowflake.Snowflake, opts ...RequestOpt) (*discord.Emoji, error)
CreateEmoji(guildID snowflake.Snowflake, emojiCreate discord.EmojiCreate, opts ...RequestOpt) (*discord.Emoji, error)
UpdateEmoji(guildID snowflake.Snowflake, emojiID snowflake.Snowflake, emojiUpdate discord.EmojiUpdate, opts ...RequestOpt) (*discord.Emoji, error)
DeleteEmoji(guildID snowflake.Snowflake, emojiID snowflake.Snowflake, opts ...RequestOpt) error
}
type Error ¶
Error holds the http.Response & an error related to a REST request
type Gateway ¶
type Gateway interface {
GetGateway(opts ...RequestOpt) (*discord.Gateway, error)
GetGatewayBot(opts ...RequestOpt) (*discord.GatewayBot, error)
}
func NewGateway ¶
type GuildScheduledEvents ¶
type GuildScheduledEvents interface {
GetGuildScheduledEvents(guildID snowflake.Snowflake, withUserCounts bool, opts ...RequestOpt) ([]discord.GuildScheduledEvent, error)
GetGuildScheduledEvent(guildID snowflake.Snowflake, guildScheduledEventID snowflake.Snowflake, withUserCounts bool, opts ...RequestOpt) (*discord.GuildScheduledEvent, error)
CreateGuildScheduledEvent(guildID snowflake.Snowflake, guildScheduledEventCreate discord.GuildScheduledEventCreate, opts ...RequestOpt) (*discord.GuildScheduledEvent, error)
UpdateGuildScheduledEvent(guildID snowflake.Snowflake, guildScheduledEventID snowflake.Snowflake, guildScheduledEventUpdate discord.GuildScheduledEventUpdate, opts ...RequestOpt) (*discord.GuildScheduledEvent, error)
DeleteGuildScheduledEvent(guildID snowflake.Snowflake, guildScheduledEventID snowflake.Snowflake, opts ...RequestOpt) error
GetGuildScheduledEventUsers(guildID snowflake.Snowflake, guildScheduledEventID snowflake.Snowflake, limit int, withMember bool, before snowflake.Snowflake, after snowflake.Snowflake, opts ...RequestOpt) ([]discord.GuildScheduledEventUser, error)
}
func NewGuildScheduledEvents ¶
func NewGuildScheduledEvents(restClient Client) GuildScheduledEvents
type GuildTemplates ¶
type GuildTemplates interface {
GetGuildTemplate(templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error)
GetGuildTemplates(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.GuildTemplate, error)
CreateGuildTemplate(guildID snowflake.Snowflake, guildTemplateCreate discord.GuildTemplateCreate, opts ...RequestOpt) (*discord.GuildTemplate, error)
CreateGuildFromTemplate(templateCode string, createGuildFromTemplate discord.GuildFromTemplateCreate, opts ...RequestOpt) (*discord.Guild, error)
SyncGuildTemplate(guildID snowflake.Snowflake, templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error)
UpdateGuildTemplate(guildID snowflake.Snowflake, templateCode string, guildTemplateUpdate discord.GuildTemplateUpdate, opts ...RequestOpt) (*discord.GuildTemplate, error)
DeleteGuildTemplate(guildID snowflake.Snowflake, templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error)
}
func NewGuildTemplates ¶
func NewGuildTemplates(restClient Client) GuildTemplates
type Guilds ¶
type Guilds interface {
GetGuild(guildID snowflake.Snowflake, withCounts bool, opts ...RequestOpt) (*discord.RestGuild, error)
GetGuildPreview(guildID snowflake.Snowflake, opts ...RequestOpt) (*discord.GuildPreview, error)
CreateGuild(guildCreate discord.GuildCreate, opts ...RequestOpt) (*discord.RestGuild, error)
UpdateGuild(guildID snowflake.Snowflake, guildUpdate discord.GuildUpdate, opts ...RequestOpt) (*discord.RestGuild, error)
DeleteGuild(guildID snowflake.Snowflake, opts ...RequestOpt) error
CreateGuildChannel(guildID snowflake.Snowflake, guildChannelCreate discord.GuildChannelCreate, opts ...RequestOpt) (discord.GuildChannel, error)
GetGuildChannels(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.GuildChannel, error)
UpdateChannelPositions(guildID snowflake.Snowflake, guildChannelPositionUpdates []discord.GuildChannelPositionUpdate, opts ...RequestOpt) error
GetRoles(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Role, error)
GetRole(guildID snowflake.Snowflake, roleID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Role, error)
CreateRole(guildID snowflake.Snowflake, createRole discord.RoleCreate, opts ...RequestOpt) (*discord.Role, error)
UpdateRole(guildID snowflake.Snowflake, roleID snowflake.Snowflake, roleUpdate discord.RoleUpdate, opts ...RequestOpt) (*discord.Role, error)
UpdateRolePositions(guildID snowflake.Snowflake, rolePositionUpdates []discord.RolePositionUpdate, opts ...RequestOpt) ([]discord.Role, error)
DeleteRole(guildID snowflake.Snowflake, roleID snowflake.Snowflake, opts ...RequestOpt) error
GetBans(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Ban, error)
GetBan(guildID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) (*discord.Ban, error)
AddBan(guildID snowflake.Snowflake, userID snowflake.Snowflake, deleteMessageDays int, opts ...RequestOpt) error
DeleteBan(guildID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) error
GetIntegrations(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Integration, error)
DeleteIntegration(guildID snowflake.Snowflake, integrationID snowflake.Snowflake, opts ...RequestOpt) error
GetWebhooks(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Webhook, error)
GetAuditLog(guildID snowflake.Snowflake, userID snowflake.Snowflake, actionType discord.AuditLogEvent, before snowflake.Snowflake, limit int, opts ...RequestOpt) (*discord.AuditLog, error)
}
type Interactions ¶
type Interactions interface {
GetInteractionResponse(applicationID snowflake.Snowflake, interactionToken string, opts ...RequestOpt) (*discord.Message, error)
CreateInteractionResponse(interactionID snowflake.Snowflake, interactionToken string, interactionResponse discord.InteractionResponse, opts ...RequestOpt) error
UpdateInteractionResponse(applicationID snowflake.Snowflake, interactionToken string, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error)
DeleteInteractionResponse(applicationID snowflake.Snowflake, interactionToken string, opts ...RequestOpt) error
GetFollowupMessage(applicationID snowflake.Snowflake, interactionToken string, messageID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
CreateFollowupMessage(applicationID snowflake.Snowflake, interactionToken string, messageCreate discord.MessageCreate, opts ...RequestOpt) (*discord.Message, error)
UpdateFollowupMessage(applicationID snowflake.Snowflake, interactionToken string, messageID snowflake.Snowflake, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error)
DeleteFollowupMessage(applicationID snowflake.Snowflake, interactionToken string, messageID snowflake.Snowflake, opts ...RequestOpt) error
}
func NewInteractions ¶
func NewInteractions(restClient Client) Interactions
type Invites ¶
type Invites interface {
GetInvite(code string, opts ...RequestOpt) (*discord.Invite, error)
CreateInvite(channelID snowflake.Snowflake, inviteCreate discord.InviteCreate, opts ...RequestOpt) (*discord.Invite, error)
DeleteInvite(code string, opts ...RequestOpt) (*discord.Invite, error)
GetGuildInvites(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Invite, error)
GetChannelInvites(channelID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Invite, error)
}
func NewInvites ¶
type Members ¶
type Members interface {
GetMember(guildID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) (*discord.Member, error)
GetMembers(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Member, error)
SearchMembers(guildID snowflake.Snowflake, query string, limit int, opts ...RequestOpt) ([]discord.Member, error)
AddMember(guildID snowflake.Snowflake, userID snowflake.Snowflake, memberAdd discord.MemberAdd, opts ...RequestOpt) (*discord.Member, error)
RemoveMember(guildID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) error
UpdateMember(guildID snowflake.Snowflake, userID snowflake.Snowflake, memberUpdate discord.MemberUpdate, opts ...RequestOpt) (*discord.Member, error)
AddMemberRole(guildID snowflake.Snowflake, userID snowflake.Snowflake, roleID snowflake.Snowflake, opts ...RequestOpt) error
RemoveMemberRole(guildID snowflake.Snowflake, userID snowflake.Snowflake, roleID snowflake.Snowflake, opts ...RequestOpt) error
UpdateSelfNick(guildID snowflake.Snowflake, nick string, opts ...RequestOpt) (*string, error)
UpdateCurrentUserVoiceState(guildID snowflake.Snowflake, currentUserVoiceStateUpdate discord.UserVoiceStateUpdate, opts ...RequestOpt) error
UpdateUserVoiceState(guildID snowflake.Snowflake, userID snowflake.Snowflake, userVoiceStateUpdate discord.UserVoiceStateUpdate, opts ...RequestOpt) error
}
func NewMembers ¶
type OAuth2 ¶
type OAuth2 interface {
GetBotApplicationInfo(opts ...RequestOpt) (*discord.Application, error)
GetCurrentAuthorizationInfo(bearerToken string, opts ...RequestOpt) (*discord.AuthorizationInformation, error)
GetCurrentUser(bearerToken string, opts ...RequestOpt) (*discord.OAuth2User, error)
GetCurrentUserGuilds(bearerToken string, before snowflake.Snowflake, after snowflake.Snowflake, limit int, opts ...RequestOpt) ([]discord.OAuth2Guild, error)
GetCurrentUserConnections(bearerToken string, opts ...RequestOpt) ([]discord.Connection, error)
GetAccessToken(clientID snowflake.Snowflake, clientSecret string, code string, redirectURI string, opts ...RequestOpt) (*discord.AccessTokenExchange, error)
RefreshAccessToken(clientID snowflake.Snowflake, clientSecret string, refreshToken string, opts ...RequestOpt) (*discord.AccessTokenExchange, error)
}
type RequestConfig ¶
type RequestConfig struct {
Request *http.Request
Ctx context.Context
Checks []Check
Delay time.Duration
TokenType discord.TokenType
Token string
}
RequestConfig are additional options for the request
func DefaultRequestConfig ¶
func (*RequestConfig) Apply ¶
func (c *RequestConfig) Apply(opts []RequestOpt)
Apply applies the given RequestOpt(s) to the RequestConfig & sets the context if none is set
type RequestOpt ¶
type RequestOpt func(config *RequestConfig)
RequestOpt can be used to supply optional parameters to Client.Do
func WithCtx ¶
func WithCtx(ctx context.Context) RequestOpt
WithCtx applies a custom context to the request
func WithDelay ¶
func WithDelay(delay time.Duration) RequestOpt
WithDelay applies a delay to the request
func WithDiscordLocale ¶
func WithDiscordLocale(locale discord.Locale) RequestOpt
WithDiscordLocale adds the X-Discord-Locale header with the passed locale to the request
func WithHeader ¶
func WithHeader(key string, value string) RequestOpt
WithHeader adds a custom header to the request
func WithQueryParam ¶
func WithQueryParam(param string, value any) RequestOpt
WithQueryParam applies a custom query parameter to the request
func WithReason ¶
func WithReason(reason string) RequestOpt
WithReason adds a reason header to the request. Not all discord endpoints support this
type Rest ¶
type Rest interface {
RestClient() Client
Close(ctx context.Context)
Applications() Applications
OAuth2() OAuth2
Gateway() Gateway
Guilds() Guilds
Members() Members
Channels() Channels
Threads() Threads
Interactions() Interactions
Invites() Invites
GuildTemplates() GuildTemplates
Users() Users
Voice() Voice
Webhooks() Webhooks
StageInstances() StageInstances
Emojis() Emojis
Stickers() Stickers
GuildScheduledEvents() GuildScheduledEvents
}
Rest is a manager for all of disgo's HTTP requests
type StageInstances ¶
type StageInstances interface {
GetStageInstance(guildID snowflake.Snowflake, opts ...RequestOpt) (*discord.StageInstance, error)
CreateStageInstance(stageInstanceCreate discord.StageInstanceCreate, opts ...RequestOpt) (*discord.StageInstance, error)
UpdateStageInstance(guildID snowflake.Snowflake, stageInstanceUpdate discord.StageInstanceUpdate, opts ...RequestOpt) (*discord.StageInstance, error)
DeleteStageInstance(guildID snowflake.Snowflake, opts ...RequestOpt) error
}
func NewStageInstances ¶
func NewStageInstances(restClient Client) StageInstances
type Stickers ¶
type Stickers interface {
GetNitroStickerPacks(opts ...RequestOpt) ([]discord.StickerPack, error)
GetSticker(stickerID snowflake.Snowflake, opts ...RequestOpt) (*discord.Sticker, error)
GetStickers(guildID snowflake.Snowflake, opts ...RequestOpt) ([]discord.Sticker, error)
CreateSticker(guildID snowflake.Snowflake, createSticker discord.StickerCreate, opts ...RequestOpt) (*discord.Sticker, error)
UpdateSticker(guildID snowflake.Snowflake, stickerID snowflake.Snowflake, stickerUpdate discord.StickerUpdate, opts ...RequestOpt) (*discord.Sticker, error)
DeleteSticker(guildID snowflake.Snowflake, stickerID snowflake.Snowflake, opts ...RequestOpt) error
}
func NewStickers ¶
type Threads ¶
type Threads interface {
CreateThreadWithMessage(channelID snowflake.Snowflake, messageID snowflake.Snowflake, threadCreateWithMessage discord.ThreadCreateWithMessage, opts ...RequestOpt) (thread discord.GuildThread, err error)
CreateThread(channelID snowflake.Snowflake, threadCreate discord.ThreadCreate, opts ...RequestOpt) (thread discord.GuildThread, err error)
JoinThread(threadID snowflake.Snowflake, opts ...RequestOpt) error
LeaveThread(threadID snowflake.Snowflake, opts ...RequestOpt) error
AddThreadMember(threadID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) error
RemoveThreadMember(threadID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) error
GetThreadMember(threadID snowflake.Snowflake, userID snowflake.Snowflake, opts ...RequestOpt) (threadMember *discord.ThreadMember, err error)
GetThreadMembers(threadID snowflake.Snowflake, opts ...RequestOpt) (threadMembers []discord.ThreadMember, err error)
GetPublicArchivedThreads(channelID snowflake.Snowflake, before discord.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error)
GetPrivateArchivedThreads(channelID snowflake.Snowflake, before discord.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error)
GetJoinedPrivateArchivedThreads(channelID snowflake.Snowflake, before discord.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error)
}
func NewThreads ¶
type Users ¶
type Users interface {
GetUser(userID snowflake.Snowflake, opts ...RequestOpt) (*discord.User, error)
UpdateSelfUser(selfUserUpdate discord.SelfUserUpdate, opts ...RequestOpt) (*discord.OAuth2User, error)
GetGuilds(before int, after int, limit int, opts ...RequestOpt) ([]discord.OAuth2Guild, error)
LeaveGuild(guildID snowflake.Snowflake, opts ...RequestOpt) error
GetDMChannels(opts ...RequestOpt) ([]discord.Channel, error)
CreateDMChannel(userID snowflake.Snowflake, opts ...RequestOpt) (*discord.DMChannel, error)
}
type Voice ¶
type Voice interface {
GetVoiceRegions(opts ...RequestOpt) ([]discord.VoiceRegion, error)
}
type Webhooks ¶
type Webhooks interface {
GetWebhook(webhookID snowflake.Snowflake, opts ...RequestOpt) (discord.Webhook, error)
UpdateWebhook(webhookID snowflake.Snowflake, webhookUpdate discord.WebhookUpdate, opts ...RequestOpt) (discord.Webhook, error)
DeleteWebhook(webhookID snowflake.Snowflake, opts ...RequestOpt) error
GetWebhookWithToken(webhookID snowflake.Snowflake, webhookToken string, opts ...RequestOpt) (discord.Webhook, error)
UpdateWebhookWithToken(webhookID snowflake.Snowflake, webhookToken string, webhookUpdate discord.WebhookUpdateWithToken, opts ...RequestOpt) (discord.Webhook, error)
DeleteWebhookWithToken(webhookID snowflake.Snowflake, webhookToken string, opts ...RequestOpt) error
CreateMessage(webhookID snowflake.Snowflake, webhookToken string, messageCreate discord.WebhookMessageCreate, wait bool, threadID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
CreateMessageSlack(webhookID snowflake.Snowflake, webhookToken string, messageCreate discord.Payload, wait bool, threadID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
CreateMessageGitHub(webhookID snowflake.Snowflake, webhookToken string, messageCreate discord.Payload, wait bool, threadID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
UpdateMessage(webhookID snowflake.Snowflake, webhookToken string, messageID snowflake.Snowflake, messageUpdate discord.WebhookMessageUpdate, threadID snowflake.Snowflake, opts ...RequestOpt) (*discord.Message, error)
DeleteMessage(webhookID snowflake.Snowflake, webhookToken string, messageID snowflake.Snowflake, threadID snowflake.Snowflake, opts ...RequestOpt) error
}