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.ID, withLocalizations bool, opts ...RequestOpt) ([]discord.ApplicationCommand, error) GetGlobalCommand(applicationID snowflake.ID, commandID snowflake.ID, opts ...RequestOpt) (discord.ApplicationCommand, error) CreateGlobalCommand(applicationID snowflake.ID, commandCreate discord.ApplicationCommandCreate, opts ...RequestOpt) (discord.ApplicationCommand, error) SetGlobalCommands(applicationID snowflake.ID, commandCreates []discord.ApplicationCommandCreate, opts ...RequestOpt) ([]discord.ApplicationCommand, error) UpdateGlobalCommand(applicationID snowflake.ID, commandID snowflake.ID, commandUpdate discord.ApplicationCommandUpdate, opts ...RequestOpt) (discord.ApplicationCommand, error) DeleteGlobalCommand(applicationID snowflake.ID, commandID snowflake.ID, opts ...RequestOpt) error GetGuildCommands(applicationID snowflake.ID, guildID snowflake.ID, withLocalizations bool, opts ...RequestOpt) ([]discord.ApplicationCommand, error) GetGuildCommand(applicationID snowflake.ID, guildID snowflake.ID, commandID snowflake.ID, opts ...RequestOpt) (discord.ApplicationCommand, error) CreateGuildCommand(applicationID snowflake.ID, guildID snowflake.ID, command discord.ApplicationCommandCreate, opts ...RequestOpt) (discord.ApplicationCommand, error) SetGuildCommands(applicationID snowflake.ID, guildID snowflake.ID, commands []discord.ApplicationCommandCreate, opts ...RequestOpt) ([]discord.ApplicationCommand, error) UpdateGuildCommand(applicationID snowflake.ID, guildID snowflake.ID, commandID snowflake.ID, command discord.ApplicationCommandUpdate, opts ...RequestOpt) (discord.ApplicationCommand, error) DeleteGuildCommand(applicationID snowflake.ID, guildID snowflake.ID, commandID snowflake.ID, opts ...RequestOpt) error GetGuildCommandsPermissions(applicationID snowflake.ID, guildID snowflake.ID, opts ...RequestOpt) ([]discord.ApplicationCommandPermissions, error) GetGuildCommandPermissions(applicationID snowflake.ID, guildID snowflake.ID, commandID snowflake.ID, opts ...RequestOpt) (*discord.ApplicationCommandPermissions, error) }
func NewApplications ¶
func NewApplications(client Client) Applications
type Channels ¶
type Channels interface { GetChannel(channelID snowflake.ID, opts ...RequestOpt) (discord.Channel, error) UpdateChannel(channelID snowflake.ID, channelUpdate discord.ChannelUpdate, opts ...RequestOpt) (discord.Channel, error) DeleteChannel(channelID snowflake.ID, opts ...RequestOpt) error GetWebhooks(channelID snowflake.ID, opts ...RequestOpt) ([]discord.Webhook, error) CreateWebhook(channelID snowflake.ID, webhookCreate discord.WebhookCreate, opts ...RequestOpt) (discord.Webhook, error) GetPermissionOverwrites(channelID snowflake.ID, opts ...RequestOpt) ([]discord.PermissionOverwrite, error) GetPermissionOverwrite(channelID snowflake.ID, overwriteID snowflake.ID, opts ...RequestOpt) (*discord.PermissionOverwrite, error) UpdatePermissionOverwrite(channelID snowflake.ID, overwriteID snowflake.ID, permissionOverwrite discord.PermissionOverwriteUpdate, opts ...RequestOpt) error DeletePermissionOverwrite(channelID snowflake.ID, overwriteID snowflake.ID, opts ...RequestOpt) error SendTyping(channelID snowflake.ID, opts ...RequestOpt) error GetMessage(channelID snowflake.ID, messageID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) GetMessages(channelID snowflake.ID, around snowflake.ID, before snowflake.ID, after snowflake.ID, limit int, opts ...RequestOpt) ([]discord.Message, error) CreateMessage(channelID snowflake.ID, messageCreate discord.MessageCreate, opts ...RequestOpt) (*discord.Message, error) UpdateMessage(channelID snowflake.ID, messageID snowflake.ID, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error) DeleteMessage(channelID snowflake.ID, messageID snowflake.ID, opts ...RequestOpt) error BulkDeleteMessages(channelID snowflake.ID, messageIDs []snowflake.ID, opts ...RequestOpt) error CrosspostMessage(channelID snowflake.ID, messageID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) GetReactions(channelID snowflake.ID, messageID snowflake.ID, emoji string, opts ...RequestOpt) ([]discord.User, error) AddReaction(channelID snowflake.ID, messageID snowflake.ID, emoji string, opts ...RequestOpt) error RemoveOwnReaction(channelID snowflake.ID, messageID snowflake.ID, emoji string, opts ...RequestOpt) error RemoveUserReaction(channelID snowflake.ID, messageID snowflake.ID, emoji string, userID snowflake.ID, opts ...RequestOpt) error RemoveAllReactions(channelID snowflake.ID, messageID snowflake.ID, opts ...RequestOpt) error RemoveAllReactionsForEmoji(channelID snowflake.ID, messageID snowflake.ID, emoji string, opts ...RequestOpt) error GetPinnedMessages(channelID snowflake.ID, opts ...RequestOpt) ([]discord.Message, error) PinMessage(channelID snowflake.ID, messageID snowflake.ID, opts ...RequestOpt) error UnpinMessage(channelID snowflake.ID, messageID snowflake.ID, 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.ID, opts ...RequestOpt) ([]discord.Emoji, error) GetEmoji(guildID snowflake.ID, emojiID snowflake.ID, opts ...RequestOpt) (*discord.Emoji, error) CreateEmoji(guildID snowflake.ID, emojiCreate discord.EmojiCreate, opts ...RequestOpt) (*discord.Emoji, error) UpdateEmoji(guildID snowflake.ID, emojiID snowflake.ID, emojiUpdate discord.EmojiUpdate, opts ...RequestOpt) (*discord.Emoji, error) DeleteEmoji(guildID snowflake.ID, emojiID snowflake.ID, 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.ID, withUserCounts bool, opts ...RequestOpt) ([]discord.GuildScheduledEvent, error) GetGuildScheduledEvent(guildID snowflake.ID, guildScheduledEventID snowflake.ID, withUserCounts bool, opts ...RequestOpt) (*discord.GuildScheduledEvent, error) CreateGuildScheduledEvent(guildID snowflake.ID, guildScheduledEventCreate discord.GuildScheduledEventCreate, opts ...RequestOpt) (*discord.GuildScheduledEvent, error) UpdateGuildScheduledEvent(guildID snowflake.ID, guildScheduledEventID snowflake.ID, guildScheduledEventUpdate discord.GuildScheduledEventUpdate, opts ...RequestOpt) (*discord.GuildScheduledEvent, error) DeleteGuildScheduledEvent(guildID snowflake.ID, guildScheduledEventID snowflake.ID, opts ...RequestOpt) error GetGuildScheduledEventUsers(guildID snowflake.ID, guildScheduledEventID snowflake.ID, limit int, withMember bool, before snowflake.ID, after snowflake.ID, opts ...RequestOpt) ([]discord.GuildScheduledEventUser, error) }
func NewGuildScheduledEvents ¶
func NewGuildScheduledEvents(client Client) GuildScheduledEvents
type GuildTemplates ¶
type GuildTemplates interface { GetGuildTemplate(templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error) GetGuildTemplates(guildID snowflake.ID, opts ...RequestOpt) ([]discord.GuildTemplate, error) CreateGuildTemplate(guildID snowflake.ID, guildTemplateCreate discord.GuildTemplateCreate, opts ...RequestOpt) (*discord.GuildTemplate, error) CreateGuildFromTemplate(templateCode string, createGuildFromTemplate discord.GuildFromTemplateCreate, opts ...RequestOpt) (*discord.Guild, error) SyncGuildTemplate(guildID snowflake.ID, templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error) UpdateGuildTemplate(guildID snowflake.ID, templateCode string, guildTemplateUpdate discord.GuildTemplateUpdate, opts ...RequestOpt) (*discord.GuildTemplate, error) DeleteGuildTemplate(guildID snowflake.ID, templateCode string, opts ...RequestOpt) (*discord.GuildTemplate, error) }
func NewGuildTemplates ¶
func NewGuildTemplates(client Client) GuildTemplates
type Guilds ¶
type Guilds interface { GetGuild(guildID snowflake.ID, withCounts bool, opts ...RequestOpt) (*discord.RestGuild, error) GetGuildPreview(guildID snowflake.ID, opts ...RequestOpt) (*discord.GuildPreview, error) CreateGuild(guildCreate discord.GuildCreate, opts ...RequestOpt) (*discord.RestGuild, error) UpdateGuild(guildID snowflake.ID, guildUpdate discord.GuildUpdate, opts ...RequestOpt) (*discord.RestGuild, error) DeleteGuild(guildID snowflake.ID, opts ...RequestOpt) error CreateGuildChannel(guildID snowflake.ID, guildChannelCreate discord.GuildChannelCreate, opts ...RequestOpt) (discord.GuildChannel, error) GetGuildChannels(guildID snowflake.ID, opts ...RequestOpt) ([]discord.GuildChannel, error) UpdateChannelPositions(guildID snowflake.ID, guildChannelPositionUpdates []discord.GuildChannelPositionUpdate, opts ...RequestOpt) error GetRoles(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Role, error) GetRole(guildID snowflake.ID, roleID snowflake.ID, opts ...RequestOpt) ([]discord.Role, error) CreateRole(guildID snowflake.ID, createRole discord.RoleCreate, opts ...RequestOpt) (*discord.Role, error) UpdateRole(guildID snowflake.ID, roleID snowflake.ID, roleUpdate discord.RoleUpdate, opts ...RequestOpt) (*discord.Role, error) UpdateRolePositions(guildID snowflake.ID, rolePositionUpdates []discord.RolePositionUpdate, opts ...RequestOpt) ([]discord.Role, error) DeleteRole(guildID snowflake.ID, roleID snowflake.ID, opts ...RequestOpt) error GetBans(guildID snowflake.ID, before snowflake.ID, after snowflake.ID, limit int, opts ...RequestOpt) ([]discord.Ban, error) GetBan(guildID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) (*discord.Ban, error) AddBan(guildID snowflake.ID, userID snowflake.ID, deleteMessageDays int, opts ...RequestOpt) error DeleteBan(guildID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) error GetIntegrations(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Integration, error) DeleteIntegration(guildID snowflake.ID, integrationID snowflake.ID, opts ...RequestOpt) error GetAllWebhooks(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Webhook, error) GetAuditLog(guildID snowflake.ID, userID snowflake.ID, actionType discord.AuditLogEvent, before snowflake.ID, limit int, opts ...RequestOpt) (*discord.AuditLog, error) }
type Interactions ¶
type Interactions interface { GetInteractionResponse(applicationID snowflake.ID, interactionToken string, opts ...RequestOpt) (*discord.Message, error) CreateInteractionResponse(interactionID snowflake.ID, interactionToken string, interactionResponse discord.InteractionResponse, opts ...RequestOpt) error UpdateInteractionResponse(applicationID snowflake.ID, interactionToken string, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error) DeleteInteractionResponse(applicationID snowflake.ID, interactionToken string, opts ...RequestOpt) error GetFollowupMessage(applicationID snowflake.ID, interactionToken string, messageID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) CreateFollowupMessage(applicationID snowflake.ID, interactionToken string, messageCreate discord.MessageCreate, opts ...RequestOpt) (*discord.Message, error) UpdateFollowupMessage(applicationID snowflake.ID, interactionToken string, messageID snowflake.ID, messageUpdate discord.MessageUpdate, opts ...RequestOpt) (*discord.Message, error) DeleteFollowupMessage(applicationID snowflake.ID, interactionToken string, messageID snowflake.ID, opts ...RequestOpt) error }
func NewInteractions ¶
func NewInteractions(client Client) Interactions
type Invites ¶
type Invites interface { GetInvite(code string, opts ...RequestOpt) (*discord.Invite, error) CreateInvite(channelID snowflake.ID, inviteCreate discord.InviteCreate, opts ...RequestOpt) (*discord.Invite, error) DeleteInvite(code string, opts ...RequestOpt) (*discord.Invite, error) GetGuildInvites(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Invite, error) GetChannelInvites(channelID snowflake.ID, opts ...RequestOpt) ([]discord.Invite, error) }
func NewInvites ¶
type Members ¶
type Members interface { GetMember(guildID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) (*discord.Member, error) GetMembers(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Member, error) SearchMembers(guildID snowflake.ID, query string, limit int, opts ...RequestOpt) ([]discord.Member, error) AddMember(guildID snowflake.ID, userID snowflake.ID, memberAdd discord.MemberAdd, opts ...RequestOpt) (*discord.Member, error) RemoveMember(guildID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) error UpdateMember(guildID snowflake.ID, userID snowflake.ID, memberUpdate discord.MemberUpdate, opts ...RequestOpt) (*discord.Member, error) AddMemberRole(guildID snowflake.ID, userID snowflake.ID, roleID snowflake.ID, opts ...RequestOpt) error RemoveMemberRole(guildID snowflake.ID, userID snowflake.ID, roleID snowflake.ID, opts ...RequestOpt) error UpdateSelfNick(guildID snowflake.ID, nick string, opts ...RequestOpt) (*string, error) UpdateCurrentUserVoiceState(guildID snowflake.ID, currentUserVoiceStateUpdate discord.UserVoiceStateUpdate, opts ...RequestOpt) error UpdateUserVoiceState(guildID snowflake.ID, userID snowflake.ID, 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.ID, after snowflake.ID, limit int, opts ...RequestOpt) ([]discord.OAuth2Guild, error) GetCurrentUserConnections(bearerToken string, opts ...RequestOpt) ([]discord.Connection, error) SetGuildCommandPermissions(bearerToken string, applicationID snowflake.ID, guildID snowflake.ID, commandID snowflake.ID, commandPermissions []discord.ApplicationCommandPermission, opts ...RequestOpt) (*discord.ApplicationCommandPermissions, error) GetAccessToken(clientID snowflake.ID, clientSecret string, code string, redirectURI string, opts ...RequestOpt) (*discord.AccessTokenExchange, error) RefreshAccessToken(clientID snowflake.ID, 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 }
RequestConfig are additional options for the request
func DefaultRequestConfig ¶
func DefaultRequestConfig(rq *http.Request) *RequestConfig
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 { Client Applications OAuth2 Gateway Guilds Members Channels Threads Interactions Invites GuildTemplates Users Voice Webhooks StageInstances Emojis Stickers GuildScheduledEvents }
Rest is a manager for all of disgo's HTTP requests
type StageInstances ¶
type StageInstances interface { GetStageInstance(guildID snowflake.ID, opts ...RequestOpt) (*discord.StageInstance, error) CreateStageInstance(stageInstanceCreate discord.StageInstanceCreate, opts ...RequestOpt) (*discord.StageInstance, error) UpdateStageInstance(guildID snowflake.ID, stageInstanceUpdate discord.StageInstanceUpdate, opts ...RequestOpt) (*discord.StageInstance, error) DeleteStageInstance(guildID snowflake.ID, opts ...RequestOpt) error }
func NewStageInstances ¶
func NewStageInstances(client Client) StageInstances
type Stickers ¶
type Stickers interface { GetNitroStickerPacks(opts ...RequestOpt) ([]discord.StickerPack, error) GetSticker(stickerID snowflake.ID, opts ...RequestOpt) (*discord.Sticker, error) GetStickers(guildID snowflake.ID, opts ...RequestOpt) ([]discord.Sticker, error) CreateSticker(guildID snowflake.ID, createSticker discord.StickerCreate, opts ...RequestOpt) (*discord.Sticker, error) UpdateSticker(guildID snowflake.ID, stickerID snowflake.ID, stickerUpdate discord.StickerUpdate, opts ...RequestOpt) (*discord.Sticker, error) DeleteSticker(guildID snowflake.ID, stickerID snowflake.ID, opts ...RequestOpt) error }
func NewStickers ¶
type Threads ¶
type Threads interface { CreateThreadWithMessage(channelID snowflake.ID, messageID snowflake.ID, threadCreateWithMessage discord.ThreadCreateWithMessage, opts ...RequestOpt) (thread discord.GuildThread, err error) CreateThread(channelID snowflake.ID, threadCreate discord.ThreadCreate, opts ...RequestOpt) (thread discord.GuildThread, err error) JoinThread(threadID snowflake.ID, opts ...RequestOpt) error LeaveThread(threadID snowflake.ID, opts ...RequestOpt) error AddThreadMember(threadID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) error RemoveThreadMember(threadID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) error GetThreadMember(threadID snowflake.ID, userID snowflake.ID, opts ...RequestOpt) (threadMember *discord.ThreadMember, err error) GetThreadMembers(threadID snowflake.ID, opts ...RequestOpt) (threadMembers []discord.ThreadMember, err error) GetPublicArchivedThreads(channelID snowflake.ID, before time.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error) GetPrivateArchivedThreads(channelID snowflake.ID, before time.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error) GetJoinedPrivateArchivedThreads(channelID snowflake.ID, before time.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error) }
func NewThreads ¶
type Users ¶
type Users interface { GetUser(userID snowflake.ID, 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.ID, opts ...RequestOpt) error GetDMChannels(opts ...RequestOpt) ([]discord.Channel, error) CreateDMChannel(userID snowflake.ID, opts ...RequestOpt) (*discord.DMChannel, error) }
type Voice ¶
type Voice interface {
GetVoiceRegions(opts ...RequestOpt) ([]discord.VoiceRegion, error)
}
type Webhooks ¶
type Webhooks interface { GetWebhook(webhookID snowflake.ID, opts ...RequestOpt) (discord.Webhook, error) UpdateWebhook(webhookID snowflake.ID, webhookUpdate discord.WebhookUpdate, opts ...RequestOpt) (discord.Webhook, error) DeleteWebhook(webhookID snowflake.ID, opts ...RequestOpt) error GetWebhookWithToken(webhookID snowflake.ID, webhookToken string, opts ...RequestOpt) (discord.Webhook, error) UpdateWebhookWithToken(webhookID snowflake.ID, webhookToken string, webhookUpdate discord.WebhookUpdateWithToken, opts ...RequestOpt) (discord.Webhook, error) DeleteWebhookWithToken(webhookID snowflake.ID, webhookToken string, opts ...RequestOpt) error CreateWebhookMessage(webhookID snowflake.ID, webhookToken string, messageCreate discord.WebhookMessageCreate, wait bool, threadID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) CreateWebhookMessageSlack(webhookID snowflake.ID, webhookToken string, messageCreate discord.Payload, wait bool, threadID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) CreateWebhookMessageGitHub(webhookID snowflake.ID, webhookToken string, messageCreate discord.Payload, wait bool, threadID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) UpdateWebhookMessage(webhookID snowflake.ID, webhookToken string, messageID snowflake.ID, messageUpdate discord.WebhookMessageUpdate, threadID snowflake.ID, opts ...RequestOpt) (*discord.Message, error) DeleteWebhookMessage(webhookID snowflake.ID, webhookToken string, messageID snowflake.ID, threadID snowflake.ID, opts ...RequestOpt) error }