Documentation
¶
Index ¶
Constants ¶
const ( APIVersion = "8" Base = "https://discord.com/" CDN = "https://cdn.discordapp.com" API = Base + "api/v" + APIVersion )
Discord Endpoint Constants
Variables ¶
var ( GetGateway = NewAPIRoute(GET, "/gateway") GetGatewayBot = NewAPIRoute(GET, "/gateway/bot") GetBotApplication = NewAPIRoute(GET, "/oauth2/applications/@me") )
Misc
var ( GetGlobalCommands = NewAPIRoute(GET, "/applications/{application.id}/commands") GetGlobalCommand = NewAPIRoute(GET, "/applications/{application.id}/command/{command.id}") CreateGlobalCommand = NewAPIRoute(POST, "/applications/{application.id}/commands") SetGlobalCommands = NewAPIRoute(PUT, "/applications/{application.id}/commands") EditGlobalCommand = NewAPIRoute(PATCH, "/applications/{application.id}/commands/{command.id}") DeleteGlobalCommand = NewAPIRoute(DELETE, "/applications/{application.id}/commands") GetGuildCommands = NewAPIRoute(GET, "/applications/{application.id}/guilds/{guild.id}/commands") GetGuildCommand = NewAPIRoute(GET, "/applications/{application.id}/guilds/{guild.id}/command/{command.id}") CreateGuildCommand = NewAPIRoute(POST, "/applications/{application.id}/guilds/{guild.id}/commands") SetGuildCommands = NewAPIRoute(PUT, "/applications/{application.id}/guilds/{guild.id}/commands") EditGuildCommand = NewAPIRoute(PATCH, "/applications/{application.id}/guilds/{guild.id}/commands/{command.id}") DeleteGuildCommand = NewAPIRoute(DELETE, "/applications/{application.id}/guilds/{guild.id}/commands") GetGuildCommandPermissions = NewAPIRoute(GET, "/applications/{application.id}/guilds/{guild.id}/commands/permissions") GetGuildCommandPermission = NewAPIRoute(GET, "/applications/{application.id}/guilds/{guild.id}/commands/{command.id}/permissions") SetGuildCommandsPermissions = NewAPIRoute(PUT, "/applications/{application.id}/guilds/{guild.id}/commands/permissions") SetGuildCommandPermissions = NewAPIRoute(PUT, "/applications/{application.id}/guilds/{guild.id}/commands/{command.id}/permissions") CreateInteractionResponse = NewAPIRoute(POST, "/interactions/{interaction.id}/{interaction.token}/callback") EditInteractionResponse = NewAPIRoute(PATCH, "/webhooks/{application.id}/{interaction.token}/messages/@original") DeleteInteractionResponse = NewAPIRoute(DELETE, "/webhooks/{application.id}/{interaction.token}/messages/@original") CreateFollowupMessage = NewAPIRoute(POST, "/webhooks/{application.id}/{interaction.token}") EditFollowupMessage = NewAPIRoute(PATCH, "/webhooks/{application.id}/{interaction.token}/messages/{message.id}") DeleteFollowupMessage = NewAPIRoute(DELETE, "/webhooks/{application.id}/{interaction.token}/messages/{message.id}") )
Interactions
var ( GetUser = NewAPIRoute(GET, "/users/{user.id}") GetSelfUser = NewAPIRoute(GET, "/users/@me") UpdateSelfUser = NewAPIRoute(PATCH, "/users/@me") GetGuilds = NewAPIRoute(GET, "/users/@me/guilds") LeaveGuild = NewAPIRoute(DELETE, "/users/@me/guilds/{guild.id}") GetDMChannels = NewAPIRoute(GET, "/users/@me/channels") CreateDMChannel = NewAPIRoute(POST, "/users/@me/channels") )
Users
var ( GetGuild = NewAPIRoute(GET, "/guilds/{guild.id}") CreateGuild = NewAPIRoute(POST, "/guilds") UpdateGuild = NewAPIRoute(PATCH, "/guilds/{guild.id}") DeleteGuild = NewAPIRoute(DELETE, "/guilds/{guild.id}") GetVanityURL = NewAPIRoute(GET, "/guilds/{guild.id}/vanity-url") CreateChannel = NewAPIRoute(POST, "/guilds/{guild.id}/channels") GetChannels = NewAPIRoute(GET, "/guilds/{guild.id}/channels") UpdateChannels = NewAPIRoute(PATCH, "/guilds/{guild.id}/channels") GetBans = NewAPIRoute(GET, "/guilds/{guild.id}/bans") GetBan = NewAPIRoute(GET, "/guilds/{guild.id}/bans/{user.id}") CreateBan = NewAPIRoute(POST, "/guilds/{guild.id}/bans/{user.id}") DeleteBan = NewAPIRoute(DELETE, "/guilds/{guild.id}/bans/{user.id}") GetMember = NewAPIRoute(GET, "/guilds/{guild.id}/members/{user.id}") GetMembers = NewAPIRoute(GET, "/guilds/{guild.id}/members") AddMember = NewAPIRoute(PUT, "/guilds/{guild.id}/members/{user.id}") UpdateMember = NewAPIRoute(PATCH, "/guilds/{guild.id}/members/{user.id}") RemoveMember = NewAPIRoute(DELETE, "/guilds/{guild.id}/members/{user.id}") RemoveMemberReason = NewAPIRoute(DELETE, "/guilds/{guild.id}/members/{user.id}?reason={reason}") AddMemberRole = NewAPIRoute(PUT, "/guilds/{guild.id}/members/{user.id}/roles/{role.id}") RemoveMemberRole = NewAPIRoute(DELETE, "/guilds/{guild.id}/members/{user.id}/roles/{role.id}") UpdateSelfNick = NewAPIRoute(PATCH, "/guilds/{guild.id}/members/@me/nick") PrunableCount = NewAPIRoute(GET, "/guilds/{guild.id}/prune") PruneMembers = NewAPIRoute(POST, "/guilds/{guild.id}/prune") GetGuildWebhooks = NewAPIRoute(GET, "/guilds/{guild.id}/webhooks") GetAuditLogs = NewAPIRoute(GET, "/guilds/{guild.id}/audit-logs") GetVoiceRegions = NewAPIRoute(GET, "/guilds/{guild.id}/regions") GetIntegrations = NewAPIRoute(GET, "/guilds/{guild.id}/integrations") CreateIntegration = NewAPIRoute(POST, "/guilds/{guild.id}/integrations") UpdateIntegration = NewAPIRoute(PATCH, "/guilds/{guild.id}/integrations/{integration.id}") DeleteIntegration = NewAPIRoute(DELETE, "/guilds/{guild.id}/integrations/{integration.id}") SyncIntegration = NewAPIRoute(POST, "/guilds/{guild.id}/integrations/{integration.id}/sync") )
Guilds
var ( GetRoles = NewAPIRoute(GET, "/guilds/{guild.id}/roles") GetRole = NewAPIRoute(GET, "/guilds/{guild.id}/roles/{role.id}") CreateRole = NewAPIRoute(POST, "/guilds/{guild.id}/roles") UpdateRoles = NewAPIRoute(PATCH, "/guilds/{guild.id}/roles") UpdateRole = NewAPIRoute(PATCH, "/guilds/{guild.id}/roles/{role.id}") UpdateRolePositions = NewAPIRoute(PATCH, "/guilds/{guild.id}/roles") DelteRole = NewAPIRoute(DELETE, "/guilds/{guild.id}/roles/{role.id}") )
Roles
var ( GetChannel = NewAPIRoute(GET, "/channels/{channel.id}") UpdateChannel = NewAPIRoute(PATCH, "/channels/{channel.id}") DeleteChannel = NewAPIRoute(DELETE, "/channels/{channel.id}") GetWebhooks = NewAPIRoute(GET, "/channels/{channel.id}/webhooks") CreateWebhook = NewAPIRoute(POST, "/channels/{channel.id}/webhooks") GetPermissionOverrides = NewAPIRoute(GET, "/channels/{channel.id}/permissions") GetPermissionOverride = NewAPIRoute(GET, "/channels/{channel.id}/permissions/{overwrite.id}") CreatePermissionOverride = NewAPIRoute(PUT, "/channels/{channel.id}/permissions/{overwrite.id}") UpdatePermissionOverride = NewAPIRoute(PUT, "/channels/{channel.id}/permissions/{overwrite.id}") DeletePermissionOverride = NewAPIRoute(DELETE, "/channels/{channel.id}/permissions/{overwrite.id}") SendTyping = NewAPIRoute(POST, "/channels/{channel.id}/typing") )
Channels
var ( GetMessages = NewAPIRoute(GET, "/channels/{channel.id}/messages") GetMessage = NewAPIRoute(GET, "/channels/{channel.id}/messages/{message.id}") CreateMessage = NewAPIRoute(POST, "/channels/{channel.id}/messages") UpdateMessage = NewAPIRoute(PATCH, "/channels/{channel.id}/messages/{message.id}") DeleteMessage = NewAPIRoute(DELETE, "/channels/{channel.id}/messages/{message.id}") BulkDeleteMessage = NewAPIRoute(POST, "/channels/{channel.id}/messages/bulk-delete") GetPinnedMessages = NewAPIRoute(GET, "/channels/{channel.id}/pins") AddPinnedMessage = NewAPIRoute(PUT, "/channels/{channel.id}/pins/{message.id}") RemovePinnedMessage = NewAPIRoute(DELETE, "/channels/{channel.id}/pins/{message.id}") CrosspostMessage = NewAPIRoute(POST, "/channels/{channel.id}/messages/{message.id}/crosspost") GetReactions = NewAPIRoute(GET, "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}") AddReaction = NewAPIRoute(PUT, "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me") RemoveOwnReaction = NewAPIRoute(DELETE, "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}/@me") RemoveUserReaction = NewAPIRoute(DELETE, "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}/{user.id}") RemoveAllReactions = NewAPIRoute(DELETE, "/channels/{channel.id}/messages/{message.id}/reactions") RemoveAllReactionsEmoji = NewAPIRoute(DELETE, "/channels/{channel.id}/messages/{message.id}/reactions/{emoji}") )
Messages
var ( GetEmotes = NewAPIRoute(GET, "/guilds/{guild.id}/emojis") Getemote = NewAPIRoute(GET, "/guilds/{guild.id}/emojis/{emoji.id}") CreateEmote = NewAPIRoute(POST, "/guilds/{guild.id}/emojis") UpdateEmote = NewAPIRoute(PATCH, "/guilds/{guild.id}/emojis/{emote.id}") DeleteEmote = NewAPIRoute(DELETE, "/guilds/{guild.id}/emojis/{emote.id}") )
Emotes
var ( GetWebhook = NewAPIRoute(GET, "/webhooks/{webhook.id}") GetWebhookWithToken = NewAPIRoute(GET, "/webhooks/{webhook.id}/{token}") UpdateWebhok = NewAPIRoute(PATCH, "/webhooks/{webhook.id}") UpdateWebhokWithToken = NewAPIRoute(PATCH, "/webhooks/{webhook.id}/{token}") DeleteWebhook = NewAPIRoute(DELETE, "/webhooks/{webhook.id}") DeleteWebhookWithToken = NewAPIRoute(DELETE, "/webhooks/{webhook.id}/{token}") CreateWebhookMessage = NewAPIRoute(POST, "/webhooks/{webhook.id}") CreateWebhookMessageSlack = NewAPIRoute(POST, "/webhooks/{webhook.id}/slack") CreateWebhookMessageGithub = NewAPIRoute(POST, "/webhooks/{webhook.id}/github") UpdateWebhookMessage = NewAPIRoute(POST, "/webhooks/{webhook.id}/{token}/messages/{message.id}") DeleteWebhookMessage = NewAPIRoute(POST, "/webhooks/{webhook.id}/{token}/messages/{message.id}") )
Webhooks
var ( GetInvite = NewAPIRoute(GET, "/invites/{code}") CreateInvite = NewAPIRoute(POST, "/channels/{channel.id}/invites") DeleteInvite = NewAPIRoute(DELETE, "/invites/{code}") GetGuildInvite = NewAPIRoute(GET, "/guilds/{guild.id}/invites") GetChannelInvites = NewAPIRoute(GET, "/channels/{channel.id}/invites") )
Invites
var ( Emote = NewCDNRoute("/emojis/{emote.id}.", PNG, GIF) GuildIcon = NewCDNRoute("/icons/{guild.id}/{icon.hash}.", PNG, JPEG, WEBP, GIF) GuildSplash = NewCDNRoute("/splashes/{guild.id}/guild.splash.", PNG, JPEG, WEBP) GuildDiscoverySplash = NewCDNRoute("/discovery-splashes/{guild.id}/guild.discovery.splash.", PNG, JPEG, WEBP) GuildBanner = NewCDNRoute("/banners/{guild.id}/guild.banner.", PNG, JPEG, WEBP) DefaultUserAvatar = NewCDNRoute("/embed/avatars/{user.discriminator%5}.", PNG) UserAvatar = NewCDNRoute("/avatars/{user.id}/user.avatar.", PNG, JPEG, WEBP, GIF) ApplicationIcon = NewCDNRoute("/app-icons/{application.id}/icon.", PNG, JPEG, WEBP) ApplicationAsset = NewCDNRoute("/app-assets/{application.id}/{asset.id}.", PNG, JPEG, WEBP) AchievementIcon = NewCDNRoute("/app-assets/{application.id}/achievements/{achievement.id}/icons/{icon.hash}.", PNG, JPEG, WEBP) TeamIcon = NewCDNRoute("/team-icons/{team.id}/team.icon.", PNG, JPEG, WEBP) Attachments = NewCDNRoute("/attachments/{channel.id}/{attachment.id}/{file.name}", BLANK) )
CDN
var (
InviteURL = NewRoute("https://discord.gg/{code}")
)
Other
Functions ¶
This section is empty.
Types ¶
type APIRoute ¶
type APIRoute struct {
Route
// contains filtered or unexported fields
}
APIRoute is a basic struct containing Method and URL
func NewAPIRoute ¶
NewAPIRoute generates a new discord api route struct
func NewCustomRoute ¶ added in v0.1.3
NewCustomRoute generates a new custom route struct
func (APIRoute) Compile ¶
func (r APIRoute) Compile(args ...interface{}) (*CompiledAPIRoute, error)
Compile returns a CompiledAPIRoute
type CDNRoute ¶
type CDNRoute struct {
Route
// contains filtered or unexported fields
}
CDNRoute is a route for interacting with images hosted on discord's CDN
func NewCDNRoute ¶
func NewCDNRoute(url string, supportedFileExtensions ...FileExtension) CDNRoute
NewCDNRoute generates a new discord cdn route struct
func (CDNRoute) Compile ¶
func (r CDNRoute) Compile(fileExtension FileExtension, args ...interface{}) (*CompiledCDNRoute, error)
Compile builds a full request URL based on provided arguments
type CompiledAPIRoute ¶
type CompiledAPIRoute struct {
*CompiledRoute
// contains filtered or unexported fields
}
CompiledAPIRoute is APIRoute compiled with all URL args
func (CompiledAPIRoute) Method ¶
func (r CompiledAPIRoute) Method() Method
Method returns the request method used by the route
type CompiledCDNRoute ¶
type CompiledCDNRoute struct {
*CompiledRoute
}
CompiledCDNRoute is CDNRoute compiled with all URL args
type CompiledRoute ¶
type CompiledRoute struct {
// contains filtered or unexported fields
}
CompiledRoute is Route compiled with all URL args
func (CompiledRoute) Route ¶
func (r CompiledRoute) Route() string
Route returns the full request url
type CustomRoute ¶ added in v0.1.3
type CustomRoute struct {
APIRoute
}
CustomRoute is APIRoute but custom for you
func (CustomRoute) Compile ¶ added in v0.1.3
func (r CustomRoute) Compile(args ...interface{}) (*CompiledAPIRoute, error)
Compile returns a CompiledAPIRoute
type FileExtension ¶
type FileExtension string
FileExtension is the type of an image on Discord's CDN
const ( PNG FileExtension = "png" JPEG FileExtension = "jpg" WEBP FileExtension = "webp" GIF FileExtension = "gif" BLANK FileExtension = "" )
The available FileExtension(s)
func (FileExtension) String ¶
func (f FileExtension) String() string
type Method ¶
type Method string
Method is a HTTP request Method
type Route ¶
type Route struct {
// contains filtered or unexported fields
}
Route the base struct for routes used in disgo
func (Route) Compile ¶
func (r Route) Compile(args ...interface{}) (*CompiledRoute, error)
Compile builds a full request URL based on provided arguments