Documentation
¶
Index ¶
- Variables
- func NewError(rq *http.Request, rqBody []byte, rs *http.Response, rsBody []byte) error
- func NewErrorAPIErr(rq *http.Request, rqBody []byte, rs *http.Response, rsBody []byte, ...) error
- func NewErrorErr(rq *http.Request, rqBody []byte, rs *http.Response, rsBody []byte, err error) error
- type ApplicationService
- type AuditLogService
- type AuditLogServiceImpl
- type ChannelService
- type Check
- type Client
- type Config
- type ConfigOpt
- func WithBotTokenFunc(botTokenFunc func() string) ConfigOpt
- func WithHTTPClient(httpClient *http.Client) ConfigOpt
- func WithLogger(logger log.Logger) ConfigOpt
- func WithRateLimiter(rateLimiter rrate.Limiter) ConfigOpt
- func WithRateLimiterConfig(rateLimiterConfig rrate.Config) ConfigOpt
- func WithRateLimiterConfigOpts(opts ...rrate.ConfigOpt) ConfigOpt
- func WithUserAgent(userAgent string) ConfigOpt
- type EmojiService
- type Error
- type GatewayService
- type GuildScheduledEventService
- type GuildService
- type GuildTemplateService
- type InteractionService
- type InviteService
- type OAuth2Service
- type RequestConfig
- type RequestOpt
- type Service
- type Services
- type StageInstanceService
- type StickerService
- type ThreadService
- type UserService
- type VoiceService
- type WebhookService
Constants ¶
This section is empty.
Variables ¶
var DefaultConfig = Config{ HTTPClient: &http.Client{Timeout: 20 * time.Second}, RateLimiterConfig: &rrate.DefaultConfig, UserAgent: fmt.Sprintf("DiscordBot (%s, %s)", info.GitHub, info.Version), }
DefaultConfig is the configuration which is used by default
Functions ¶
Types ¶
type ApplicationService ¶
type ApplicationService interface {
Service
GetGlobalCommands(applicationID snowflake.Snowflake, 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, 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 NewApplicationService ¶
func NewApplicationService(restClient Client) ApplicationService
type AuditLogService ¶
type AuditLogService interface {
Service
GetAuditLog(guildID snowflake.Snowflake, userID snowflake.Snowflake, actionType discord.AuditLogEvent, before snowflake.Snowflake, limit int, opts ...RequestOpt) (*discord.AuditLog, error)
}
func NewAuditLogService ¶
func NewAuditLogService(restClient Client) AuditLogService
type AuditLogServiceImpl ¶
type AuditLogServiceImpl struct {
// contains filtered or unexported fields
}
func (*AuditLogServiceImpl) GetAuditLog ¶
func (s *AuditLogServiceImpl) GetAuditLog(guildID snowflake.Snowflake, userID snowflake.Snowflake, actionType discord.AuditLogEvent, before snowflake.Snowflake, limit int, opts ...RequestOpt) (auditLog *discord.AuditLog, err error)
func (*AuditLogServiceImpl) RestClient ¶
func (s *AuditLogServiceImpl) RestClient() Client
type ChannelService ¶
type ChannelService interface {
Service
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 NewChannelService ¶
func NewChannelService(restClient Client) ChannelService
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
// Config returns the Config the rest client uses
Config() Config
// 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 interface{} as json and unmarshalls the response into the given interface
Do(route *route.CompiledAPIRoute, rqBody interface{}, rsBody interface{}, opts ...RequestOpt) error
}
Client allows doing requests to different endpoints
type Config ¶
type Config struct {
Logger log.Logger
HTTPClient *http.Client
RateLimiter rrate.Limiter
RateLimiterConfig *rrate.Config
BotTokenFunc func() string
UserAgent string
}
Config is the configuration for the rest client
type ConfigOpt ¶
type ConfigOpt func(config *Config)
ConfigOpt can be used to supply optional parameters to NewClient
func WithBotTokenFunc ¶ added in v0.6.6
WithBotTokenFunc sets the function to get the bot token
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 WithRateLimiterConfig ¶
WithRateLimiterConfig applies a custom logger to the rest rate limiter
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 EmojiService ¶
type EmojiService interface {
Service
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
}
func NewEmojiService ¶
func NewEmojiService(restClient Client) EmojiService
type Error ¶
type Error struct {
discord.APIError
Request *http.Request
RqBody []byte
Response *http.Response
RsBody []byte
Err error
}
Error holds the http.Response & an error related to a REST request
type GatewayService ¶
type GatewayService interface {
Service
GetGateway(opts ...RequestOpt) (*discord.Gateway, error)
GetGatewayBot(opts ...RequestOpt) (*discord.GatewayBot, error)
}
func NewGatewayService ¶
func NewGatewayService(restClient Client) GatewayService
type GuildScheduledEventService ¶ added in v0.6.1
type GuildScheduledEventService interface {
Service
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 NewGuildScheduledEventService ¶ added in v0.6.1
func NewGuildScheduledEventService(restClient Client) GuildScheduledEventService
type GuildService ¶
type GuildService interface {
Service
GetGuild(guildID snowflake.Snowflake, withCounts bool, opts ...RequestOpt) (*discord.Guild, error)
GetGuildPreview(guildID snowflake.Snowflake, opts ...RequestOpt) (*discord.GuildPreview, error)
CreateGuild(guildCreate discord.GuildCreate, opts ...RequestOpt) (*discord.Guild, error)
UpdateGuild(guildID snowflake.Snowflake, guildUpdate discord.GuildUpdate, opts ...RequestOpt) (*discord.Guild, error)
DeleteGuild(guildID snowflake.Snowflake, opts ...RequestOpt) error
CreateChannel(guildID snowflake.Snowflake, guildChannelCreate discord.GuildChannelCreate, opts ...RequestOpt) (discord.GuildChannel, 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
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)
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)
UpdateCurrentUserVoiceState(guildID snowflake.Snowflake, currentUserVoiceStateUpdate discord.UserVoiceStateUpdate, opts ...RequestOpt) error
UpdateUserVoiceState(guildID snowflake.Snowflake, userID snowflake.Snowflake, userVoiceStateUpdate discord.UserVoiceStateUpdate, opts ...RequestOpt) error
}
func NewGuildService ¶
func NewGuildService(restClient Client) GuildService
type GuildTemplateService ¶
type GuildTemplateService interface {
Service
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 NewGuildTemplateService ¶
func NewGuildTemplateService(restClient Client) GuildTemplateService
type InteractionService ¶
type InteractionService interface {
Service
GetInteractionResponse(interactionID 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 NewInteractionService ¶
func NewInteractionService(restClient Client) InteractionService
type InviteService ¶
type InviteService interface {
Service
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 NewInviteService ¶
func NewInviteService(restClient Client) InviteService
type OAuth2Service ¶
type OAuth2Service interface {
Service
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)
}
func NewOAuth2Service ¶
func NewOAuth2Service(restClient Client) OAuth2Service
type RequestConfig ¶
type RequestConfig struct {
Request *http.Request
Ctx context.Context
Checks []Check
Delay time.Duration
}
RequestConfig are additional options for the request
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 WithHeader ¶
func WithHeader(key string, value string) RequestOpt
WithHeader adds a custom header to the request
func WithQueryParam ¶
func WithQueryParam(param string, value interface{}) 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 Services ¶
type Services interface {
Logger() log.Logger
RestClient() Client
HTTPClient() *http.Client
Close(ctx context.Context)
ApplicationService() ApplicationService
OAuth2Service() OAuth2Service
AuditLogService() AuditLogService
GatewayService() GatewayService
GuildService() GuildService
ChannelService() ChannelService
ThreadService() ThreadService
InteractionService() InteractionService
InviteService() InviteService
GuildTemplateService() GuildTemplateService
UserService() UserService
VoiceService() VoiceService
WebhookService() WebhookService
StageInstanceService() StageInstanceService
EmojiService() EmojiService
StickerService() StickerService
GuildScheduledEventService() GuildScheduledEventService
}
Services is a manager for all of disgo's HTTP requests
type StageInstanceService ¶
type StageInstanceService interface {
Service
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 NewStageInstanceService ¶
func NewStageInstanceService(restClient Client) StageInstanceService
type StickerService ¶
type StickerService 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 NewStickerService ¶
func NewStickerService(restClient Client) StickerService
type ThreadService ¶
type ThreadService interface {
Service
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)
GetJoinedPrivateAchievedThreads(channelID snowflake.Snowflake, before discord.Time, limit int, opts ...RequestOpt) (threads *discord.GetThreads, err error)
GetActiveGuildThreads(guildID snowflake.Snowflake, opts ...RequestOpt) (threads *discord.GetAllThreads, err error)
}
func NewThreadService ¶
func NewThreadService(restClient Client) ThreadService
type UserService ¶
type UserService interface {
Service
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.Channel, error)
}
func NewUserService ¶
func NewUserService(restClient Client) UserService
type VoiceService ¶
type VoiceService interface {
Service
GetVoiceRegions(opts ...RequestOpt) ([]discord.VoiceRegion, error)
}
func NewVoiceService ¶
func NewVoiceService(restClient Client) VoiceService
type WebhookService ¶
type WebhookService interface {
Service
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
}
func NewWebhookService ¶
func NewWebhookService(restClient Client) WebhookService
Source Files
¶
- application_service.go
- audit_log_service.go
- channel_service.go
- emoji_service.go
- gateway_service.go
- guild_scheduled_event_service.go
- guild_service.go
- guild_template_service.go
- interaction_service.go
- invite_service.go
- oauth2_service.go
- request_opt.go
- rest_client.go
- rest_config.go
- rest_error.go
- rest_services.go
- stage_instance_service.go
- sticker_service.go
- thread_service.go
- user_service.go
- voice_service.go
- webhook_service.go