mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-31 16:00:07 +00:00
144 lines
6.6 KiB
TypeScript
144 lines
6.6 KiB
TypeScript
/** https://discord.com/developers/docs/reference#api-reference-base-url */
|
|
export const BASE_URL = "https://discord.com/api";
|
|
|
|
/** https://discord.com/developers/docs/reference#api-versioning-api-versions */
|
|
export const API_VERSION = 8;
|
|
|
|
/** https://discord.com/developers/docs/topics/gateway#gateways-gateway-versions */
|
|
export const GATEWAY_VERSION = 8;
|
|
|
|
/** https://discord.com/developers/docs/reference#user-agent */
|
|
export const USER_AGENT = "DiscordBot (https://github.com/discordeno/discordeno, v10)";
|
|
|
|
/** https://discord.com/developers/docs/reference#image-formatting-image-base-url */
|
|
export const IMAGE_BASE_URL = "https://cdn.discordapp.com/";
|
|
|
|
// This can be modified by big brain bots and use a proxy
|
|
export const baseEndpoints = {
|
|
BASE_URL: `${BASE_URL}/v${API_VERSION}`,
|
|
CDN_URL: IMAGE_BASE_URL,
|
|
};
|
|
|
|
const GUILDS_BASE = (id: string) => `${baseEndpoints.BASE_URL}/guilds/${id}`;
|
|
|
|
export const endpoints = {
|
|
GATEWAY_BOT: `${baseEndpoints.BASE_URL}/gateway/bot`,
|
|
|
|
// Channel Endpoints
|
|
CHANNEL: (id: string) => `${baseEndpoints.BASE_URL}/channels/${id}`,
|
|
CHANNEL_MESSAGE: (id: string, messageID: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}`,
|
|
CHANNEL_MESSAGES: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages`,
|
|
CHANNEL_PINS: (id: string) => `${baseEndpoints.BASE_URL}/channels/${id}/pins`,
|
|
CHANNEL_BULK_DELETE: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/bulk-delete`,
|
|
CHANNEL_INVITES: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/invites`,
|
|
CHANNEL_WEBHOOKS: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/webhooks`,
|
|
CHANNEL_MESSAGE_REACTION_ME: (
|
|
id: string,
|
|
messageID: string,
|
|
emoji: string,
|
|
) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}/reactions/${emoji}/@me`,
|
|
CHANNEL_MESSAGE_REACTION_USER: (
|
|
id: string,
|
|
messageID: string,
|
|
emoji: string,
|
|
userId: string,
|
|
) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}/reactions/${emoji}/${userId}`,
|
|
CHANNEL_MESSAGE_REACTIONS: (id: string, messageID: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}/reactions`,
|
|
CHANNEL_MESSAGE_REACTION: (id: string, messageID: string, emoji: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}/reactions/${emoji}`,
|
|
CHANNEL_FOLLOW: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/followers`,
|
|
CHANNEL_MESSAGE_CROSSPOST: (id: string, messageID: string) =>
|
|
`${baseEndpoints.BASE_URL}/channels/${id}/messages/${messageID}/crosspost`,
|
|
|
|
// Guild Endpoints
|
|
GUILDS: `${baseEndpoints.BASE_URL}/guilds`,
|
|
GUILD: (id: string) => `${GUILDS_BASE(id)}`,
|
|
GUILD_AUDIT_LOGS: (id: string) => `${GUILDS_BASE(id)}/audit-logs`,
|
|
GUILD_BAN: (id: string, userID: string) =>
|
|
`${GUILDS_BASE(id)}/bans/${userID}`,
|
|
GUILD_BANS: (id: string) => `${GUILDS_BASE(id)}/bans`,
|
|
GUILD_BANNER: (id: string, icon: string) =>
|
|
`${baseEndpoints.CDN_URL}/banners/${id}/${icon}`,
|
|
GUILD_CHANNELS: (id: string) => `${GUILDS_BASE(id)}/channels`,
|
|
GUILD_CHANNEL: (id: string) => `${baseEndpoints.BASE_URL}/channels/${id}`,
|
|
GUILD_EMBED: (id: string) => `${GUILDS_BASE(id)}/widget`,
|
|
GUILD_EMOJI: (id: string, emoji_id: string) =>
|
|
`${GUILDS_BASE(id)}/emojis/${emoji_id}`,
|
|
GUILD_EMOJIS: (id: string) => `${GUILDS_BASE(id)}/emojis`,
|
|
GUILD_ICON: (id: string, icon: string) =>
|
|
`${baseEndpoints.CDN_URL}/icons/${id}/${icon}`,
|
|
GUILD_INTEGRATION: (id: string, integrationID: string) =>
|
|
`${GUILDS_BASE(id)}/integrations/${integrationID}`,
|
|
GUILD_INTEGRATION_SYNC: (id: string, integrationID: string) =>
|
|
`${GUILDS_BASE(id)}/integrations/${integrationID}/sync`,
|
|
GUILD_INTEGRATIONS: (id: string) =>
|
|
`${GUILDS_BASE(id)}/integrations?include_applications=true`,
|
|
GUILD_INVITES: (id: string) => `${GUILDS_BASE(id)}/invites`,
|
|
GUILD_LEAVE: (id: string) =>
|
|
`${baseEndpoints.BASE_URL}/users/@me/guilds/${id}`,
|
|
GUILD_MEMBER: (id: string, memberID: string) =>
|
|
`${GUILDS_BASE(id)}/members/${memberID}`,
|
|
GUILD_MEMBER_ROLE: (id: string, memberID: string, roleID: string) =>
|
|
`${GUILDS_BASE(id)}/members/${memberID}/roles/${roleID}`,
|
|
GUILD_PRUNE: (id: string) => `${GUILDS_BASE(id)}/prune`,
|
|
GUILD_REGIONS: (id: string) => `${GUILDS_BASE(id)}/regions`,
|
|
GUILD_ROLE: (id: string, roleID: string) =>
|
|
`${GUILDS_BASE(id)}/roles/${roleID}`,
|
|
GUILD_ROLES: (id: string) => `${GUILDS_BASE(id)}/roles`,
|
|
GUILD_SPLASH: (id: string, icon: string) =>
|
|
`${baseEndpoints.CDN_URL}/splashes/${id}/${icon}`,
|
|
GUILD_VANITY_URL: (id: string) => `${GUILDS_BASE(id)}/vanity-url`,
|
|
GUILD_WEBHOOKS: (id: string) => `${GUILDS_BASE(id)}/webhooks`,
|
|
GUILD_TEMPLATE: (code: string) =>
|
|
`${baseEndpoints.BASE_URL}/guilds/templates/${code}`,
|
|
GUILD_TEMPLATES: (id: string) => `${GUILDS_BASE(id)}/templates`,
|
|
|
|
WEBHOOK: (id: string, token: string) =>
|
|
`${baseEndpoints.BASE_URL}/webhooks/${id}/${token}`,
|
|
WEBHOOK_ID: (id: string) => `${baseEndpoints.BASE_URL}/webhooks/${id}`,
|
|
WEBHOOK_EDIT: (id: string, token: string, messageID: string) =>
|
|
`${baseEndpoints.BASE_URL}/webhooks/${id}/${token}/messages/${messageID}`,
|
|
WEBHOOK_DELETE: (id: string, token: string, messageID: string) =>
|
|
`${baseEndpoints.BASE_URL}/webhooks/${id}/${token}/messages/${messageID}`,
|
|
|
|
// Application Endpoints
|
|
COMMANDS: (botID: string) =>
|
|
`${baseEndpoints.BASE_URL}/applications/${botID}/commands`,
|
|
COMMANDS_GUILD: (botID: string, id: string) =>
|
|
`${baseEndpoints.BASE_URL}/applications/${botID}/guilds/${id}/commands`,
|
|
COMMANDS_ID: (botID: string, id: string) =>
|
|
`${baseEndpoints.BASE_URL}/applications/${botID}/commands/${id}`,
|
|
COMMANDS_GUILD_ID: (botID: string, id: string, guildID: string) =>
|
|
`${baseEndpoints.BASE_URL}/applications/${botID}/guilds/${guildID}/commands/${id}`,
|
|
|
|
// Interaction Endpoints
|
|
INTERACTION_ID_TOKEN: (id: string, token: string) =>
|
|
`${baseEndpoints.BASE_URL}/interactions/${id}/${token}/callback`,
|
|
INTERACTION_ORIGINAL_ID_TOKEN: (id: string, token: string) =>
|
|
`${baseEndpoints.BASE_URL}/webhooks/${id}/${token}/messages/@original`,
|
|
INTERACTION_ID_TOKEN_MESSAGEID: (
|
|
id: string,
|
|
token: string,
|
|
messageID: string,
|
|
) =>
|
|
`${baseEndpoints.BASE_URL}/webhooks/${id}/${token}/messages/${messageID}`,
|
|
|
|
// User endpoints
|
|
USER: (id: string) => `${baseEndpoints.BASE_URL}/users/${id}`,
|
|
USER_BOT: `${baseEndpoints.BASE_URL}/users/@me`,
|
|
USER_AVATAR: (id: string, icon: string) =>
|
|
`${baseEndpoints.CDN_URL}/avatars/${id}/${icon}`,
|
|
USER_DEFAULT_AVATAR: (icon: number) =>
|
|
`${baseEndpoints.CDN_URL}/embed/avatars${icon}.png`,
|
|
USER_CREATE_DM: `${baseEndpoints.BASE_URL}/users/@me/channels`,
|
|
};
|