From f228561f4c2059d3568d4cf7dd8fc98dd0260c2a Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 13 Mar 2023 19:02:52 +1100 Subject: [PATCH 01/17] Initial identify rewrite --- src/gateway/opcodes/Identify.ts | 500 +++++++++++++++++++------------- src/util/dtos/ReadyGuildDTO.ts | 56 +++- src/util/entities/Channel.ts | 7 + src/util/entities/User.ts | 9 + src/util/interfaces/Event.ts | 31 +- 5 files changed, 387 insertions(+), 216 deletions(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 1a632b84..51a6e2e4 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -16,7 +16,7 @@ along with this program. If not, see . */ -import { WebSocket, Payload } from "@fosscord/gateway"; +import { WebSocket, Payload, setupListener } from "@fosscord/gateway"; import { checkToken, Intents, @@ -26,7 +26,6 @@ import { Session, EVENTEnum, Config, - PublicMember, PublicUser, PrivateUserProjection, ReadState, @@ -36,19 +35,19 @@ import { PrivateSessionProjection, MemberPrivateProjection, PresenceUpdateEvent, - UserSettings, IdentifySchema, DefaultUserGuildSettings, - UserGuildSettings, ReadyGuildDTO, Guild, - UserTokenData, + PublicUserProjection, + ReadyUserGuildSettingsEntries, + UserSettings, + Permissions, + DMChannel, + GuildOrUnavailable, } from "@fosscord/util"; import { Send } from "../util/Send"; import { CLOSECODES, OPCODES } from "../util/Constants"; -import { setupListener } from "../listener/listener"; -// import experiments from "./experiments.json"; -const experiments: unknown[] = []; import { check } from "./instanceOf"; import { Recipient } from "@fosscord/util"; @@ -56,49 +55,132 @@ import { Recipient } from "@fosscord/util"; // TODO: check privileged intents, if defined in the config // TODO: check if already identified -// TODO: Refactor identify ( and lazyrequest, tbh ) +const getUserFromToken = async (token: string): Promise => { + try { + const { jwtSecret } = Config.get().security; + const { decoded } = await checkToken(token, jwtSecret); + return decoded.id; + } catch (e) { + console.error(`[Gateway] Invalid token`, e); + return null; + } +}; export async function onIdentify(this: WebSocket, data: Payload) { clearTimeout(this.readyTimeout); - // TODO: is this needed now that we use `json-bigint`? - if (typeof data.d?.client_state?.highest_last_message_id === "number") - data.d.client_state.highest_last_message_id += ""; - check.call(this, IdentifySchema, data.d); + // Check payload matches schema + check.call(this, IdentifySchema, data.d); const identify: IdentifySchema = data.d; - let decoded: UserTokenData["decoded"]; - try { - const { jwtSecret } = Config.get().security; - decoded = (await checkToken(identify.token, jwtSecret)).decoded; // will throw an error if invalid - } catch (error) { - console.error("invalid token", error); - return this.close(CLOSECODES.Authentication_failed); - } - this.user_id = decoded.id; - const session_id = this.session_id; + // Check auth + // TODO: the checkToken call will fetch user, and then we have to refetch with different select + // checkToken should be able to select what we want + const user_id = await getUserFromToken(identify.token); + if (!user_id) return this.close(CLOSECODES.Authentication_failed); + this.user_id = user_id; - const [user, read_states, members, recipients, session, application] = + // Check intents + if (!identify.intents) identify.intents = 30064771071n; // TODO: what is this number? + this.intents = new Intents(identify.intents); + + // TODO: actually do intent things. + + // Validate sharding + if (identify.shard) { + this.shard_id = identify.shard[0]; + this.shard_count = identify.shard[1]; + + if ( + this.shard_count == null || + this.shard_id == null || + this.shard_id > this.shard_count || + this.shard_id < 0 || + this.shard_count <= 0 + ) { + // TODO: why do we even care about this? + console.log( + `[Gateway] Invalid sharding from ${user_id}: ${identify.shard}`, + ); + return this.close(CLOSECODES.Invalid_shard); + } + } + + // Generate a new gateway session ( id is already made, just save it in db ) + const session = Session.create({ + user_id: this.user_id, + session_id: this.session_id, + status: identify.presence?.status || "online", + client_info: { + client: identify.properties?.$device, + os: identify.properties?.os, + version: 0, + }, + activities: identify.presence?.activities, // TODO: validation + }); + + // Get from database: + // * the current user, + // * the users read states + // * guild members for this user + // * recipients ( dm channels ) + // * the bot application, if it exists + const [, user, application, read_states, members, recipients] = await Promise.all([ + session.save(), + + // TODO: Refactor checkToken to allow us to skip this additional query User.findOneOrFail({ where: { id: this.user_id }, relations: ["relationships", "relationships.to", "settings"], select: [...PrivateUserProjection, "relationships"], }), - ReadState.find({ where: { user_id: this.user_id } }), + + Application.findOne({ + where: { id: this.user_id }, + select: ["id", "flags"], + }), + + ReadState.find({ + where: { user_id: this.user_id }, + select: [ + "id", + "channel_id", + "last_message_id", + "last_pin_timestamp", + "mention_count", + ], + }), + Member.find({ where: { id: this.user_id }, - select: MemberPrivateProjection, + select: { + // We only want some member props + ...Object.fromEntries( + MemberPrivateProjection.map((x) => [x, true]), + ), + settings: true, // guild settings + roles: { id: true }, // the full role is fetched from the `guild` relation + + // TODO: we don't really need every property of + // guild channels, emoji, roles, stickers + // but we do want almost everything from guild. + // How do you do that without just enumerating the guild props? + guild: true, + }, relations: [ "guild", "guild.channels", "guild.emojis", "guild.roles", "guild.stickers", - "user", "roles", + + // For these entities, `user` is always just the logged in user we fetched above + // "user", ], }), + Recipient.find({ where: { user_id: this.user_id, closed: false }, relations: [ @@ -106,220 +188,240 @@ export async function onIdentify(this: WebSocket, data: Payload) { "channel.recipients", "channel.recipients.user", ], - // TODO: public user selection - }), - // save the session and delete it when the websocket is closed - Session.create({ - user_id: this.user_id, - session_id: session_id, - // TODO: check if status is only one of: online, dnd, offline, idle - status: identify.presence?.status || "offline", //does the session always start as online? - client_info: { - //TODO read from identity - client: "desktop", - os: identify.properties?.os, - version: 0, + select: { + channel: { + id: true, + flags: true, + // is_spam: true, // TODO + last_message_id: true, + last_pin_timestamp: true, + type: true, + icon: true, + name: true, + owner_id: true, + recipients: { + // we don't actually need this ID or any other information about the recipient info, + // but typeorm does not select anything from the users relation of recipients unless we select + // at least one column. + id: true, + // We only want public user data for each dm channel + user: Object.fromEntries( + PublicUserProjection.map((x) => [x, true]), + ), + }, + }, }, - activities: [], - }).save(), - Application.findOne({ where: { id: this.user_id } }), + }), ]); - if (!user) return this.close(CLOSECODES.Authentication_failed); + // We forgot to migrate user settings from the JSON column of `users` + // to the `user_settings` table theyre in now, + // so for instances that migrated, users may not have a `user_settings` row. if (!user.settings) { user.settings = new UserSettings(); await user.settings.save(); } - if (!identify.intents) identify.intents = BigInt("0x6ffffffff"); - this.intents = new Intents(identify.intents); - if (identify.shard) { - this.shard_id = identify.shard[0]; - this.shard_count = identify.shard[1]; - if ( - this.shard_count == null || - this.shard_id == null || - this.shard_id >= this.shard_count || - this.shard_id < 0 || - this.shard_count <= 0 - ) { - console.log(identify.shard); - return this.close(CLOSECODES.Invalid_shard); - } - } - let users: PublicUser[] = []; - - const merged_members = members.map((x: Member) => { + // Generate merged_members + const merged_members = members.map((x) => { return [ { ...x, roles: x.roles.map((x) => x.id), + + // add back user, which we don't fetch from db + // TODO: For guild profiles, this may need to be changed. + // TODO: The only field required in the user prop is `id`, + // but our types are annoying so I didn't bother. + user: user.toPublicUser(), + + guild: { + id: x.guild.id, + }, settings: undefined, - guild: undefined, }, ]; - }) as PublicMember[][]; - // TODO: This type is bad. - let guilds: Partial[] = members.map((x) => ({ - ...x.guild, - joined_at: x.joined_at, - })); - - const pending_guilds: typeof guilds = []; - if (user.bot) - guilds = guilds.map((guild) => { - pending_guilds.push(guild); - return { id: guild.id, unavailable: true }; - }); - - // TODO: Rewrite this. Perhaps a DTO? - const user_guild_settings_entries = members.map((x) => ({ - ...DefaultUserGuildSettings, - ...x.settings, - guild_id: x.guild.id, - channel_overrides: Object.entries( - x.settings.channel_overrides ?? {}, - ).map((y) => ({ - ...y[1], - channel_id: y[0], - })), - })) as unknown as UserGuildSettings[]; - - const channels = recipients.map((x) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - x.channel.recipients = x.channel.recipients.map((x) => - x.user.toPublicUser(), - ); - //TODO is this needed? check if users in group dm that are not friends are sent in the READY event - users = users.concat(x.channel.recipients as unknown as User[]); - if (x.channel.isDm()) { - x.channel.recipients = x.channel.recipients?.filter( - (x) => x.id !== this.user_id, - ); - } - return x.channel; }); - for (const relation of user.relationships) { - const related_user = relation.to; - const public_related_user = { - username: related_user.username, - discriminator: related_user.discriminator, - id: related_user.id, - public_flags: related_user.public_flags, - avatar: related_user.avatar, - bot: related_user.bot, - bio: related_user.bio, - premium_since: user.premium_since, - premium_type: user.premium_type, - accent_color: related_user.accent_color, - }; - users.push(public_related_user); - } + // Populated with guilds 'unavailable' currently + // Just for bots + const pending_guilds: Guild[] = []; - setImmediate(async () => { - // run in seperate "promise context" because ready payload is not dependent on those events + // Generate guilds list ( make them unavailable if user is bot ) + const guilds: GuildOrUnavailable[] = members.map((member) => { + // Some Discord libraries do `'blah' in object` instead of + // checking if the type is correct + member.guild.roles.forEach((role) => { + for (const key in role) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + if (!role[key]) role[key] = undefined; + } + }); + + // filter guild channels we don't have permission to view + // TODO: check if this causes issues when the user is granted other roles? + member.guild.channels = member.guild.channels.filter((channel) => { + const perms = Permissions.finalPermission({ + user: { id: member.id, roles: member.roles.map((x) => x.id) }, + guild: member.guild, + channel, + }); + + return perms.has("VIEW_CHANNEL"); + }); + + if (user.bot) { + pending_guilds.push(member.guild); + return { id: member.guild.id, unavailable: true }; + } + + return { + ...member.guild.toJSON(), + joined_at: member.joined_at, + }; + }); + + // Generate user_guild_settings + const user_guild_settings_entries: ReadyUserGuildSettingsEntries[] = + members.map((x) => ({ + ...DefaultUserGuildSettings, + ...x.settings, + guild_id: x.guild_id, + channel_overrides: Object.entries( + x.settings.channel_overrides ?? {}, + ).map((y) => ({ + ...y[1], + channel_id: y[0], + })), + })); + + // Popultaed with users from private channels, relationships. + // Uses a set to dedupe for us. + const users: Set = new Set(); + + // Generate dm channels from recipients list. Append recipients to `users` list + const channels = recipients + .filter(({ channel }) => channel.isDm()) + .map((r) => { + // TODO: fix the types of Recipient + // Their channels are only ever private (I think) and thus are always DM channels + const channel = r.channel as DMChannel; + + // Remove ourself from the list of other users in dm channel + channel.recipients = channel.recipients.filter( + (recipient) => recipient.user.id !== this.user_id, + ); + + const channelUsers = channel.recipients?.map((recipient) => + recipient.user.toPublicUser(), + ); + + if (channelUsers && channelUsers.length > 0) + channelUsers.forEach((user) => users.add(user)); + + return { + id: channel.id, + flags: channel.flags, + last_message_id: channel.last_message_id, + type: channel.type, + recipients: channelUsers || [], + is_spam: false, // TODO + }; + }); + + // From user relationships ( friends ), also append to `users` list + user.relationships.forEach((x) => users.add(x.to.toPublicUser())); + + // Send SESSIONS_REPLACE and PRESENCE_UPDATE + const allSessions = ( + await Session.find({ + where: { user_id: this.user_id }, + select: PrivateSessionProjection, + }) + ).map((x) => ({ + // TODO how is active determined? + // in our lazy request impl, we just pick the 'most relevant' session + active: x.session_id == session.session_id, + activities: x.activities, + client_info: x.client_info, + // TODO: what does all mean? + session_id: x.session_id == session.session_id ? "all" : x.session_id, + status: x.status, + })); + + Promise.all([ emitEvent({ event: "SESSIONS_REPLACE", user_id: this.user_id, - data: await Session.find({ - where: { user_id: this.user_id }, - select: PrivateSessionProjection, - }), - } as SessionsReplace); + data: allSessions, + } as SessionsReplace), emitEvent({ event: "PRESENCE_UPDATE", user_id: this.user_id, data: { - user: await User.getPublicUser(this.user_id), + user: user.toPublicUser(), activities: session.activities, - client_status: session?.client_info, + client_status: session.client_info, status: session.status, }, - } as PresenceUpdateEvent); - }); + } as PresenceUpdateEvent), + ]); - read_states.forEach((s: Partial) => { - s.id = s.channel_id; - delete s.user_id; - delete s.channel_id; - }); + // Build READY - const privateUser = { - avatar: user.avatar, - mobile: user.mobile, - desktop: user.desktop, - discriminator: user.discriminator, - email: user.email, - flags: user.flags, - id: user.id, - mfa_enabled: user.mfa_enabled, - nsfw_allowed: user.nsfw_allowed, - phone: user.phone, - premium: user.premium, - premium_type: user.premium_type, - public_flags: user.public_flags, - premium_usage_flags: user.premium_usage_flags, - purchased_flags: user.purchased_flags, - username: user.username, - verified: user.verified, - bot: user.bot, - accent_color: user.accent_color, - banner: user.banner, - bio: user.bio, - premium_since: user.premium_since, - }; + read_states.forEach((x) => { + x.id = x.channel_id; + }); const d: ReadyEventData = { v: 9, - application: { - id: application?.id ?? "", - flags: application?.flags ?? 0, - }, //TODO: check this code! - user: privateUser, + application: application + ? { id: application.id, flags: application.flags } + : undefined, + user: user.toPrivateUser(), user_settings: user.settings, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - guilds: guilds.map((x: Guild & { joined_at: Date }) => { - return { - ...new ReadyGuildDTO(x).toJSON(), - guild_hashes: {}, - joined_at: x.joined_at, - }; - }), - guild_experiments: [], // TODO - geo_ordered_rtc_regions: [], // TODO + guilds: guilds.map((x) => new ReadyGuildDTO(x).toJSON()), relationships: user.relationships.map((x) => x.toPublicRelationship()), read_state: { entries: read_states, partial: false, + // TODO: what is this magic number? + // Isn't `version` referring to the number of changes since this obj was created? + // Why do we send this specific version? version: 304128, }, user_guild_settings: { entries: user_guild_settings_entries, - partial: false, // TODO partial - version: 642, + partial: false, + version: 642, // TODO: see above }, private_channels: channels, - session_id: session_id, - analytics_token: "", // TODO - connected_accounts: [], // TODO + session_id: this.session_id, + country_code: user.settings.locale, // TODO: do ip analysis instead + users: Array.from(users), + merged_members: merged_members, + sessions: allSessions, + consents: { personalization: { consented: false, // TODO }, }, - country_code: user.settings.locale, - friend_suggestion_count: 0, // TODO - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - experiments: experiments, // TODO - guild_join_requests: [], // TODO what is this? - users: users.filter((x) => x).unique(), - merged_members: merged_members, - // shard // TODO: only for user sharding - sessions: [], // TODO: + experiments: [], + guild_join_requests: [], + connected_accounts: [], + guild_experiments: [], + geo_ordered_rtc_regions: [], + api_code_version: 1, + friend_suggestion_count: 0, + analytics_token: "", + tutorial: null, + resume_gateway_url: + Config.get().gateway.endpointClient || + Config.get().gateway.endpointPublic || + "ws://127.0.0.1:3001", + session_type: "normal", // TODO // lol hack whatever required_action: @@ -328,7 +430,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { : undefined, }; - // TODO: send real proper data structure + // Send READY await Send(this, { op: OPCODES.Dispatch, t: EVENTEnum.Ready, @@ -336,23 +438,23 @@ export async function onIdentify(this: WebSocket, data: Payload) { d, }); + // If we're a bot user, send GUILD_CREATE for each unavailable guild await Promise.all( - pending_guilds.map((guild) => + pending_guilds.map((x) => Send(this, { op: OPCODES.Dispatch, t: EVENTEnum.GuildCreate, s: this.sequence++, - d: guild, - })?.catch(console.error), + d: x, + })?.catch((e) => + console.error(`[Gateway] error when sending bot guilds`, e), + ), ), ); //TODO send READY_SUPPLEMENTAL //TODO send GUILD_MEMBER_LIST_UPDATE - //TODO send SESSIONS_REPLACE //TODO send VOICE_STATE_UPDATE to let the client know if another device is already connected to a voice channel await setupListener.call(this); - - // console.log(`${this.ipAddress} identified as ${d.user.id}`); } diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts index 97e6931f..e91248d2 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts @@ -16,7 +16,46 @@ along with this program. If not, see . */ -import { Channel, Emoji, Guild, Member, Role, Sticker } from "../entities"; +import { + Channel, + ChannelOverride, + ChannelType, + Emoji, + Guild, + Member, + PublicUser, + Role, + Sticker, + UserGuildSettings, +} from "../entities"; + +// TODO: this is not the best place for this type +export type ReadyUserGuildSettingsEntries = Omit< + UserGuildSettings, + "channel_overrides" +> & { + channel_overrides: (ChannelOverride & { channel_id: string })[]; +}; + +// TODO: probably should move somewhere else +export interface ReadyPrivateChannel { + id: string; + flags: number; + is_spam: boolean; + last_message_id?: string; + recipients: PublicUser[]; + type: ChannelType.DM | ChannelType.GROUP_DM; +} + +export type GuildOrUnavailable = + | { id: string; unavailable: boolean } + | (Guild & { joined_at?: Date; unavailable: boolean }); + +const guildIsAvailable = ( + guild: GuildOrUnavailable, +): guild is Guild & { joined_at: Date; unavailable: false } => { + return guild.unavailable == false; +}; export interface IReadyGuildDTO { application_command_counts?: { 1: number; 2: number; 3: number }; // ???????????? @@ -64,6 +103,8 @@ export interface IReadyGuildDTO { stickers: Sticker[]; threads: unknown[]; version: string; + guild_hashes: unknown; + unavailable: boolean; } export class ReadyGuildDTO implements IReadyGuildDTO { @@ -112,8 +153,17 @@ export class ReadyGuildDTO implements IReadyGuildDTO { stickers: Sticker[]; threads: unknown[]; version: string; + guild_hashes: unknown; + unavailable: boolean; + joined_at: Date; + + constructor(guild: GuildOrUnavailable) { + if (!guildIsAvailable(guild)) { + this.id = guild.id; + this.unavailable = true; + return; + } - constructor(guild: Guild) { this.application_command_counts = { 1: 5, 2: 2, @@ -163,6 +213,8 @@ export class ReadyGuildDTO implements IReadyGuildDTO { this.stickers = guild.stickers; this.threads = []; this.version = "1"; // ?????? + this.guild_hashes = {}; + this.joined_at = guild.joined_at; } toJSON() { diff --git a/src/util/entities/Channel.ts b/src/util/entities/Channel.ts index 1f128713..7c0828eb 100644 --- a/src/util/entities/Channel.ts +++ b/src/util/entities/Channel.ts @@ -482,3 +482,10 @@ export enum ChannelPermissionOverwriteType { member = 1, group = 2, } + +export interface DMChannel extends Omit { + type: ChannelType.DM | ChannelType.GROUP_DM; + recipients: Recipient[]; + + // TODO: probably more props +} diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index f99a85e7..0ed88c15 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -280,6 +280,15 @@ export class User extends BaseClass { return user as PublicUser; } + toPrivateUser() { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const user: any = {}; + PrivateUserProjection.forEach((x) => { + user[x] = this[x]; + }); + return user as UserPrivate; + } + static async getPublicUser(user_id: string, opts?: FindOneOptions) { return await User.findOneOrFail({ where: { id: user_id }, diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts index c3bfbf9b..492821f1 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts @@ -40,6 +40,9 @@ import { UserSettings, IReadyGuildDTO, ReadState, + UserPrivate, + ReadyUserGuildSettingsEntries, + ReadyPrivateChannel, } from "@fosscord/util"; export interface Event { @@ -68,20 +71,8 @@ export interface PublicRelationship { export interface ReadyEventData { v: number; - user: PublicUser & { - mobile: boolean; - desktop: boolean; - email: string | undefined; - flags: string; - mfa_enabled: boolean; - nsfw_allowed: boolean; - phone: string | undefined; - premium: boolean; - premium_type: number; - verified: boolean; - bot: boolean; - }; - private_channels: Channel[]; // this will be empty for bots + user: UserPrivate; + private_channels: ReadyPrivateChannel[]; // this will be empty for bots session_id: string; // resuming guilds: IReadyGuildDTO[]; analytics_token?: string; @@ -115,7 +106,7 @@ export interface ReadyEventData { version: number; }; user_guild_settings?: { - entries: UserGuildSettings[]; + entries: ReadyUserGuildSettingsEntries[]; version: number; partial: boolean; }; @@ -127,6 +118,16 @@ export interface ReadyEventData { // probably all users who the user is in contact with users?: PublicUser[]; sessions: unknown[]; + api_code_version: number; + tutorial: number | null; + resume_gateway_url: string; + session_type: string; + required_action?: + | "REQUIRE_VERIFIED_EMAIL" + | "REQUIRE_VERIFIED_PHONE" + | "REQUIRE_CAPTCHA" // TODO: allow these to be triggered + | "TOS_UPDATE_ACKNOWLEDGMENT" + | "AGREEMENTS"; } export interface ReadyEvent extends Event { From ed724472b364ee57288299e8e2bfc2ead1e633de Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 1 Apr 2023 19:01:34 +1100 Subject: [PATCH 02/17] gatewayresponse?? --- src/api/routes/gateway/index.ts | 4 ---- src/util/schemas/GatewayResponse.ts | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 src/util/schemas/GatewayResponse.ts diff --git a/src/api/routes/gateway/index.ts b/src/api/routes/gateway/index.ts index e6fcf5e3..f5ed4c1f 100644 --- a/src/api/routes/gateway/index.ts +++ b/src/api/routes/gateway/index.ts @@ -22,10 +22,6 @@ import { route, RouteOptions } from "@fosscord/api"; const router = Router(); -export interface GatewayResponse { - url: string; -} - const options: RouteOptions = { test: { response: { diff --git a/src/util/schemas/GatewayResponse.ts b/src/util/schemas/GatewayResponse.ts new file mode 100644 index 00000000..5b771edc --- /dev/null +++ b/src/util/schemas/GatewayResponse.ts @@ -0,0 +1,21 @@ +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2023 Spacebar and Spacebar Contributors + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +export interface GatewayResponse { + url: string; +} From d944dd4ef42e0991a69e912636b1d60bb0f843ee Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 1 Apr 2023 19:49:54 +1100 Subject: [PATCH 03/17] allow all role props through ready --- src/gateway/opcodes/Identify.ts | 16 +++++----------- src/util/interfaces/Event.ts | 1 + 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 6ae1f9c2..6aa152d3 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -249,21 +249,14 @@ export async function onIdentify(this: WebSocket, data: Payload) { // Generate guilds list ( make them unavailable if user is bot ) const guilds: GuildOrUnavailable[] = members.map((member) => { - // Some Discord libraries do `'blah' in object` instead of - // checking if the type is correct - member.guild.roles.forEach((role) => { - for (const key in role) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - if (!role[key]) role[key] = undefined; - } - }); - // filter guild channels we don't have permission to view // TODO: check if this causes issues when the user is granted other roles? member.guild.channels = member.guild.channels.filter((channel) => { const perms = Permissions.finalPermission({ - user: { id: member.id, roles: member.roles.map((x) => x.id) }, + user: { + id: member.id, + roles: member.roles.map((x) => x.id), + }, guild: member.guild, channel, }); @@ -422,6 +415,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { Config.get().gateway.endpointPublic || "ws://127.0.0.1:3001", session_type: "normal", // TODO + auth_session_id_hash: "", // TODO // lol hack whatever required_action: diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts index cbfa0767..21c34c6c 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts @@ -121,6 +121,7 @@ export interface ReadyEventData { tutorial: number | null; resume_gateway_url: string; session_type: string; + auth_session_id_hash: string; required_action?: | "REQUIRE_VERIFIED_EMAIL" | "REQUIRE_VERIFIED_PHONE" From 6ee26082efddfa4f996b4b0424a664a6a592501c Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 3 Apr 2023 23:50:48 +1000 Subject: [PATCH 04/17] Respect CLIENT_STATE_V2 capability --- src/gateway/opcodes/Identify.ts | 20 +++++++++++++++----- src/gateway/util/Capabilities.ts | 26 ++++++++++++++++++++++++++ src/gateway/util/WebSocket.ts | 2 ++ src/gateway/util/index.ts | 1 + src/util/interfaces/Event.ts | 3 ++- 5 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 src/gateway/util/Capabilities.ts diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 6aa152d3..f035fe15 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -16,7 +16,15 @@ along with this program. If not, see . */ -import { WebSocket, Payload, setupListener } from "@spacebar/gateway"; +import { + WebSocket, + Payload, + setupListener, + Capabilities, + CLOSECODES, + OPCODES, + Send, +} from "@spacebar/gateway"; import { checkToken, Intents, @@ -45,11 +53,9 @@ import { Permissions, DMChannel, GuildOrUnavailable, + Recipient, } from "@spacebar/util"; -import { Send } from "../util/Send"; -import { CLOSECODES, OPCODES } from "../util/Constants"; import { check } from "./instanceOf"; -import { Recipient } from "@spacebar/util"; // TODO: user sharding // TODO: check privileged intents, if defined in the config @@ -73,6 +79,8 @@ export async function onIdentify(this: WebSocket, data: Payload) { check.call(this, IdentifySchema, data.d); const identify: IdentifySchema = data.d; + this.capabilities = new Capabilities(identify.capabilities || 0); + // Check auth // TODO: the checkToken call will fetch user, and then we have to refetch with different select // checkToken should be able to select what we want @@ -374,7 +382,9 @@ export async function onIdentify(this: WebSocket, data: Payload) { : undefined, user: user.toPrivateUser(), user_settings: user.settings, - guilds: guilds.map((x) => new ReadyGuildDTO(x).toJSON()), + guilds: this.capabilities.has(Capabilities.FLAGS.CLIENT_STATE_V2) + ? guilds.map((x) => new ReadyGuildDTO(x).toJSON()) + : guilds, relationships: user.relationships.map((x) => x.toPublicRelationship()), read_state: { entries: read_states, diff --git a/src/gateway/util/Capabilities.ts b/src/gateway/util/Capabilities.ts new file mode 100644 index 00000000..6c94bb45 --- /dev/null +++ b/src/gateway/util/Capabilities.ts @@ -0,0 +1,26 @@ +import { BitField, BitFieldResolvable, BitFlag } from "@spacebar/util"; + +export type CapabilityResolvable = BitFieldResolvable | CapabilityString; +type CapabilityString = keyof typeof Capabilities.FLAGS; + +export class Capabilities extends BitField { + static FLAGS = { + // Thanks, Opencord! + // https://github.com/MateriiApps/OpenCord/blob/master/app/src/main/java/com/xinto/opencord/gateway/io/Capabilities.kt + LAZY_USER_NOTES: BitFlag(0), + NO_AFFINE_USER_IDS: BitFlag(1), + VERSIONED_READ_STATES: BitFlag(2), + VERSIONED_USER_GUILD_SETTINGS: BitFlag(3), + DEDUPLICATE_USER_OBJECTS: BitFlag(4), + PRIORITIZED_READY_PAYLOAD: BitFlag(5), + MULTIPLE_GUILD_EXPERIMENT_POPULATIONS: BitFlag(6), + NON_CHANNEL_READ_STATES: BitFlag(7), + AUTH_TOKEN_REFRESH: BitFlag(8), + USER_SETTINGS_PROTO: BitFlag(9), + CLIENT_STATE_V2: BitFlag(10), + PASSIVE_GUILD_UPDATE: BitFlag(11), + }; + + any = (capability: CapabilityResolvable) => super.any(capability); + has = (capability: CapabilityResolvable) => super.has(capability); +} diff --git a/src/gateway/util/WebSocket.ts b/src/gateway/util/WebSocket.ts index 972129c7..833756ff 100644 --- a/src/gateway/util/WebSocket.ts +++ b/src/gateway/util/WebSocket.ts @@ -19,6 +19,7 @@ import { Intents, ListenEventOpts, Permissions } from "@spacebar/util"; import WS from "ws"; import { Deflate, Inflate } from "fast-zlib"; +import { Capabilities } from "./Capabilities"; // import { Client } from "@spacebar/webrtc"; export interface WebSocket extends WS { @@ -40,5 +41,6 @@ export interface WebSocket extends WS { events: Record unknown)>; member_events: Record unknown>; listen_options: ListenEventOpts; + capabilities?: Capabilities; // client?: Client; } diff --git a/src/gateway/util/index.ts b/src/gateway/util/index.ts index 627f12b2..6ef694d9 100644 --- a/src/gateway/util/index.ts +++ b/src/gateway/util/index.ts @@ -21,3 +21,4 @@ export * from "./Send"; export * from "./SessionUtils"; export * from "./Heartbeat"; export * from "./WebSocket"; +export * from "./Capabilities"; diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts index 21c34c6c..16df48aa 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts @@ -42,6 +42,7 @@ import { UserPrivate, ReadyUserGuildSettingsEntries, ReadyPrivateChannel, + GuildOrUnavailable, } from "@spacebar/util"; export interface Event { @@ -73,7 +74,7 @@ export interface ReadyEventData { user: UserPrivate; private_channels: ReadyPrivateChannel[]; // this will be empty for bots session_id: string; // resuming - guilds: IReadyGuildDTO[]; + guilds: IReadyGuildDTO[] | GuildOrUnavailable[]; // depends on capability analytics_token?: string; connected_accounts?: ConnectedAccount[]; consents?: { From a476319fb419cf2b8e9604f53b075985f2691ea6 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Tue, 4 Apr 2023 00:15:37 +1000 Subject: [PATCH 05/17] Send d: {} in heartbeat ack --- src/gateway/opcodes/Heartbeat.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gateway/opcodes/Heartbeat.ts b/src/gateway/opcodes/Heartbeat.ts index 7866c3e9..b9b62be3 100644 --- a/src/gateway/opcodes/Heartbeat.ts +++ b/src/gateway/opcodes/Heartbeat.ts @@ -25,5 +25,5 @@ export async function onHeartbeat(this: WebSocket) { setHeartbeat(this); - await Send(this, { op: 11 }); + await Send(this, { op: 11, d: {} }); } From 3e9e8aac3ba0f2890a7eceef9fba13d9b17f6494 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Tue, 4 Apr 2023 00:16:10 +1000 Subject: [PATCH 06/17] Don't send random read state / guild settings version numbers --- src/gateway/opcodes/Identify.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index f035fe15..2e661a14 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -389,15 +389,12 @@ export async function onIdentify(this: WebSocket, data: Payload) { read_state: { entries: read_states, partial: false, - // TODO: what is this magic number? - // Isn't `version` referring to the number of changes since this obj was created? - // Why do we send this specific version? - version: 304128, + version: 0, // TODO }, user_guild_settings: { entries: user_guild_settings_entries, partial: false, - version: 642, // TODO: see above + version: 0, // TODO }, private_channels: channels, session_id: this.session_id, From 0095b6505043b5becc2599773253055a9dd6efb7 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Tue, 4 Apr 2023 00:17:02 +1000 Subject: [PATCH 07/17] Role flags --- src/util/entities/Guild.ts | 1 + src/util/entities/Role.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/util/entities/Guild.ts b/src/util/entities/Guild.ts index e8454986..64dc2420 100644 --- a/src/util/entities/Guild.ts +++ b/src/util/entities/Guild.ts @@ -353,6 +353,7 @@ export class Guild extends BaseClass { position: 0, icon: undefined, unicode_emoji: undefined, + flags: 0, // TODO? }).save(); if (!body.channels || !body.channels.length) diff --git a/src/util/entities/Role.ts b/src/util/entities/Role.ts index 85877c12..3ae5efc1 100644 --- a/src/util/entities/Role.ts +++ b/src/util/entities/Role.ts @@ -66,4 +66,7 @@ export class Role extends BaseClass { integration_id?: string; premium_subscriber?: boolean; }; + + @Column() + flags: number; } From 89c77dc4493909d19d06bc04ff8461f4450df2ba Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Tue, 4 Apr 2023 00:20:13 +1000 Subject: [PATCH 08/17] Missing ready guild properties --- src/util/dtos/ReadyGuildDTO.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts index 5ce49414..72fb5ed8 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts @@ -97,6 +97,13 @@ export interface IReadyGuildDTO { max_members: number | undefined; nsfw_level: number | undefined; hub_type?: unknown | null; // ???? + + home_header: null; // TODO + latest_onboarding_question_id: null; // TODO + safety_alerts_channel_id: null; // TODO + max_stage_video_channel_users: 50; // TODO + nsfw: boolean; + id: string; }; roles: Role[]; stage_instances: unknown[]; @@ -147,6 +154,13 @@ export class ReadyGuildDTO implements IReadyGuildDTO { max_members: number | undefined; nsfw_level: number | undefined; hub_type?: unknown | null; // ???? + + home_header: null; // TODO + latest_onboarding_question_id: null; // TODO + safety_alerts_channel_id: null; // TODO + max_stage_video_channel_users: 50; // TODO + nsfw: boolean; + id: string; }; roles: Role[]; stage_instances: unknown[]; @@ -207,6 +221,13 @@ export class ReadyGuildDTO implements IReadyGuildDTO { max_members: guild.max_members, nsfw_level: guild.nsfw_level, hub_type: null, + + home_header: null, + id: guild.id, + latest_onboarding_question_id: null, + max_stage_video_channel_users: 50, // TODO + nsfw: guild.nsfw, + safety_alerts_channel_id: null, }; this.roles = guild.roles; this.stage_instances = []; From a9eac479bb7753665c1a9c06a80056e87c1c8b7d Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Wed, 5 Apr 2023 19:42:28 +1000 Subject: [PATCH 09/17] prettier whoops --- src/util/dtos/ReadyGuildDTO.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts index 72fb5ed8..1c1482dd 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts @@ -98,10 +98,10 @@ export interface IReadyGuildDTO { nsfw_level: number | undefined; hub_type?: unknown | null; // ???? - home_header: null; // TODO - latest_onboarding_question_id: null; // TODO - safety_alerts_channel_id: null; // TODO - max_stage_video_channel_users: 50; // TODO + home_header: null; // TODO + latest_onboarding_question_id: null; // TODO + safety_alerts_channel_id: null; // TODO + max_stage_video_channel_users: 50; // TODO nsfw: boolean; id: string; }; @@ -155,10 +155,10 @@ export class ReadyGuildDTO implements IReadyGuildDTO { nsfw_level: number | undefined; hub_type?: unknown | null; // ???? - home_header: null; // TODO - latest_onboarding_question_id: null; // TODO - safety_alerts_channel_id: null; // TODO - max_stage_video_channel_users: 50; // TODO + home_header: null; // TODO + latest_onboarding_question_id: null; // TODO + safety_alerts_channel_id: null; // TODO + max_stage_video_channel_users: 50; // TODO nsfw: boolean; id: string; }; @@ -225,7 +225,7 @@ export class ReadyGuildDTO implements IReadyGuildDTO { home_header: null, id: guild.id, latest_onboarding_question_id: null, - max_stage_video_channel_users: 50, // TODO + max_stage_video_channel_users: 50, // TODO nsfw: guild.nsfw, safety_alerts_channel_id: null, }; From df696d362a135d483d72f05697d41322bd974ad0 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Wed, 5 Apr 2023 20:47:47 +1000 Subject: [PATCH 10/17] Close if already identified --- src/gateway/opcodes/Identify.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 2e661a14..5816c308 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -59,7 +59,6 @@ import { check } from "./instanceOf"; // TODO: user sharding // TODO: check privileged intents, if defined in the config -// TODO: check if already identified const getUserFromToken = async (token: string): Promise => { try { @@ -73,6 +72,11 @@ const getUserFromToken = async (token: string): Promise => { }; export async function onIdentify(this: WebSocket, data: Payload) { + if (this.user_id) { + // we've already identified + return this.close(CLOSECODES.Already_authenticated); + } + clearTimeout(this.readyTimeout); // Check payload matches schema @@ -106,7 +110,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { this.shard_id < 0 || this.shard_count <= 0 ) { - // TODO: why do we even care about this? + // TODO: why do we even care about this right now? console.log( `[Gateway] Invalid sharding from ${user_id}: ${identify.shard}`, ); From c3f5047e0ce7e0cbde6fab09b7ba647b0b6aeea3 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Wed, 5 Apr 2023 21:18:31 +1000 Subject: [PATCH 11/17] scripts n shit --- scripts/benchmark/connections.js | 82 --- scripts/benchmark/index.js | 22 - scripts/stress/identify.js | 53 ++ scripts/{benchmark => stress}/users.js | 0 scripts/stresstest/.gitignore | 3 - scripts/stresstest/accounts.json.example | 1 - scripts/stresstest/config.json.example | 5 - scripts/stresstest/index.js | 58 -- scripts/stresstest/package-lock.json | 856 ----------------------- scripts/stresstest/package.json | 17 - scripts/stresstest/src/login/index.js | 38 - scripts/stresstest/src/message/send.js | 44 -- scripts/stresstest/src/register/index.js | 58 -- 13 files changed, 53 insertions(+), 1184 deletions(-) delete mode 100644 scripts/benchmark/connections.js delete mode 100644 scripts/benchmark/index.js create mode 100644 scripts/stress/identify.js rename scripts/{benchmark => stress}/users.js (100%) delete mode 100644 scripts/stresstest/.gitignore delete mode 100644 scripts/stresstest/accounts.json.example delete mode 100644 scripts/stresstest/config.json.example delete mode 100644 scripts/stresstest/index.js delete mode 100644 scripts/stresstest/package-lock.json delete mode 100644 scripts/stresstest/package.json delete mode 100644 scripts/stresstest/src/login/index.js delete mode 100644 scripts/stresstest/src/message/send.js delete mode 100644 scripts/stresstest/src/register/index.js diff --git a/scripts/benchmark/connections.js b/scripts/benchmark/connections.js deleted file mode 100644 index 4246c646..00000000 --- a/scripts/benchmark/connections.js +++ /dev/null @@ -1,82 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -require("dotenv").config(); -const cluster = require("cluster"); -const WebSocket = require("ws"); -const endpoint = process.env.GATEWAY || "ws://localhost:3001"; -const connections = Number(process.env.CONNECTIONS) || 50; -const token = process.env.TOKEN; -var cores = 1; -try { - cores = Number(process.env.THREADS) || os.cpus().length; -} catch { - console.log("[Bundle] Failed to get thread count! Using 1..."); -} - -if (!token) { - console.error("TOKEN env var missing"); - process.exit(); -} - -if (cluster.isMaster) { - for (let i = 0; i < cores; i++) { - cluster.fork(); - } - - cluster.on("exit", (worker, code, signal) => { - console.log(`worker ${worker.process.pid} died`); - }); -} else { - for (let i = 0; i < connections; i++) { - connect(); - } -} - -function connect() { - const client = new WebSocket(endpoint); - client.on("message", (data) => { - data = JSON.parse(data); - - switch (data.op) { - case 10: - client.interval = setInterval(() => { - client.send(JSON.stringify({ op: 1 })); - }, data.d.heartbeat_interval); - - client.send( - JSON.stringify({ - op: 2, - d: { - token, - properties: {}, - }, - }), - ); - - break; - } - }); - client.once("close", (code, reason) => { - clearInterval(client.interval); - connect(); - }); - client.on("error", (err) => { - // console.log(err); - }); -} diff --git a/scripts/benchmark/index.js b/scripts/benchmark/index.js deleted file mode 100644 index ca799a85..00000000 --- a/scripts/benchmark/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -require("dotenv").config(); - -require("./connections"); -require("./messages"); diff --git a/scripts/stress/identify.js b/scripts/stress/identify.js new file mode 100644 index 00000000..7dea5e4d --- /dev/null +++ b/scripts/stress/identify.js @@ -0,0 +1,53 @@ +/* eslint-env node */ + +require("dotenv").config(); +const { OPCODES } = require("../../dist/gateway/util/Constants.js"); +const WebSocket = require("ws"); +const ENDPOINT = `ws://localhost:3002?v=9&encoding=json`; +const TOKEN = + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwOTMxMTgwMjgzNjA1MzYxMDYiLCJpYXQiOjE2ODA2OTE5MDB9.9ByCqDvC4mIutW8nM7WhVCtGuKW08UimPnmBeNw-K0E"; +const TOTAL_ITERATIONS = 500; + +const doTimedIdentify = () => + new Promise((resolve) => { + let start; + const ws = new WebSocket(ENDPOINT); + ws.on("message", (data) => { + const parsed = JSON.parse(data); + + switch (parsed.op) { + case OPCODES.Hello: + // send identify + start = performance.now(); + ws.send( + JSON.stringify({ + op: OPCODES.Identify, + d: { + token: TOKEN, + properties: {}, + }, + }), + ); + break; + case OPCODES.Dispatch: + if (parsed.t == "READY") { + ws.close(); + return resolve(performance.now() - start); + } + + break; + } + }); + }); + +(async () => { + const perfs = []; + while (perfs.length < TOTAL_ITERATIONS) { + const ret = await doTimedIdentify(); + perfs.push(ret); + // console.log(`${perfs.length}/${TOTAL_ITERATIONS} - this: ${Math.floor(ret)}ms`) + } + + const avg = perfs.reduce((prev, curr) => prev + curr) / (perfs.length - 1); + console.log(`Average identify time: ${Math.floor(avg * 100) / 100}ms`); +})(); diff --git a/scripts/benchmark/users.js b/scripts/stress/users.js similarity index 100% rename from scripts/benchmark/users.js rename to scripts/stress/users.js diff --git a/scripts/stresstest/.gitignore b/scripts/stresstest/.gitignore deleted file mode 100644 index bde26fd4..00000000 --- a/scripts/stresstest/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/node_modules -config.json -accounts.json diff --git a/scripts/stresstest/accounts.json.example b/scripts/stresstest/accounts.json.example deleted file mode 100644 index ec1b2a0d..00000000 --- a/scripts/stresstest/accounts.json.example +++ /dev/null @@ -1 +0,0 @@ -[{"email":"org11ncxa8.wi732t9b4o@spacebar.chat","password":"x.ibahfyqwle.ne4hajbzp11.gpc4lcup4"},{"email":"rek6kyprik.i5hldol255@spacebar.chat","password":"1.o3w16haor2y.0e1ey2yk1x.1r0gn5o5h"},{"email":"07o37povsi.uk5q9dtxbp@spacebar.chat","password":"8.6z64gcjavp1n.uar3qqymwfi.g0sfmmbd9m"},{"email":"94di5zaie4.n1vhzdfsj@spacebar.chat","password":"1e.k3ijylxme1u.e9xr9yqbrk.3tir7qnvh"},{"email":"zbrqft4chj.yl73e5puq3@spacebar.chat","password":"5.nkc3g8cvwl15.dmp8ywmkka.m79e9t4wij"},{"email":"br1wknv7k.6hw6yl69e@spacebar.chat","password":"3.gimzx06u7mh.6rjrdflo9j1t.h3d8k2f5t"},{"email":"cdehs12h6h.iexxvg16xf@spacebar.chat","password":"1i.5ab7e9rtwl1n.31qtfv7cz9.e1k313py9"},{"email":"pazx37jpra.mgsb8k50ip@spacebar.chat","password":"d.eg5dwqvd981e.5qobehiyffe.6k5pb4fqm"},{"email":"vs6k62ak2o.xo1v4w0rj@spacebar.chat","password":"c.hrkcrnlxlg1d.w18ztd39d1p.eycgehb49"},{"email":"u5d27rbewm.3p0wa7s899@spacebar.chat","password":"s.1r7o1ur8o9k.puzbm1uuta9.an5m8bhh0a"},{"email":"vyp6x66fr.yv74eftomo@spacebar.chat","password":"m.w0c7h21asf.pq2lj3uot6a.xnhv9ftqii"},{"email":"da0k6sra2n.qts4gs9ufg@spacebar.chat","password":"h.8e42ud5f6r5.896sp1t8y6e.shwe0d8no9"},{"email":"l093koc05n.81vt1v8tsx@spacebar.chat","password":"11.zhkv1jbhdf.0ub2po3mnu.no4lq8l4"},{"email":"115tfo7ct.muvy04u0tf@spacebar.chat","password":"1c.4bpk2a17z1p.gw2h6qmvhez.57drs0quz"},{"email":"dq6bk1hjch.huw092gkhr@spacebar.chat","password":"1l.kp28mclrtee.5i4dmacbpc1j.hcqgemsni"},{"email":"8g8q9v3wmk.l2frwpuds8@spacebar.chat","password":"1n.i0wwg0njmv.teaiqjqalt1g.ib6551nh4"},{"email":"5b3y3neqxa.mmi0ex2hxd@spacebar.chat","password":"8.tvz7q9uw0hm.6ufz6fu65c1a.88vp9di6e"},{"email":"mg28g3krsp.35h1akxrqj@spacebar.chat","password":"s.y8j2n19iffr.qyecyrgo6ig.6hgrc5vy9"},{"email":"ehtumcok2j.2oozlhiq97@spacebar.chat","password":"11.uq0up8g8h1q.ofvjsx29yd.pfwen3kr38"},{"email":"le98rah1uc.au4ug9tpnt@spacebar.chat","password":"t.q15zsc0q2mt.2nj3jsdxhfc.leb9ba1xku"},{"email":"hrroex9f5n.6cl98h3jsi@spacebar.chat","password":"17.qnqqhg2us4.kh92v74atg19.49ufgil7g"},{"email":"w95wrrn48.6gfnue7dcq@spacebar.chat","password":"b.jnqgbi89oj1k.8rn0llovbll.kcblui80th"},{"email":"rqo4n0il5w.4gl1u8hlyc@spacebar.chat","password":"17.41d1lpjmi0.d8ijhslby11w.sjn7sqhi9"},{"email":"6dv3yp4kon.pk7ye6q1r6@spacebar.chat","password":"0.j70py6yysjz.sf56ebpp2gp.z68yo9hiim"},{"email":"knmi9qkige.5v1bg6h09w@spacebar.chat","password":"1d.7n58xntwg1s.umnglex7h13.c5xrsfkosm"},{"email":"cefymgc7te.dd81jabws4@spacebar.chat","password":"1u.73ea7dde1o.0i1fhyaird.sjk30nky1e"},{"email":"33xcwiqf73.r6khs46a7j@spacebar.chat","password":"b.5p5gdmh1891f.11g4590n5a.vfoek6qjb9"},{"email":"9zcgmr84s6.utnlygoubi@spacebar.chat","password":"8.g4v53t7kcl16.wgaiufzgg1u.pusdfdneb"},{"email":"26vpzekrdw.3bwq27wla@spacebar.chat","password":"11.yxey8293lj1d.nxhkju2eke.hl86mcvswd"},{"email":"vvq6w36r84.lr1auhpfc@spacebar.chat","password":"y.7vlqbpftom.6xfrtozd11k.ycf9ifi7o"},{"email":"6ejeiq64yo.zorve5saw4@spacebar.chat","password":"o.eue50qp1frq.qi0rwphg3dv.psph7va2fb"},{"email":"6s0hu88ro8.hsckrmud1i@spacebar.chat","password":"16.fc836nhb91a.ul37503ppg.l62wgser4i"},{"email":"h8qwchz2x9.5br1kcw1iv@spacebar.chat","password":"l.iw1041wgy.6azyc9h6vb.br9cr0dmn8"},{"email":"yx13rst2hu.ybisfdwgv@spacebar.chat","password":"8.5yasf5ba619.ir0toxu251p.tbgwjd18f"},{"email":"1j7vrr1trh.wqj0ozl357@spacebar.chat","password":"1m.iucscoe7b0.6ca1jfaag361.c2trc36mnvk"},{"email":"9w2w572pzr.fv1rk360pp@spacebar.chat","password":"t.labzw6qw8t3.33k42uvhgd1s.e1gj71h14"},{"email":"yf5e43ol4.6509owbcxa@spacebar.chat","password":"12.jewy0uvx1m1m.ce28kht6dk.v2p0bzlvz"},{"email":"gzny2o1re.1xrl0ua7yd@spacebar.chat","password":"h.3valf7r8jh.6bzfr4ions.r4b2mt0l0g"},{"email":"bc77a5kw9v.hu5barps6q@spacebar.chat","password":"1a.jt11azsa81j.4v70jvm9d1o.hflrb1tigk"},{"email":"ltoezpefev.hrvnxmq9ee@spacebar.chat","password":"b.v4f5lqrlc912.dx4dd4xq91v.zj345to03"},{"email":"svcpsuoenk.b8mfqxpbzg@spacebar.chat","password":"1a.7aobev8b4r.xqqfybkcs1t.cjuswku0a"},{"email":"n0mroewqq.svq5iq57pe@spacebar.chat","password":"1l.zxm1xhlavp.65rp7bz57x.01vjajdsc"},{"email":"trly6yupd.dt37kh07dn@spacebar.chat","password":"1i.o2ieg72fz1j.er031tzerx.2ngg4dcvlh"},{"email":"ickkf14cqv.9pu2pnmx7n@spacebar.chat","password":"18.pyhd9ruatl1k.erfchcjc95.wfd67r5e8x"},{"email":"5o4ornfwy9.yabymb8e2k@spacebar.chat","password":"1g.117kmei8df10.cedozr4vee.08te5d44nb"},{"email":"p0ulegfi3.dgmar6qc2v@spacebar.chat","password":"1h.tle7s3ed82.un20o5nv3dk.wnz4w802h8"},{"email":"58gejpvr6v.jolxrsl83p@spacebar.chat","password":"e.ksw14117hbo.f0pgufr3na.ssrjys23al"},{"email":"vf349zeoja.r8bjel59kd@spacebar.chat","password":"1o.79kh6e6glm9.d76d86g1jp16.u37p4jhf7"},{"email":"uc786nn0go.n9ygun6owj@spacebar.chat","password":"m.xo4bwhct5be.lpokbj59w8p.z4l52dzv1r"},{"email":"5jgx24s87u.odlx0bfo0r@spacebar.chat","password":"1k.ni9jyfol7h1g.vczzsa8dbg.r4bhoh5op"},{"email":"2v44408x8l.unfspunnnm@spacebar.chat","password":"16.63njhji5b4.r4xkcf672f1a.x389dr603g"},{"email":"ityj8kcvrm.9djzannsll@spacebar.chat","password":"1p.6jdbhaxiqc.nfnpw7e09g8.967dtt2dy3"},{"email":"8csbvl9qot.28etdf4pf@spacebar.chat","password":"1b.52rdo5qmj3.ta9jw1wm3k9.m96fe27tp"},{"email":"dqndi38hsq.yv77wk3mov@spacebar.chat","password":"k.zpjwpwxmlr1f.tbj03rxayn17.9x451qclu"},{"email":"ohwmvag9j.w6t8ngs4t@spacebar.chat","password":"b.h1ta0mly991q.wzu1ssffyk1h.kc10wt8i2"},{"email":"2mmors2h0w.jwukibc7oi@spacebar.chat","password":"y.xo4kgepqa1t.b77zwt1in5.3um79fx22r"},{"email":"ux0q6gvwnr.gnywxxrsn@spacebar.chat","password":"g.52userbsonu.ny8omqaduf.rvhtwq4jer"},{"email":"0q12b4zet.y87zc04r8r@spacebar.chat","password":"1t.79mg1a9q85.k66wagu67j14.ad0gw3caw"},{"email":"gatbconrvq.dsopxa8fkk@spacebar.chat","password":"1n.fycl7y9roh1p.4yg37pst4k16.votnvabrf"},{"email":"mmp9g1b1v.xz1w4qzxee@spacebar.chat","password":"1k.cjmz3huosl.jh502yz5jf1e.hyce7qc67"},{"email":"5s90s1hbns.b027pfiv3s@spacebar.chat","password":"1l.86ipkmi6fg.scabtvproj4.yw4nb9qui9"},{"email":"l4zrvtrbpb.1r627sllk@spacebar.chat","password":"1l.zzm1dunzzek.10sr7mp01ly.yyrjj1hsli"},{"email":"xih9rwk90i.rmdifv40g@spacebar.chat","password":"15.db9k0pxci1v.hs6l033urm.5a1zv42fhl"},{"email":"55mq93jdq.2dhr1ps4f5@spacebar.chat","password":"i.v5hpg2qez1u.xhs32cwes1h.n10pexmfff"},{"email":"5c0vb38rul.5su27w4pn8@spacebar.chat","password":"12.y87q6jxq41m.qgiji2j0hm.gmy2wuavc"},{"email":"qjk2eoqeqq.ljq4dig10o@spacebar.chat","password":"0.lpu8eio3hra12.mq8qcehpe1e.77p7zilh4"},{"email":"b45ltbf5d.o4oouuik1e@spacebar.chat","password":"1u.wb7hn2b1x1k.jys5p3ri4j.9ew9jab3ll"},{"email":"1mw205tjri.gpi2h76eps@spacebar.chat","password":"1g.kyh53pnamd13.5yufexmyv1h.r56pmhm7i"},{"email":"8y0psdjq2s.ifqyimhnkj@spacebar.chat","password":"1d.fi03hlwk41u.b89w0vrd712.ljudzvdo6"},{"email":"ls73glp0q9.3rtqyb262@spacebar.chat","password":"1.z70c4ef5hfi.fes9zmue2it.5cobkz3ah"},{"email":"ipe2um46bi.in93oau1l@spacebar.chat","password":"5.a5he7keuru1n.l05ivx4n24.piohqdy51w"},{"email":"mt16ta8diq.krypy2t9cv@spacebar.chat","password":"n.zk4goctn5p3.r1fhllqy1m1p.ni2q3y68w"},{"email":"qehwflm0ja.x5uvmxgfle@spacebar.chat","password":"1e.r2sj0uimq1f.nmtozr8qd1s.xgvz4d62b"},{"email":"0ppn1iwd6.ivrqbvn17i@spacebar.chat","password":"1n.fr6x1pbzjl.c8xwipgo6c.m1me2h2g58"},{"email":"xiiq47ofev.u9z0gndxs6@spacebar.chat","password":"1t.7tfe0181ij.jbznx5eebs.ytm50kp5qf"},{"email":"kqhk3lt2mo.o4y7u23zbu@spacebar.chat","password":"1b.bkoqmxjcf1l.c5q9oneuz1u.00x93z7l4"},{"email":"ri64c5o5zn.o429slph64@spacebar.chat","password":"1r.mre2hu1gpu.401xyxa6eu.j98cetaplg"},{"email":"j5jpukoktw.q5bseyjfu@spacebar.chat","password":"h.k1ar11fpx1m.n50t8tz4k4.9oj17rtdjw"},{"email":"cg8gyuhu16.jezv2bo8n@spacebar.chat","password":"1c.vyfo117pd1b.hxlc7e9zve.j6ej7ho2rk"},{"email":"7ngysyss7w.yjy0whd5fh@spacebar.chat","password":"12.pl4jjp66wi1r.xx7s13gsgy.v2slv2vyx"},{"email":"7uhylwdaiq.w557htx0x@spacebar.chat","password":"1j.icm6w8m4mh.4qyoql77m8.ar8kliax0s"},{"email":"y6yn1ckm1e.7xxizerecm@spacebar.chat","password":"1e.om7n18zisn1w.usblhxf4p1m.r9ke41xox"},{"email":"uwdsktqhuw.4vmh5gmg7d@spacebar.chat","password":"6.cdte4bk24b16.cf1sbtxlx1o.n62w4weh9"},{"email":"8v1nt755y.w0y1jgfcgm@spacebar.chat","password":"f.ozxpvznxj41o.bs5s5dhua1l.ffayy0gsy"},{"email":"rmy9b61cij.qir0bjorcm@spacebar.chat","password":"1h.bxjxpx0u6f13.e97yh8g761c.j8zog74iql"},{"email":"93ir0yiyi9.1f7bfzt3fb@spacebar.chat","password":"18.vky28kwlw14.w1wsoyu6c15.yhxbr725xe"},{"email":"g0kqw9plr.v2zcovhyg6@spacebar.chat","password":"1r.3txq1jt4zl1d.ha0ejtekjh.xhjl9e6vqg"},{"email":"xmk2q5zxa.v1ka9gm3a8@spacebar.chat","password":"1l.ryvykh3ihm16.rxea04ifq0.h14sz83yisv"},{"email":"mqt2bmltj9.53o16bc6xn@spacebar.chat","password":"i.vt66ajtme1f.lllyzaprk16.yb0yh0o1z"},{"email":"4kvjyddsv.7u7lmex2df@spacebar.chat","password":"1i.axaegtd0qz.2yvfr5n261g.8s8fprsd8"},{"email":"yigntcopcc.8bchnlmclm@spacebar.chat","password":"n.b5yn5xried1d.siep9e4fb1t.h6s6erw5t"},{"email":"meubr1b03t.t97015wih6@spacebar.chat","password":"5.wu3izi2gyqi.iurx5qpp7l.znq1htzuel"},{"email":"xz3gta0hi.1x5o83xyee@spacebar.chat","password":"14.uafjiryde3.oin9k24w3510.vkjmjleb4i"},{"email":"9jkrkk9r6o.6ossrgj919@spacebar.chat","password":"v.u9531wtw2o11.151eg145bf.bk57nd0s6u"},{"email":"kf9fdmnacv.67shfcubvn@spacebar.chat","password":"1i.7f1olv2hkt.v2cso7zxlfw.8ylhl33g1"},{"email":"k8zuiett0r.0w299k0t9j@spacebar.chat","password":"t.1mrpwsil15.999lbrfvz1h.7od0kjlxo"},{"email":"8m9rt3vgg.vkpf6apx9@spacebar.chat","password":"1n.2ohz11tk412.5ezp8ujcwn8.rvqqrozh9s"},{"email":"rfavhpnhc.6xwy7o3ulm@spacebar.chat","password":"11.ikd54271zj.vq3brjark7.h1ryvz7ap8"},{"email":"6zmju5azrd.4bes4a3cq@spacebar.chat","password":"5.litb6taajto.ownyp3uhjkh.f543o47uc9"},{"email":"ml5pst7t3g.kbvn8b1vg@spacebar.chat","password":"1q.co2aumj6fw.fa18frro5e.vnpotfg209"},{"email":"kaa1r6srjs.wjriguic5e@spacebar.chat","password":"y.y635jqxai9.s4hcd1weni5.51i7z3c26r"},{"email":"n09uhfkuc5.9aqau9qyk@spacebar.chat","password":"1f.wtjqoqzdwg6.mfvvtcwtx91t.8ujt3pwx4"},{"email":"6y5y3px9oa.4183pg5aq6@spacebar.chat","password":"11.8a00uh75g1i.d462wzpqv1t.dnd8sdvr"},{"email":"aqdzadem03.f8uv1m4zv4@spacebar.chat","password":"4.4ndx89thn53.afcjfzjqe51o.ivaemdp5hf"},{"email":"oqv3944yav.31ccatif3r@spacebar.chat","password":"1w.9cstqu9o21f.p40uqca3vl19.iqnn79lqde"},{"email":"akzyzmigv.9c6w5aj4o@spacebar.chat","password":"m.m382wa8nznr.szvso4c03ke.ttw2jhnwh8"},{"email":"13dqfm57jo.e05e711ggt@spacebar.chat","password":"1b.t1b51jt7lf.rhi4j32rw91u.0foqthilf"},{"email":"3derfs5v66.s2kbedbm3o@spacebar.chat","password":"t.e153si8xso1m.9rv9il857fd.e3i0di3ope"},{"email":"92k9vmws7.dt9mvv6ijh@spacebar.chat","password":"1r.r8oy0su9c1e.irtwz9gdna.3fddwt8k4n"},{"email":"w1huzvblr.q9qp44japt@spacebar.chat","password":"1v.dfdr92srfs.3x2wd25frh15.z73xb3vol"},{"email":"vne3an2fif.32eq9woyl@spacebar.chat","password":"7.lurd6n689ek.sf3gedrf711.5xclyfsn3"},{"email":"298zj4dvxf.5sfh7f2e2m@spacebar.chat","password":"n.1rbv0z54wr1n.nt2041ujks.0gwbe80zyl"},{"email":"ywp1ssr2zh.gl97epixxu@spacebar.chat","password":"1w.gfpvze8vq1p.is7b2795819.4hilzah3"},{"email":"kqzujy4m5j.ocydwl4yyh@spacebar.chat","password":"1c.sqxzxuareez.fgczf2qh3en.yi5vo23phn"},{"email":"ck8n5p7d6d.2vu4cdm6iw@spacebar.chat","password":"1o.g3lq6grnm1t.otf44zgiw1c.jfdgqubfjl"},{"email":"s3vqe9bzj.muec34461t@spacebar.chat","password":"1u.i4u3eidof19.tl8hf5fpdv.mvbij0fdgc"},{"email":"7hedrsktw.oqe4hym4us@spacebar.chat","password":"1j.orlptqc2h.hs6661zehh1r.ngepsoldvf"},{"email":"44tm2rsu6j.oxrw5ib1np@spacebar.chat","password":"1o.n71dxtllrf9.htwjv6fsi81l.5w9pyr8eee"},{"email":"o28saa2e4t.m49530ir45@spacebar.chat","password":"16.z31xrcp6li12.uaklzxvskl.nqyq23zqb"},{"email":"aaz3kkwx2q.u42rdyacy6@spacebar.chat","password":"1k.aohk44bxqkq.6lec7k6yfa14.geiq4ok3b"},{"email":"ntw1oc87mh.js3q1iqxrh@spacebar.chat","password":"15.li45vduoy15.h90fv4ytl1t.3v78qdvcq"},{"email":"cpkgoh313.lkdhhl039a@spacebar.chat","password":"3.fdw00uv0dn1v.qz6frlgeh0.3g0c7xnn9le"},{"email":"wznnajnyww.3f5s5cf0lt@spacebar.chat","password":"4.3d2ro1uvag2.9yum8m4gd5t.yd1zriwovn"},{"email":"odwdxlk49g.m113aywba@spacebar.chat","password":"y.24hnap1ckh.n0q1dtobf717.0tzaopasse"},{"email":"0xt66uuwbs.24qfa4w82q@spacebar.chat","password":"e.3cfcd0usw57.oydvjpl5wm1b.sxnf38ihh"},{"email":"4pxgasro0t.xifcrlp26f@spacebar.chat","password":"1d.oxpqgh8jbgb.6epjawtwga1u.o5d33jm"},{"email":"l202g9q8xo.t4ck4xu44v@spacebar.chat","password":"d.gyul2yhu7h1g.163rzn4kqik.e5qlstdwp"},{"email":"8mwzma33ko.b9on13ypjl@spacebar.chat","password":"b.0sdy90whqr1o.rruwt57r8l14.hjejwclmr"},{"email":"h8dm19fu77.hzpnw8famh@spacebar.chat","password":"s.q49kg1uq8gc.046rudurb1o.2lqegjfds"},{"email":"exkp3ve6z7.mdydbk9jy@spacebar.chat","password":"16.bq8o0d13sd8.tri7wtdjpro.2ebtbyqgtt"},{"email":"n8fe02yphv.huwi91ywha@spacebar.chat","password":"1d.8qp5wkq541k.ulwk4bzjsm19.q3qbxorto"},{"email":"lsslgvrdyb.u86qng3p7o@spacebar.chat","password":"11.9q1m8gwavd.9z3kflcg5k1e.lrux8aqm8"},{"email":"0jur86ya2p.gb26btuz7@spacebar.chat","password":"n.fflp1f1yksg.10rh6etc61.yld8y7u9hi"},{"email":"raseda2c45.vl9resp89r@spacebar.chat","password":"b.6gd8az3ljg.es1yjenqskk.i4i8m466p"},{"email":"jmam7ha069.b96jzg1bkl@spacebar.chat","password":"1f.2z41vc92bo.84f3d3j3gra.5yev9enzv"},{"email":"pp2rki7hjd.a037bg6u6@spacebar.chat","password":"3.nktq53a97c19.khsapwl0wd.ej16kksime"},{"email":"c35l8m3ikr.e7vx8nmbil@spacebar.chat","password":"2.oryjofui8mu.7jes36sirs1u.oclq1geaf"},{"email":"ufhsl7tn5u.j4ey0abswv@spacebar.chat","password":"14.uctn73o6h1n.t75arwloxgf.nvgdr4l41o"},{"email":"8ru4fr2ed.kf8ffg9ko8@spacebar.chat","password":"n.hqxwr2ypwd1l.vu23byfp3c.nzgszptoqk"},{"email":"6gmjeij67o.ep5256bmf@spacebar.chat","password":"1i.237gs5pk5j1w.yvuhvp9ho15.l4qibsw5i"},{"email":"4wrhgqel0w.e0sz7l0zki@spacebar.chat","password":"w.g09qtor0p1g.a5uzjl6u3g17.v3z6rhb9h"},{"email":"3860ixs8g.6pha1slnur@spacebar.chat","password":"m.o7o62cqw3g.wkkaak7zz8.h82m4nenbf"},{"email":"wnnpg8stto.zwsxqfp38i@spacebar.chat","password":"c.k2b6jn1b3r14.ojpvlbxil1r.rpkncuyqp"},{"email":"t04ss33dlw.98dpq7j8rg@spacebar.chat","password":"5.7zgfmumai7.iphztcsjfw1h.sq2kp3j9j"},{"email":"hy53et7kw6.vsku4tebj9@spacebar.chat","password":"3.ayjddj0roe1m.ngz1qajzlgu.xue35w1d1d"},{"email":"252ueajele.j4euv8la1d@spacebar.chat","password":"h.tw1utyw7mh9.ydii1rkvp4.8xafwfxrqd"},{"email":"ye2mi1d86.uqa7ig7qxb@spacebar.chat","password":"j.pn3eoar1ft1e.k8febwch91o.fzau5lnbx"},{"email":"4cq5y22mm8.q33hk612wu@spacebar.chat","password":"1l.7tx03ihc9e1a.3i2l76ur5.28yffumat8"},{"email":"d9op87vvj7.vbu23p4mnq@spacebar.chat","password":"10.z7pgyokesip.0i0axexmwpa.0p5xrlag9k"},{"email":"tnhgsqizxh.14ulf4jinl@spacebar.chat","password":"j.8p0jucy5xk10.creosnkf2o.vzznt05x"},{"email":"8h2h3w3ex5.8ogl7f027n@spacebar.chat","password":"1b.08wkhdm03g3.8hdklh1zj41t.fq57w9raf"},{"email":"ommn4ocwtn.1fkdjbz2v8@spacebar.chat","password":"1e.i8k15b9uk1p.70n34lxbzf.4inv63cwt8"},{"email":"fnxg92zeqn.ljg5uumt3e@spacebar.chat","password":"w.ltho2dsgveu.d1ome2w0x8j.7wr2hq1wk8"},{"email":"lzi8aurosp.mck9i974of@spacebar.chat","password":"u.zezf4qdz2p0.l2g634tak98.ql0n1tg6sq"},{"email":"fdhv4fccm5.o9x209i94g@spacebar.chat","password":"5.2o84u6v43619.4c0c71a9gk7.n9cmjegefv"},{"email":"tuedrm1ajt.bxjgzsyj4s@spacebar.chat","password":"1m.ng2h807gvu.rhd056e6bbb.lkvewwp2tg"},{"email":"488bryb32a.x928qzsf8g@spacebar.chat","password":"y.n2c3x3irffa.fz9xwiimno8.nnpvm280oc"},{"email":"n928oorjaa.kj35rf9p35@spacebar.chat","password":"1l.flvmvopcj16.pmx6n9hi7hi.v9odjzq3at"},{"email":"emzd8qz0f8.b972dvhf0m@spacebar.chat","password":"3.7umgbd5apm18.0n6yi8ol9g.m4607npuc"},{"email":"g7jzdulwv5.0a2wzws2ua@spacebar.chat","password":"10.1u1sac19wkf.lvi2qwfhtq16.8wbdddpms"},{"email":"giuivahumo.7iqapfnbfr@spacebar.chat","password":"q.pzck5qtbype.llhl9ypv6b1e.3dz8gsv0pg"},{"email":"0t84mm2pj9.kycgvqkuag@spacebar.chat","password":"1t.kpvjmvipo14.kwv0np3ordv.ustw31ifu"},{"email":"vx5t6yurg7.pocn2c069m@spacebar.chat","password":"f.gdwgrk0wia1u.7m1ozam0b0.d5y62kwyih5"},{"email":"p7arvq1hha.7wryrvhvl@spacebar.chat","password":"1v.eb62r3rx71h.d3fhbfdxa1l.4gzcu184s"},{"email":"adp64dkhdd.q2nc2qvy3@spacebar.chat","password":"q.96rt5rc517h.3f0foodom4.h1wee4z428"},{"email":"pfhrq2kv8.92dq9bxy8a@spacebar.chat","password":"1g.nfaha2xx7hi.vtng22emxs1l.fpbra2wo6h"},{"email":"jjnysdssoc.eqr6v2pqeo@spacebar.chat","password":"1.112arb9m3cb.w3yfq6ekz1d.keb15ptd5"},{"email":"m5rab6dhrc.p1tnxv9feg@spacebar.chat","password":"1.3guc8m7j0uj4.xphgg3121714.7ii7ah6g7f"},{"email":"zgq1iount.blsiqtyvc6@spacebar.chat","password":"16.dzt6188au1w.ilwc3p3ds17.7j7lcsqur"},{"email":"ix7nx1ce4a.3wj4gs8b7p@spacebar.chat","password":"13.p2v1p2nwa1t.2yarcqsmzk.ay7w9u0p1r"},{"email":"5jh7wm63ug.feyytgy11g@spacebar.chat","password":"10.otpp2mz0smb.uv94hcp26c8.a3nlz16n14"},{"email":"9cd7yy1ps4.jet2fn1fdb@spacebar.chat","password":"9.bjtfocm7zk12.sushyeb1yg.lhtmj6a70t"},{"email":"20u20f6dlk.l8n5tvh2re@spacebar.chat","password":"19.qfrr25rarj.4tzf063a9n4.3i5s3vm30b"},{"email":"b1hnmmwcb.q21mrflg1h@spacebar.chat","password":"3.ysh10ultyjz.nz8azt84216.lxn1kgvly"},{"email":"j7nhj8s2d.aqaeidbi8m@spacebar.chat","password":"g.nlnw7ejuqbz.41exhwj2wiv.1yr0njmd"}] \ No newline at end of file diff --git a/scripts/stresstest/config.json.example b/scripts/stresstest/config.json.example deleted file mode 100644 index 73f52f05..00000000 --- a/scripts/stresstest/config.json.example +++ /dev/null @@ -1,5 +0,0 @@ -{ - "url": "", - "text-channel": "", - "invite": "" -} diff --git a/scripts/stresstest/index.js b/scripts/stresstest/index.js deleted file mode 100644 index d3f2d2ba..00000000 --- a/scripts/stresstest/index.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -/* eslint-env node */ - -const register = require("./src/register"); -const login = require("./src/login/index"); -const config = require("./config.json"); -const figlet = require("figlet"); -const sendMessage = require("./src/message/send"); -const fs = require("fs"); -figlet("Spacebar Stress Test :)", function (err, data) { - if (err) { - console.log("Something went wrong..."); - console.dir(err); - return; - } - console.log("\x1b[32m", data); -}); -setInterval(() => { - generate(); -}, 1000 * 5); -setInterval(() => { - getUsers(); -}, 60 * 1000); -async function generate() { - var accounts = await JSON.parse(fs.readFileSync("accounts.json")); - console.log(accounts); - var account = await register(); - accounts.push(account); - fs.writeFileSync("accounts.json", JSON.stringify(accounts)); - console.log(accounts.length); - var y = await login(account); - sendMessage(y); -} -async function getUsers() { - var accounts = await JSON.parse(fs.readFileSync("accounts.json")); - accounts.forEach(async (x) => { - var y = await login(x); - console.log(y); - sendMessage(y); - }); -} diff --git a/scripts/stresstest/package-lock.json b/scripts/stresstest/package-lock.json deleted file mode 100644 index 81c9b817..00000000 --- a/scripts/stresstest/package-lock.json +++ /dev/null @@ -1,856 +0,0 @@ -{ - "name": "stresstest", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "stresstest", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "figlet": "^1.5.2", - "node-fetch": "^2.6.6", - "request": "^2.88.2" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/figlet": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz", - "integrity": "sha512-WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "figlet": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz", - "integrity": "sha512-WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "requires": { - "mime-db": "1.51.0" - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } -} diff --git a/scripts/stresstest/package.json b/scripts/stresstest/package.json deleted file mode 100644 index 8d94d05b..00000000 --- a/scripts/stresstest/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "stresstest", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "start": "node ." - }, - "author": "", - "license": "ISC", - "dependencies": { - "figlet": "^1.5.2", - "node-fetch": "^2.6.6", - "request": "^2.88.2" - } -} diff --git a/scripts/stresstest/src/login/index.js b/scripts/stresstest/src/login/index.js deleted file mode 100644 index 128a477b..00000000 --- a/scripts/stresstest/src/login/index.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -const fetch = require("node-fetch"); -const fs = require("fs"); -var config = require("../../config.json"); -module.exports = login; -async function login(account) { - var body = { - fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw", - login: account.email, - password: account.password, - }; - var x = await fetch(config.url + "/auth/login", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(body), - }); - console.log(x); - x = await x.json(); - console.log(x); - return x; -} diff --git a/scripts/stresstest/src/message/send.js b/scripts/stresstest/src/message/send.js deleted file mode 100644 index ca6af62c..00000000 --- a/scripts/stresstest/src/message/send.js +++ /dev/null @@ -1,44 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -const fetch = require("node-fetch"); -const fs = require("fs"); -var config = require("../../config.json"); -module.exports = sendMessage; -async function sendMessage(account) { - var body = { - fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw", - content: "Test", - tts: false, - }; - var x = await fetch( - config.url + "/channels/" + config["text-channel"] + "/messages", - { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: account.token, - }, - body: JSON.stringify(body), - }, - ); - console.log(x); - x = await x.json(); - console.log(x); - return x; -} diff --git a/scripts/stresstest/src/register/index.js b/scripts/stresstest/src/register/index.js deleted file mode 100644 index f085386f..00000000 --- a/scripts/stresstest/src/register/index.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -/* eslint-env node */ - -const fetch = require("node-fetch"); -const fs = require("fs"); -var config = require("../../config.json"); -module.exports = generate; -async function generate() { - var mail = (Math.random() + 10).toString(36).substring(2); - mail = - mail + - "." + - (Math.random() + 10).toString(36).substring(2) + - "@stresstest.com"; - var password = - (Math.random() * 69).toString(36).substring(-7) + - (Math.random() * 69).toString(36).substring(-7) + - (Math.random() * 69).toString(36).substring(-8); - console.log(mail); - console.log(password); - var body = { - fingerprint: "805826570869932034.wR8vi8lGlFBJerErO9LG5NViJFw", - email: mail, - username: "Spacebar Stress Test", - password: password, - invite: config.invite, - consent: true, - date_of_birth: "2000-04-04", - gift_code_sku_id: null, - captcha_key: null, - }; - var x = await fetch(config.url + "/auth/register", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(body), - }); - console.log(x); - x = await x.json(); - console.log(x); - return { email: mail, password: password }; -} From f1f68c3d314c1b8bf42641a165ef6c9a8ebd348e Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Fri, 28 Jul 2023 09:26:18 +1000 Subject: [PATCH 12/17] refactor checkToken --- assets/openapi.json | 191 +- assets/schemas.json | 18812 ++++++++++++++---------- src/api/middlewares/Authentication.ts | 7 +- src/api/routes/auth/reset.ts | 4 +- src/api/routes/auth/verify/index.ts | 3 +- src/gateway/opcodes/Identify.ts | 62 +- src/util/schemas/RegisterSchema.ts | 4 + src/util/util/Token.ts | 120 +- 8 files changed, 11001 insertions(+), 8202 deletions(-) diff --git a/assets/openapi.json b/assets/openapi.json index 9d4f0a1e..cf262c2c 100644 --- a/assets/openapi.json +++ b/assets/openapi.json @@ -2390,12 +2390,16 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } }, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -3632,47 +3636,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -3707,6 +3709,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -3773,30 +3808,9 @@ "$ref": "#/components/schemas/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -3830,21 +3844,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "required": [ @@ -4173,7 +4177,9 @@ "channel": { "$ref": "#/components/schemas/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/components/schemas/AuthRateLimit" + } }, "required": [ "auth", @@ -4182,6 +4188,21 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/components/schemas/RateLimitOptions" + }, + "register": { + "$ref": "#/components/schemas/RateLimitOptions" + } + }, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -4664,13 +4685,13 @@ "discovery_splash": { "type": "string" }, - "region": { - "type": "string" - }, "icon": { "type": "string", "nullable": true }, + "region": { + "type": "string" + }, "guild_template_code": { "type": "string" }, @@ -5406,6 +5427,12 @@ }, "promotional_email_opt_in": { "type": "boolean" + }, + "unique_username_registration": { + "type": "boolean" + }, + "global_name": { + "type": "string" } }, "required": [ @@ -5684,13 +5711,6 @@ "version": { "type": "integer" }, - "guild_id": { - "type": "string", - "nullable": true - }, - "flags": { - "type": "integer" - }, "message_notifications": { "type": "integer" }, @@ -5716,6 +5736,13 @@ "suppress_roles": { "type": "boolean" }, + "guild_id": { + "type": "string", + "nullable": true + }, + "flags": { + "type": "integer" + }, "mute_scheduled_events": { "type": "boolean" }, @@ -6934,6 +6961,9 @@ "APIPrivateUser": { "type": "object", "properties": { + "flags": { + "type": "string" + }, "id": { "type": "string" }, @@ -6980,9 +7010,6 @@ "pronouns": { "type": "string" }, - "flags": { - "type": "string" - }, "mfa_enabled": { "type": "boolean" }, @@ -7051,6 +7078,9 @@ "newToken": { "type": "string" }, + "flags": { + "type": "string" + }, "id": { "type": "string" }, @@ -7097,9 +7127,6 @@ "pronouns": { "type": "string" }, - "flags": { - "type": "string" - }, "mfa_enabled": { "type": "boolean" }, @@ -7264,10 +7291,10 @@ "APIPublicMember": { "type": "object", "properties": { - "id": { + "guild_id": { "type": "string" }, - "guild_id": { + "id": { "type": "string" }, "nick": { @@ -7696,10 +7723,10 @@ "additionalProperties": false, "type": "object", "properties": { - "id": { + "guild_id": { "type": "string" }, - "guild_id": { + "id": { "type": "string" }, "nick": { diff --git a/assets/schemas.json b/assets/schemas.json index 5a119d0c..467f29fa 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -2531,6 +2531,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -2538,6 +2541,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -3803,47 +3807,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -3878,6 +3880,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -3944,30 +3979,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -4001,21 +4015,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -4365,7 +4369,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -4375,6 +4381,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -6729,6 +6751,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -6736,6 +6761,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -8001,47 +8027,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -8076,6 +8100,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -8142,30 +8199,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -8199,21 +8235,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -8563,7 +8589,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -8573,6 +8601,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -10927,6 +10971,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -10934,6 +10981,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -12199,47 +12247,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -12274,6 +12320,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -12340,30 +12419,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -12397,21 +12455,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -12761,7 +12809,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -12771,6 +12821,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -15120,6 +15186,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -15127,6 +15196,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -16392,47 +16462,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -16467,6 +16535,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -16533,30 +16634,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -16590,21 +16670,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -16954,7 +17024,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -16964,6 +17036,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -19349,6 +19437,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -19356,6 +19447,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -20621,47 +20713,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -20696,6 +20786,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -20762,30 +20885,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -20819,21 +20921,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -21183,7 +21275,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -21193,6 +21287,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -23547,6 +23657,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -23554,6 +23667,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -24819,47 +24933,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -24894,6 +25006,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -24960,30 +25105,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -25017,21 +25141,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -25381,7 +25495,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -25391,6 +25507,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -27736,6 +27868,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -27743,6 +27878,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -29008,47 +29144,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -29083,6 +29217,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -29149,30 +29316,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -29206,21 +29352,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -29570,7 +29706,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -29580,6 +29718,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -31928,6 +32082,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -31935,6 +32092,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -33200,47 +33358,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -33275,6 +33431,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -33341,30 +33530,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -33398,21 +33566,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -33762,7 +33920,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -33772,6 +33932,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -36129,6 +36305,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -36136,6 +36315,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -37401,47 +37581,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -37476,6 +37654,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -37542,30 +37753,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -37599,21 +37789,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -37963,7 +38143,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -37973,6 +38155,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -40318,6 +40516,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -40325,6 +40526,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -41590,47 +41792,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -41665,6 +41865,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -41731,30 +41964,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -41788,21 +42000,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -42152,7 +42354,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -42162,6 +42366,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -44507,6 +44727,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -44514,6 +44737,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -45779,47 +46003,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -45854,6 +46076,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -45920,30 +46175,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -45977,21 +46211,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -46341,7 +46565,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -46351,6 +46577,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -48715,6 +48957,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -48722,6 +48967,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -49987,47 +50233,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -50062,6 +50306,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -50128,30 +50405,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -50185,21 +50441,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -50549,7 +50795,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -50559,6 +50807,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -52907,6 +53171,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -52914,6 +53181,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -54179,47 +54447,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -54254,6 +54520,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -54320,30 +54619,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -54377,21 +54655,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -54741,7 +55009,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -54751,6 +55021,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -54976,15 +55262,15 @@ "discovery_splash": { "type": "string" }, - "region": { - "type": "string" - }, "icon": { "type": [ "null", "string" ] }, + "region": { + "type": "string" + }, "guild_template_code": { "type": "string" }, @@ -57159,6 +57445,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -57166,6 +57455,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -58431,47 +58721,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -58506,6 +58794,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -58572,30 +58893,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -58629,21 +58929,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -58993,7 +59283,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -59003,6 +59295,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -61370,6 +61678,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -61377,6 +61688,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -62642,47 +62954,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -62717,6 +63027,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -62783,30 +63126,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -62840,21 +63162,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -63204,7 +63516,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -63214,6 +63528,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -65722,6 +66052,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -65729,6 +66062,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -66994,47 +67328,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -67069,6 +67401,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -67135,30 +67500,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -67192,21 +67536,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -67556,7 +67890,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -67566,6 +67902,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -69929,6 +70281,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -69936,6 +70291,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -71201,47 +71557,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -71276,6 +71630,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -71342,30 +71729,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -71399,21 +71765,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -71763,7 +72119,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -71773,6 +72131,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -74149,6 +74523,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -74156,6 +74533,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -75421,47 +75799,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -75496,6 +75872,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -75562,30 +75971,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -75619,21 +76007,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -75983,7 +76361,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -75993,6 +76373,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -78351,6 +78747,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -78358,6 +78757,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -79623,47 +80023,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -79698,6 +80096,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -79764,30 +80195,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -79821,21 +80231,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -80185,7 +80585,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -80195,6 +80597,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -82559,6 +82977,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -82566,6 +82987,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -83831,47 +84253,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -83906,6 +84326,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -83972,30 +84425,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -84029,21 +84461,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -84393,7 +84815,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -84403,6 +84827,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -86757,6 +87197,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -86764,6 +87207,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -88029,47 +88473,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -88104,6 +88546,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -88170,30 +88645,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -88227,21 +88681,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -88591,7 +89035,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -88601,6 +89047,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -90943,6 +91405,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -90950,6 +91415,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -92215,47 +92681,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -92290,6 +92754,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -92356,30 +92853,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -92413,21 +92889,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -92777,7 +93243,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -92787,6 +93255,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -95240,6 +95724,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -95247,6 +95734,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -96512,47 +97000,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -96587,6 +97073,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -96653,30 +97172,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -96710,21 +97208,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -97074,7 +97562,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -97084,6 +97574,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -99534,6 +100040,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -99541,6 +100050,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -100806,47 +101316,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -100881,6 +101389,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -100947,30 +101488,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -101004,21 +101524,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -101368,7 +101878,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -101378,6 +101890,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -103723,6 +104251,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -103730,6 +104261,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -104995,47 +105527,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -105070,6 +105600,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -105136,30 +105699,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -105193,21 +105735,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -105557,7 +106089,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -105567,6 +106101,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -107920,6 +108470,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -107927,6 +108480,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -109192,47 +109746,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -109267,6 +109819,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -109333,30 +109918,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -109390,21 +109954,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -109754,7 +110308,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -109764,6 +110320,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -112110,6 +112682,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -112117,6 +112692,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -113382,47 +113958,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -113457,6 +114031,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -113523,30 +114130,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -113580,21 +114166,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -113944,7 +114520,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -113954,6 +114532,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -116300,6 +116894,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -116307,6 +116904,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -117572,47 +118170,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -117647,6 +118243,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -117713,30 +118342,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -117770,21 +118378,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -118134,7 +118732,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -118144,6 +118744,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -118349,6 +118965,12 @@ }, "promotional_email_opt_in": { "type": "boolean" + }, + "unique_username_registration": { + "type": "boolean" + }, + "global_name": { + "type": "string" } }, "additionalProperties": false, @@ -120519,6 +121141,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -120526,6 +121151,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -121791,47 +122417,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -121866,6 +122490,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -121932,30 +122589,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -121989,21 +122625,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -122353,7 +122979,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -122363,6 +122991,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -124709,6 +125353,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -124716,6 +125363,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -125981,47 +126629,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -126056,6 +126702,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -126122,30 +126801,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -126179,21 +126837,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -126543,7 +127191,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -126553,6 +127203,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -128898,6 +129564,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -128905,6 +129574,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -130170,47 +130840,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -130245,6 +130913,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -130311,30 +131012,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -130368,21 +131048,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -130732,7 +131402,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -130742,6 +131414,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -133102,6 +133790,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -133109,6 +133800,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -134374,47 +135066,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -134449,6 +135139,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -134515,30 +135238,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -134572,21 +135274,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -134936,7 +135628,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -134946,6 +135640,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -137295,6 +138005,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -137302,6 +138015,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -138567,47 +139281,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -138642,6 +139354,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -138708,30 +139453,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -138765,21 +139489,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -139129,7 +139843,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -139139,6 +139855,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -141562,6 +142294,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -141569,6 +142304,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -142834,47 +143570,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -142909,6 +143643,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -142975,30 +143742,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -143032,21 +143778,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -143396,7 +144132,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -143406,6 +144144,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -145751,6 +146505,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -145758,6 +146515,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -147023,47 +147781,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -147098,6 +147854,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -147164,30 +147953,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -147221,21 +147989,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -147585,7 +148343,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -147595,6 +148355,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -149940,6 +150716,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -149947,6 +150726,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -151212,47 +151992,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -151287,6 +152065,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -151353,30 +152164,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -151410,21 +152200,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -151774,7 +152554,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -151784,6 +152566,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -154126,6 +154924,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -154133,6 +154934,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -155398,47 +156200,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -155473,6 +156273,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -155539,30 +156372,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -155596,21 +156408,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -155960,7 +156762,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -155970,6 +156774,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -158318,6 +159138,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -158325,6 +159148,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -159590,47 +160414,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -159665,6 +160487,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -159731,30 +160586,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -159788,21 +160622,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -160152,7 +160976,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -160162,6 +160988,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -162520,6 +163362,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -162527,6 +163372,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -163792,47 +164638,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -163867,6 +164711,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -163933,30 +164810,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -163990,21 +164846,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -164354,7 +165200,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -164364,6 +165212,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -166706,6 +167570,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -166713,6 +167580,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -167978,47 +168846,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -168053,6 +168919,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -168119,30 +169018,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -168176,21 +169054,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -168540,7 +169408,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -168550,6 +169420,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -168730,15 +169616,6 @@ "version": { "type": "integer" }, - "guild_id": { - "type": [ - "null", - "string" - ] - }, - "flags": { - "type": "integer" - }, "message_notifications": { "type": "integer" }, @@ -168764,6 +169641,15 @@ "suppress_roles": { "type": "boolean" }, + "guild_id": { + "type": [ + "null", + "string" + ] + }, + "flags": { + "type": "integer" + }, "mute_scheduled_events": { "type": "boolean" }, @@ -170941,6 +171827,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -170948,6 +171837,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -172213,47 +173103,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -172288,6 +173176,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -172354,30 +173275,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -172411,21 +173311,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -172775,7 +173665,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -172785,6 +173677,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -175162,6 +176070,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -175169,6 +176080,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -176434,47 +177346,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -176509,6 +177419,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -176575,30 +177518,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -176632,21 +177554,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -176996,7 +177908,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -177006,6 +177920,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -179348,6 +180278,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -179355,6 +180288,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -180620,47 +181554,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -180695,6 +181627,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -180761,30 +181726,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -180818,21 +181762,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -181182,7 +182116,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -181192,6 +182128,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -183559,6 +184511,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -183566,6 +184521,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -184831,47 +185787,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -184906,6 +185860,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -184972,30 +185959,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -185029,21 +185995,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -185393,7 +186349,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -185403,6 +186361,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -187859,6 +188833,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -187866,6 +188843,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -189131,47 +190109,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -189206,6 +190182,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -189272,30 +190281,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -189329,21 +190317,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -189693,7 +190671,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -189703,6 +190683,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -192044,6 +193040,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -192051,6 +193050,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -193316,47 +194316,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -193391,6 +194389,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -193457,30 +194488,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -193514,21 +194524,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -193878,7 +194878,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -193888,6 +194890,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -196268,6 +197286,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -196275,6 +197296,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -197540,47 +198562,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -197615,6 +198635,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -197681,30 +198734,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -197738,21 +198770,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -198102,7 +199124,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -198112,6 +199136,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -200480,6 +201520,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -200487,6 +201530,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -201752,47 +202796,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -201827,6 +202869,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -201893,30 +202968,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -201950,21 +203004,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -202314,7 +203358,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -202324,6 +203370,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -204744,6 +205806,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -204751,6 +205816,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -206016,47 +207082,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -206091,6 +207155,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -206157,30 +207254,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -206214,21 +207290,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -206578,7 +207644,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -206588,6 +207656,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -208930,6 +210014,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -208937,6 +210024,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -210202,47 +211290,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -210277,6 +211363,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -210343,30 +211462,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -210400,21 +211498,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -210764,7 +211852,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -210774,6 +211864,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -213124,6 +214230,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -213131,6 +214240,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -214396,47 +215506,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -214471,6 +215579,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -214537,30 +215678,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -214594,21 +215714,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -214958,7 +216068,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -214968,6 +216080,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -217308,6 +218436,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -217315,6 +218446,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -218580,47 +219712,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -218655,6 +219785,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -218721,30 +219884,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -218778,21 +219920,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -219142,7 +220274,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -219152,6 +220286,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -221498,6 +222648,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -221505,6 +222658,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -222770,47 +223924,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -222845,6 +223997,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -222911,30 +224096,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -222968,21 +224132,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -223332,7 +224486,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -223342,6 +224498,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -225688,6 +226860,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -225695,6 +226870,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -226960,47 +228136,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -227035,6 +228209,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -227101,30 +228308,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -227158,21 +228344,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -227522,7 +228698,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -227532,6 +228710,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -229878,6 +231072,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -229885,6 +231082,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -231150,47 +232348,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -231225,6 +232421,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -231291,30 +232520,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -231348,21 +232556,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -231712,7 +232910,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -231722,6 +232922,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -234100,6 +235316,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -234107,6 +235326,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -235372,47 +236592,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -235447,6 +236665,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -235513,30 +236764,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -235570,21 +236800,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -235934,7 +237154,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -235944,6 +237166,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -238294,6 +239532,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -238301,6 +239542,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -239566,47 +240808,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -239641,6 +240881,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -239707,30 +240980,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -239764,21 +241016,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -240128,7 +241370,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -240138,6 +241382,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -242478,6 +243738,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -242485,6 +243748,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -243750,47 +245014,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -243825,6 +245087,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -243891,30 +245186,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -243948,21 +245222,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -244312,7 +245576,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -244322,6 +245588,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -246668,6 +247950,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -246675,6 +247960,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -247940,47 +249226,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -248015,6 +249299,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -248081,30 +249398,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -248138,21 +249434,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -248502,7 +249788,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -248512,6 +249800,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -250869,6 +252173,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -250876,6 +252183,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -252141,47 +253449,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -252216,6 +253522,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -252282,30 +253621,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -252339,21 +253657,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -252703,7 +254011,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -252713,6 +254023,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -255084,6 +256410,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -255091,6 +256420,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -256356,47 +257686,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -256431,6 +257759,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -256497,30 +257858,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -256554,21 +257894,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -256918,7 +258248,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -256928,6 +258260,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -259270,6 +260618,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -259277,6 +260628,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -260542,47 +261894,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -260617,6 +261967,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -260683,30 +262066,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -260740,21 +262102,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -261104,7 +262456,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -261114,6 +262468,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -263459,6 +264829,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -263466,6 +264839,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -264731,47 +266105,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -264806,6 +266178,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -264872,30 +266277,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -264929,21 +266313,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -265293,7 +266667,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -265303,6 +266679,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -267677,6 +269069,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -267684,6 +269079,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -268949,47 +270345,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -269024,6 +270418,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -269090,30 +270517,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -269147,21 +270553,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -269511,7 +270907,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -269521,6 +270919,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -271863,6 +273277,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -271870,6 +273287,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -273135,47 +274553,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -273210,6 +274626,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -273276,30 +274725,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -273333,21 +274761,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -273697,7 +275115,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -273707,6 +275127,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -276128,6 +277564,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -276135,6 +277574,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -277400,47 +278840,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -277475,6 +278913,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -277541,30 +279012,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -277598,21 +279048,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -277962,7 +279402,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -277972,6 +279414,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -280321,6 +281779,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -280328,6 +281789,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -281593,47 +283055,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -281668,6 +283128,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -281734,30 +283227,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -281791,21 +283263,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -282155,7 +283617,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -282165,6 +283629,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -284507,6 +285987,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -284514,6 +285997,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -285779,47 +287263,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -285854,6 +287336,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -285920,30 +287435,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -285977,21 +287471,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -286341,7 +287825,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -286351,6 +287837,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -288693,6 +290195,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -288700,6 +290205,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -289965,47 +291471,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -290040,6 +291544,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -290106,30 +291643,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -290163,21 +291679,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -290527,7 +292033,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -290537,6 +292045,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -292886,6 +294410,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -292893,6 +294420,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -294158,47 +295686,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -294233,6 +295759,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -294299,30 +295858,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -294356,21 +295894,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -294720,7 +296248,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -294730,6 +296260,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -297076,6 +298622,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -297083,6 +298632,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -298348,47 +299898,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -298423,6 +299971,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -298489,30 +300070,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -298546,21 +300106,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -298910,7 +300460,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -298920,6 +300472,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -301262,6 +302830,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -301269,6 +302840,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -302534,47 +304106,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -302609,6 +304179,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -302675,30 +304278,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -302732,21 +304314,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -303096,7 +304668,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -303106,6 +304680,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -305523,6 +307113,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -305530,6 +307123,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -306795,47 +308389,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -306870,6 +308462,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -306936,30 +308561,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -306993,21 +308597,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -307357,7 +308951,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -307367,6 +308963,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -309720,6 +311332,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -309727,6 +311342,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -310992,47 +312608,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -311067,6 +312681,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -311133,30 +312780,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -311190,21 +312816,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -311554,7 +313170,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -311564,6 +313182,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -313918,6 +315552,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -313925,6 +315562,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -315190,47 +316828,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -315265,6 +316901,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -315331,30 +317000,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -315388,21 +317036,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -315752,7 +317390,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -315762,6 +317402,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -318166,6 +319822,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -318173,6 +319832,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -319438,47 +321098,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -319513,6 +321171,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -319579,30 +321270,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -319636,21 +321306,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -320000,7 +321660,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -320010,6 +321672,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -322373,6 +324051,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -322380,6 +324061,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -323645,47 +325327,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -323720,6 +325400,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -323786,30 +325499,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -323843,21 +325535,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -324207,7 +325889,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -324217,6 +325901,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -326586,6 +328286,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -326593,6 +328296,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -327858,47 +329562,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -327933,6 +329635,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -327999,30 +329734,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -328056,21 +329770,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -328420,7 +330124,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -328430,6 +330136,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -330793,6 +332515,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -330800,6 +332525,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -332065,47 +333791,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -332140,6 +333864,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -332206,30 +333963,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -332263,21 +333999,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -332627,7 +334353,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -332637,6 +334365,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -334979,6 +336723,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -334986,6 +336733,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -336251,47 +337999,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -336326,6 +338072,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -336392,30 +338171,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -336449,21 +338207,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -336813,7 +338561,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -336823,6 +338573,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -339193,6 +340959,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -339200,6 +340969,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -340465,47 +342235,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -340540,6 +342308,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -340606,30 +342407,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -340663,21 +342443,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -341027,7 +342797,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -341037,6 +342809,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -343419,6 +345207,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -343426,6 +345217,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -344691,47 +346483,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -344766,6 +346556,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -344832,30 +346655,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -344889,21 +346691,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -345253,7 +347045,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -345263,6 +347057,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -347599,6 +349409,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -347606,6 +349419,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -348871,47 +350685,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -348946,6 +350758,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -349012,30 +350857,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -349069,21 +350893,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -349433,7 +351247,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -349443,6 +351259,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -351789,6 +353621,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -351796,6 +353631,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -353061,47 +354897,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -353136,6 +354970,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -353202,30 +355069,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -353259,21 +355105,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -353623,7 +355459,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -353633,6 +355471,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -355975,6 +357829,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -355982,6 +357839,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -357247,47 +359105,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -357322,6 +359178,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -357388,30 +359277,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -357445,21 +359313,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -357809,7 +359667,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -357819,6 +359679,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -360168,6 +362044,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -360175,6 +362054,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -361440,47 +363320,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -361515,6 +363393,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -361581,30 +363492,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -361638,21 +363528,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -362002,7 +363882,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -362012,6 +363894,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -362183,18 +364081,52 @@ "APIGuild": { "type": "object", "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "parent": { + "type": "string" + }, + "owner_id": { + "type": "string" + }, + "nsfw": { + "type": "boolean" + }, + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, "id": { "type": "string" }, + "_do_validate": { + "type": "object", + "additionalProperties": false + }, "roles": { "type": "array", "items": { "$ref": "#/definitions/Role" } }, - "name": { - "type": "string" - }, "banner": { "type": "string" }, @@ -362210,9 +364142,6 @@ "region": { "type": "string" }, - "icon": { - "type": "string" - }, "system_channel_id": { "type": "string" }, @@ -362291,30 +364220,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -362348,21 +364256,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -364558,6 +366456,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -364565,6 +366466,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -365830,47 +367732,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -365905,6 +367805,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -365971,30 +367904,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -366028,21 +367940,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -366392,7 +368294,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -366402,6 +368306,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -368735,6 +370655,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -368742,6 +370665,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -370007,47 +371931,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -370082,6 +372004,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -370148,30 +372103,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -370205,21 +372139,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -370569,7 +372493,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -370579,6 +372505,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -370750,6 +372692,9 @@ "APIPrivateUser": { "type": "object", "properties": { + "flags": { + "type": "string" + }, "id": { "type": "string" }, @@ -370796,9 +372741,6 @@ "pronouns": { "type": "string" }, - "flags": { - "type": "string" - }, "mfa_enabled": { "type": "boolean" }, @@ -373006,6 +374948,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -373013,6 +374958,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -374278,47 +376224,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -374353,6 +376297,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -374419,30 +376396,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -374476,21 +376432,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -374840,7 +376786,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -374850,6 +376798,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -377186,6 +379150,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -377193,6 +379160,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -378458,47 +380426,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -378533,6 +380499,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -378599,30 +380598,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -378656,21 +380634,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -379020,7 +380988,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -379030,6 +381000,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -381366,6 +383352,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -381373,6 +383362,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -382638,47 +384628,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -382713,6 +384701,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -382779,30 +384800,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -382836,21 +384836,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -383200,7 +385190,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -383210,6 +385202,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -385546,6 +387554,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -385553,6 +387564,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -386818,47 +388830,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -386893,6 +388903,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -386959,30 +389002,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -387016,21 +389038,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -387380,7 +389392,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -387390,6 +389404,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -387564,6 +389594,9 @@ "newToken": { "type": "string" }, + "flags": { + "type": "string" + }, "id": { "type": "string" }, @@ -387610,9 +389643,6 @@ "pronouns": { "type": "string" }, - "flags": { - "type": "string" - }, "mfa_enabled": { "type": "boolean" }, @@ -389820,6 +391850,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -389827,6 +391860,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -391092,47 +393126,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -391167,6 +393199,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -391233,30 +393298,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -391290,21 +393334,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -391654,7 +393688,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -391664,6 +393700,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -393998,6 +396050,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -394005,6 +396060,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -395270,47 +397326,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -395345,6 +397399,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -395411,30 +397498,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -395468,21 +397534,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -395832,7 +397888,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -395842,6 +397900,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -398176,6 +400250,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -398183,6 +400260,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -399448,47 +401526,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -399523,6 +401599,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -399589,30 +401698,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -399646,21 +401734,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -400010,7 +402088,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -400020,6 +402100,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -402354,6 +404450,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -402361,6 +404460,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -403626,47 +405726,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -403701,6 +405799,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -403767,30 +405898,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -403824,21 +405934,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -404188,7 +406288,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -404198,6 +406300,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -406534,6 +408652,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -406541,6 +408662,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -407806,47 +409928,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -407881,6 +410001,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -407947,30 +410100,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -408004,21 +410136,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -408368,7 +410490,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -408378,6 +410502,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -410714,6 +412854,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -410721,6 +412864,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -411986,47 +414130,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -412061,6 +414203,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -412127,30 +414302,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -412184,21 +414338,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -412548,7 +414692,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -412558,6 +414704,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -414894,6 +417056,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -414901,6 +417066,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -416166,47 +418332,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -416241,6 +418405,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -416307,30 +418504,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -416364,21 +418540,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -416728,7 +418894,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -416738,6 +418906,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -419074,6 +421258,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -419081,6 +421268,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -420346,47 +422534,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -420421,6 +422607,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -420487,30 +422706,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -420544,21 +422742,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -420908,7 +423096,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -420918,6 +423108,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -423254,6 +425460,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -423261,6 +425470,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -424526,47 +426736,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -424601,6 +426809,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -424667,30 +426908,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -424724,21 +426944,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -425088,7 +427298,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -425098,6 +427310,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -427498,6 +429726,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -427505,6 +429736,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -428770,47 +431002,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -428845,6 +431075,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -428911,30 +431174,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -428968,21 +431210,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -429332,7 +431564,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -429342,6 +431576,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -431678,6 +433928,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -431685,6 +433938,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -432950,47 +435204,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -433025,6 +435277,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -433091,30 +435376,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -433148,21 +435412,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -433512,7 +435766,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -433522,6 +435778,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -435858,6 +438130,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -435865,6 +438140,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -437130,47 +439406,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -437205,6 +439479,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -437271,30 +439578,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -437328,21 +439614,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -437692,7 +439968,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -437702,6 +439980,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -440038,6 +442332,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -440045,6 +442342,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -441310,47 +443608,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -441385,6 +443681,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -441451,30 +443780,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -441508,21 +443816,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -441872,7 +444170,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -441882,6 +444182,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -442054,10 +444370,10 @@ "additionalProperties": false, "type": "object", "properties": { - "id": { + "guild_id": { "type": "string" }, - "guild_id": { + "id": { "type": "string" }, "nick": { @@ -444262,6 +446578,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -444269,6 +446588,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -445534,47 +447854,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -445609,6 +447927,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -445675,30 +448026,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -445732,21 +448062,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -446096,7 +448416,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -446106,6 +448428,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -448671,6 +451009,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -448678,6 +451019,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -449943,47 +452285,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -450018,6 +452358,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -450084,30 +452457,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -450141,21 +452493,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -450505,7 +452847,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -450515,6 +452859,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -452851,6 +455211,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -452858,6 +455221,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -454123,47 +456487,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -454198,6 +456560,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -454264,30 +456659,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -454321,21 +456695,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -454685,7 +457049,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -454695,6 +457061,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -457031,6 +459413,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -457038,6 +459423,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -458303,47 +460689,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -458378,6 +460762,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -458444,30 +460861,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -458501,21 +460897,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -458865,7 +461251,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -458875,6 +461263,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -461211,6 +463615,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -461218,6 +463625,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -462483,47 +464891,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -462558,6 +464964,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -462624,30 +465063,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -462681,21 +465099,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -463045,7 +465453,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -463055,6 +465465,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -465391,6 +467817,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -465398,6 +467827,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -466663,47 +469093,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -466738,6 +469166,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -466804,30 +469265,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -466861,21 +469301,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -467225,7 +469655,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -467235,6 +469667,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -469597,6 +472045,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -469604,6 +472055,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -470869,47 +473321,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -470944,6 +473394,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -471010,30 +473493,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -471067,21 +473529,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -471431,7 +473883,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -471441,6 +473895,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -473777,6 +476247,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -473784,6 +476257,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -475049,47 +477523,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -475124,6 +477596,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -475190,30 +477695,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -475247,21 +477731,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -475611,7 +478085,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -475621,6 +478097,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -477978,6 +480470,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -477985,6 +480480,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -479250,47 +481746,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -479325,6 +481819,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -479391,30 +481918,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -479448,21 +481954,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -479812,7 +482308,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -479822,6 +482320,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -482172,6 +484686,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -482179,6 +484696,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -483444,47 +485962,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -483519,6 +486035,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -483585,30 +486134,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -483642,21 +486170,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -484006,7 +486524,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -484016,6 +486536,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -484232,10 +486768,10 @@ "additionalProperties": false, "type": "object", "properties": { - "id": { + "guild_id": { "type": "string" }, - "guild_id": { + "id": { "type": "string" }, "nick": { @@ -486475,6 +489011,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -486482,6 +489021,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -487747,47 +490287,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -487822,6 +490360,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -487888,30 +490459,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -487945,21 +490495,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -488309,7 +490849,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -488319,6 +490861,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -490673,6 +493231,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -490680,6 +493241,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -491945,47 +494507,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -492020,6 +494580,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -492086,30 +494679,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -492143,21 +494715,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -492507,7 +495069,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -492517,6 +495081,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -494877,6 +497457,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -494884,6 +497467,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -496149,47 +498733,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -496224,6 +498806,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -496290,30 +498905,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -496347,21 +498941,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -496711,7 +499295,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -496721,6 +499307,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -499067,6 +501669,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -499074,6 +501679,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -500339,47 +502945,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -500414,6 +503018,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -500480,30 +503117,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -500537,21 +503153,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -500901,7 +503507,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -500911,6 +503519,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -503257,6 +505881,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -503264,6 +505891,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -504529,47 +507157,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -504604,6 +507230,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -504670,30 +507329,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -504727,21 +507365,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -505091,7 +507719,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -505101,6 +507731,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -507434,6 +510080,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -507441,6 +510090,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -508706,47 +511356,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -508781,6 +511429,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -508847,30 +511528,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -508904,21 +511564,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -509268,7 +511918,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -509278,6 +511930,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -511623,6 +514291,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -511630,6 +514301,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -512895,47 +515567,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -512970,6 +515640,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -513036,30 +515739,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -513093,21 +515775,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -513457,7 +516129,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -513467,6 +516141,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -515827,6 +518517,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -515834,6 +518527,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -517099,47 +519793,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -517174,6 +519866,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -517240,30 +519965,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -517297,21 +520001,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -517661,7 +520355,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -517671,6 +520367,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -520035,6 +522747,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -520042,6 +522757,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -521307,47 +524023,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -521382,6 +524096,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -521448,30 +524195,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -521505,21 +524231,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -521869,7 +524585,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -521879,6 +524597,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -524222,6 +526956,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -524229,6 +526966,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -525494,47 +528232,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -525569,6 +528305,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -525635,30 +528404,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -525692,21 +528440,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -526056,7 +528794,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -526066,6 +528806,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -528408,6 +531164,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -528415,6 +531174,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -529680,47 +532440,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -529755,6 +532513,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -529821,30 +532612,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -529878,21 +532648,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -530242,7 +533002,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -530252,6 +533014,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -532594,6 +535372,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -532601,6 +535382,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -533866,47 +536648,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -533941,6 +536721,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -534007,30 +536820,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -534064,21 +536856,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -534428,7 +537210,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -534438,6 +537222,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { @@ -536786,6 +539586,9 @@ }, "additionalProperties": false }, + "flags": { + "type": "integer" + }, "id": { "type": "string" } @@ -536793,6 +539596,7 @@ "additionalProperties": false, "required": [ "color", + "flags", "guild", "guild_id", "hoist", @@ -538058,47 +540862,45 @@ "type": "object", "additionalProperties": false }, - "id": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, "name": { "type": "string" }, - "banner": { - "type": "string" - }, - "unavailable": { - "type": "boolean" - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "region": { - "type": "string" - }, "icon": { "type": "string" }, - "system_channel_id": { + "parent": { "type": "string" }, - "rules_channel_id": { + "owner_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "nsfw": { + "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "id": { + "type": "string" + }, + "_do_validate": { + "type": "object", + "additionalProperties": false }, "assign": { "type": "object", @@ -538133,6 +540935,39 @@ "type": "object", "additionalProperties": false }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "banner": { + "type": "string" + }, + "unavailable": { + "type": "boolean" + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "region": { + "type": "string" + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "afk_timeout": { + "type": "integer" + }, + "explicit_content_filter": { + "type": "integer" + }, "afk_channel_id": { "type": "string" }, @@ -538199,30 +541034,9 @@ "$ref": "#/definitions/Sticker" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, "mfa_level": { "type": "integer" }, - "owner_id": { - "type": "string" - }, "preferred_locale": { "type": "string" }, @@ -538256,21 +541070,11 @@ "nsfw_level": { "type": "integer" }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, "permissions": { "type": "integer" }, "premium_progress_bar_enabled": { "type": "boolean" - }, - "_do_validate": { - "type": "object", - "additionalProperties": false } }, "additionalProperties": false, @@ -538620,7 +541424,9 @@ "channel": { "$ref": "#/definitions/RateLimitOptions" }, - "auth": {} + "auth": { + "$ref": "#/definitions/AuthRateLimit" + } }, "additionalProperties": false, "required": [ @@ -538630,6 +541436,22 @@ "webhook" ] }, + "AuthRateLimit": { + "type": "object", + "properties": { + "login": { + "$ref": "#/definitions/RateLimitOptions" + }, + "register": { + "$ref": "#/definitions/RateLimitOptions" + } + }, + "additionalProperties": false, + "required": [ + "login", + "register" + ] + }, "GlobalRateLimits": { "type": "object", "properties": { diff --git a/src/api/middlewares/Authentication.ts b/src/api/middlewares/Authentication.ts index d0e4d8a0..812888a3 100644 --- a/src/api/middlewares/Authentication.ts +++ b/src/api/middlewares/Authentication.ts @@ -92,12 +92,7 @@ export async function Authentication( Sentry.setUser({ id: req.user_id }); try { - const { jwtSecret } = Config.get().security; - - const { decoded, user } = await checkToken( - req.headers.authorization, - jwtSecret, - ); + const { decoded, user } = await checkToken(req.headers.authorization); req.token = decoded; req.user_id = decoded.id; diff --git a/src/api/routes/auth/reset.ts b/src/api/routes/auth/reset.ts index f97045a6..cb4f8180 100644 --- a/src/api/routes/auth/reset.ts +++ b/src/api/routes/auth/reset.ts @@ -48,11 +48,9 @@ router.post( async (req: Request, res: Response) => { const { password, token } = req.body as PasswordResetSchema; - const { jwtSecret } = Config.get().security; - let user; try { - const userTokenData = await checkToken(token, jwtSecret, true); + const userTokenData = await checkToken(token); user = userTokenData.user; } catch { throw FieldErrors({ diff --git a/src/api/routes/auth/verify/index.ts b/src/api/routes/auth/verify/index.ts index a98c17fa..49f74277 100644 --- a/src/api/routes/auth/verify/index.ts +++ b/src/api/routes/auth/verify/index.ts @@ -78,11 +78,10 @@ router.post( } } - const { jwtSecret } = Config.get().security; let user; try { - const userTokenData = await checkToken(token, jwtSecret, true); + const userTokenData = await checkToken(token); user = userTokenData.user; } catch { throw FieldErrors({ diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 5816c308..837ae351 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -30,7 +30,6 @@ import { Intents, Member, ReadyEventData, - User, Session, EVENTEnum, Config, @@ -60,17 +59,6 @@ import { check } from "./instanceOf"; // TODO: user sharding // TODO: check privileged intents, if defined in the config -const getUserFromToken = async (token: string): Promise => { - try { - const { jwtSecret } = Config.get().security; - const { decoded } = await checkToken(token, jwtSecret); - return decoded.id; - } catch (e) { - console.error(`[Gateway] Invalid token`, e); - return null; - } -}; - export async function onIdentify(this: WebSocket, data: Payload) { if (this.user_id) { // we've already identified @@ -85,12 +73,12 @@ export async function onIdentify(this: WebSocket, data: Payload) { this.capabilities = new Capabilities(identify.capabilities || 0); - // Check auth - // TODO: the checkToken call will fetch user, and then we have to refetch with different select - // checkToken should be able to select what we want - const user_id = await getUserFromToken(identify.token); - if (!user_id) return this.close(CLOSECODES.Authentication_failed); - this.user_id = user_id; + const { user } = await checkToken(identify.token, { + relations: ["relationships", "relationships.to", "settings"], + select: [...PrivateUserProjection, "relationships"], + }); + if (!user) return this.close(CLOSECODES.Authentication_failed); + this.user_id = user.id; // Check intents if (!identify.intents) identify.intents = 30064771071n; // TODO: what is this number? @@ -112,7 +100,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { ) { // TODO: why do we even care about this right now? console.log( - `[Gateway] Invalid sharding from ${user_id}: ${identify.shard}`, + `[Gateway] Invalid sharding from ${user.id}: ${identify.shard}`, ); return this.close(CLOSECODES.Invalid_shard); } @@ -132,22 +120,14 @@ export async function onIdentify(this: WebSocket, data: Payload) { }); // Get from database: - // * the current user, // * the users read states // * guild members for this user // * recipients ( dm channels ) // * the bot application, if it exists - const [, user, application, read_states, members, recipients] = - await Promise.all([ + const [, application, read_states, members, recipients] = await Promise.all( + [ session.save(), - // TODO: Refactor checkToken to allow us to skip this additional query - User.findOneOrFail({ - where: { id: this.user_id }, - relations: ["relationships", "relationships.to", "settings"], - select: [...PrivateUserProjection, "relationships"], - }), - Application.findOne({ where: { id: this.user_id }, select: ["id", "flags"], @@ -224,7 +204,8 @@ export async function onIdentify(this: WebSocket, data: Payload) { }, }, }), - ]); + ], + ); // We forgot to migrate user settings from the JSON column of `users` // to the `user_settings` table theyre in now, @@ -407,6 +388,17 @@ export async function onIdentify(this: WebSocket, data: Payload) { merged_members: merged_members, sessions: allSessions, + resume_gateway_url: + Config.get().gateway.endpointClient || + Config.get().gateway.endpointPublic || + "ws://127.0.0.1:3001", + + // lol hack whatever + required_action: + Config.get().login.requireVerification && !user.verified + ? "REQUIRE_VERIFIED_EMAIL" + : undefined, + consents: { personalization: { consented: false, // TODO @@ -421,18 +413,8 @@ export async function onIdentify(this: WebSocket, data: Payload) { friend_suggestion_count: 0, analytics_token: "", tutorial: null, - resume_gateway_url: - Config.get().gateway.endpointClient || - Config.get().gateway.endpointPublic || - "ws://127.0.0.1:3001", session_type: "normal", // TODO auth_session_id_hash: "", // TODO - - // lol hack whatever - required_action: - Config.get().login.requireVerification && !user.verified - ? "REQUIRE_VERIFIED_EMAIL" - : undefined, }; // Send READY diff --git a/src/util/schemas/RegisterSchema.ts b/src/util/schemas/RegisterSchema.ts index f6c99b18..7b7de9c7 100644 --- a/src/util/schemas/RegisterSchema.ts +++ b/src/util/schemas/RegisterSchema.ts @@ -42,4 +42,8 @@ export interface RegisterSchema { captcha_key?: string; promotional_email_opt_in?: boolean; + + // part of pomelo + unique_username_registration?: boolean; + global_name?: string; } diff --git a/src/util/util/Token.ts b/src/util/util/Token.ts index 90310176..eec72522 100644 --- a/src/util/util/Token.ts +++ b/src/util/util/Token.ts @@ -19,94 +19,66 @@ import jwt, { VerifyOptions } from "jsonwebtoken"; import { Config } from "./Config"; import { User } from "../entities"; +// TODO: dont use deprecated APIs lol +import { + FindOptionsRelationByString, + FindOptionsSelectByString, +} from "typeorm"; export const JWTOptions: VerifyOptions = { algorithms: ["HS256"] }; export type UserTokenData = { user: User; - decoded: { id: string; iat: number }; + decoded: { id: string; iat: number; email?: string }; }; -async function checkEmailToken( - decoded: jwt.JwtPayload, -): Promise { - // eslint-disable-next-line no-async-promise-executor - return new Promise(async (res, rej) => { - if (!decoded.iat) return rej("Invalid Token"); // will never happen, just for typings. - - const user = await User.findOne({ - where: { - email: decoded.email, - }, - select: [ - "email", - "id", - "verified", - "deleted", - "disabled", - "username", - "data", - ], - }); - - if (!user) return rej("Invalid Token"); - - if (new Date().getTime() > decoded.iat * 1000 + 86400 * 1000) - return rej("Invalid Token"); - - // Using as here because we assert `id` and `iat` are in decoded. - // TS just doesn't want to assume its there, though. - return res({ decoded, user } as UserTokenData); - }); -} - -export function checkToken( +export const checkToken = ( token: string, - jwtSecret: string, - isEmailVerification = false, -): Promise { - return new Promise((res, rej) => { - token = token.replace("Bot ", ""); - token = token.replace("Bearer ", ""); - /** - in spacebar, even with instances that have bot distinction; we won't enforce "Bot" prefix, - as we don't really have separate pathways for bots - **/ + opts?: { + select?: FindOptionsSelectByString; + relations?: FindOptionsRelationByString; + }, +): Promise => + new Promise((resolve, reject) => { + jwt.verify( + token, + Config.get().security.jwtSecret, + JWTOptions, + async (err, out) => { + const decoded = out as UserTokenData["decoded"]; + if (err || !decoded) return reject("Invalid Token"); - jwt.verify(token, jwtSecret, JWTOptions, async (err, decoded) => { - if (err || !decoded) return rej("Invalid Token"); - if ( - typeof decoded == "string" || - !("id" in decoded) || - !decoded.iat - ) - return rej("Invalid Token"); // will never happen, just for typings. + const user = await User.findOne({ + where: decoded.email + ? { email: decoded.email } + : { id: decoded.id }, + select: [ + ...(opts?.select || []), + "bot", + "disabled", + "deleted", + "rights", + "data", + ], + relations: opts?.relations, + }); - if (isEmailVerification) return res(checkEmailToken(decoded)); + if (!user) return reject("User not found"); - const user = await User.findOne({ - where: { id: decoded.id }, - select: ["data", "bot", "disabled", "deleted", "rights"], - }); + // we need to round it to seconds as it saved as seconds in jwt iat and valid_tokens_since is stored in milliseconds + if ( + decoded.iat * 1000 < + new Date(user.data.valid_tokens_since).setSeconds(0, 0) + ) + return reject("Invalid Token"); - if (!user) return rej("Invalid Token"); + if (user.disabled) return reject("User disabled"); + if (user.deleted) return reject("User not found"); - // we need to round it to seconds as it saved as seconds in jwt iat and valid_tokens_since is stored in milliseconds - if ( - decoded.iat * 1000 < - new Date(user.data.valid_tokens_since).setSeconds(0, 0) - ) - return rej("Invalid Token"); - - if (user.disabled) return rej("User disabled"); - if (user.deleted) return rej("User not found"); - - // Using as here because we assert `id` and `iat` are in decoded. - // TS just doesn't want to assume its there, though. - return res({ decoded, user } as UserTokenData); - }); + return resolve({ decoded, user }); + }, + ); }); -} export async function generateToken(id: string, email?: string) { const iat = Math.floor(Date.now() / 1000); From a0d93fb252803c5fded8723d092ae0f394d1b40b Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 29 Jul 2023 16:59:21 +1000 Subject: [PATCH 13/17] * call toJSON of keys in gateway when using erlpack * dont send bitrate/etc as null when should be undefined * set user flags to number instead of string * send empty 'threads' in identify when not using new state v2 --- src/api/routes/guilds/#guild_id/index.ts | 2 +- src/gateway/opcodes/Identify.ts | 2 ++ src/util/dtos/ReadyGuildDTO.ts | 4 ++-- src/util/entities/Channel.ts | 12 ++++++++++++ src/util/entities/Guild.ts | 7 +++++++ src/util/entities/User.ts | 2 +- src/util/util/JSON.ts | 10 ++++++++++ 7 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts index afe60614..86777b36 100644 --- a/src/api/routes/guilds/#guild_id/index.ts +++ b/src/api/routes/guilds/#guild_id/index.ts @@ -161,7 +161,7 @@ router.patch( const data = guild.toJSON(); // TODO: guild hashes // TODO: fix vanity_url_code, template_id - delete data.vanity_url_code; + // delete data.vanity_url_code; delete data.template_id; await Promise.all([ diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 837ae351..0f91df3e 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -265,6 +265,8 @@ export async function onIdentify(this: WebSocket, data: Payload) { return { ...member.guild.toJSON(), joined_at: member.joined_at, + + threads: [], }; }); diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts index 7ca268a0..905ede74 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts @@ -49,12 +49,12 @@ export interface ReadyPrivateChannel { export type GuildOrUnavailable = | { id: string; unavailable: boolean } - | (Guild & { joined_at?: Date; unavailable: boolean }); + | (Guild & { joined_at?: Date; unavailable: undefined }); const guildIsAvailable = ( guild: GuildOrUnavailable, ): guild is Guild & { joined_at: Date; unavailable: false } => { - return guild.unavailable == false; + return guild.unavailable != true; }; export interface IReadyGuildDTO { diff --git a/src/util/entities/Channel.ts b/src/util/entities/Channel.ts index 19a7a41a..38627c39 100644 --- a/src/util/entities/Channel.ts +++ b/src/util/entities/Channel.ts @@ -468,6 +468,18 @@ export class Channel extends BaseClass { ]; return disallowedChannelTypes.indexOf(this.type) == -1; } + + toJSON() { + return { + ...this, + + // these fields are not returned depending on the type of channel + bitrate: this.bitrate || undefined, + user_limit: this.user_limit || undefined, + rate_limit_per_user: this.rate_limit_per_user || undefined, + owner_id: this.owner_id || undefined, + }; + } } export interface ChannelPermissionOverwrite { diff --git a/src/util/entities/Guild.ts b/src/util/entities/Guild.ts index 4c2949a3..e364ed98 100644 --- a/src/util/entities/Guild.ts +++ b/src/util/entities/Guild.ts @@ -390,4 +390,11 @@ export class Guild extends BaseClass { return guild; } + + toJSON() { + return { + ...this, + unavailable: this.unavailable == false ? undefined : true, + }; + } } diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index 68d7b5e8..3f1bda05 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -175,7 +175,7 @@ export class User extends BaseClass { email?: string; // email of the user @Column() - flags: string = "0"; // UserFlags // TODO: generate + flags: number = 0; // UserFlags // TODO: generate @Column() public_flags: number = 0; diff --git a/src/util/util/JSON.ts b/src/util/util/JSON.ts index 1c39b66e..c7dcf47e 100644 --- a/src/util/util/JSON.ts +++ b/src/util/util/JSON.ts @@ -27,6 +27,16 @@ const JSONReplacer = function ( return (this[key] as Date).toISOString().replace("Z", "+00:00"); } + // erlpack encoding doesn't call json.stringify, + // so our toJSON functions don't get called. + // manually call it here + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + if (this?.[key]?.toJSON) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + this[key] = this[key].toJSON(); + return value; }; From 4c0b1391b19cd55127350aa8605362e2799d5407 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 31 Jul 2023 19:42:27 +1000 Subject: [PATCH 14/17] send empty READY_SUPPLEMENTAL for client compatibility --- src/gateway/opcodes/Identify.ts | 21 ++++++++++++++++++++- src/util/interfaces/Event.ts | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index 0f91df3e..bab52279 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -53,6 +53,7 @@ import { DMChannel, GuildOrUnavailable, Recipient, + OPCodes, } from "@spacebar/util"; import { check } from "./instanceOf"; @@ -441,7 +442,25 @@ export async function onIdentify(this: WebSocket, data: Payload) { ), ); - //TODO send READY_SUPPLEMENTAL + // TODO: ready supplemental + await Send(this, { + op: OPCodes.DISPATCH, + t: EVENTEnum.ReadySupplemental, + s: this.sequence++, + d: { + merged_presences: { + guilds: [], + friends: [], + }, + // these merged members seem to be all users currently in vc in your guilds + merged_members: [], + lazy_private_channels: [], + guilds: [], // { voice_states: [], id: string, embedded_activities: [] } + // embedded_activities are users currently in an activity? + disclose: ["pomelo"], + }, + }); + //TODO send GUILD_MEMBER_LIST_UPDATE //TODO send VOICE_STATE_UPDATE to let the client know if another device is already connected to a voice channel diff --git a/src/util/interfaces/Event.ts b/src/util/interfaces/Event.ts index 7ddb763d..deb54428 100644 --- a/src/util/interfaces/Event.ts +++ b/src/util/interfaces/Event.ts @@ -583,6 +583,7 @@ export type EventData = export enum EVENTEnum { Ready = "READY", + ReadySupplemental = "READY_SUPPLEMENTAL", ChannelCreate = "CHANNEL_CREATE", ChannelUpdate = "CHANNEL_UPDATE", ChannelDelete = "CHANNEL_DELETE", From 45e7d763cf149e582d4394880a8788fe689064a6 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 31 Jul 2023 20:59:06 +1000 Subject: [PATCH 15/17] lazyrequest dont crash when no members can be found in lazyrequest --- src/gateway/opcodes/LazyRequest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gateway/opcodes/LazyRequest.ts b/src/gateway/opcodes/LazyRequest.ts index 77e1a25a..4ad1ae7b 100644 --- a/src/gateway/opcodes/LazyRequest.ts +++ b/src/gateway/opcodes/LazyRequest.ts @@ -95,7 +95,7 @@ async function getMembers(guild_id: string, range: [number, number]) { console.error(`LazyRequest`, e); } - if (!members) { + if (!members || !members.length) { return { items: [], groups: [], From 496cfc8ea19ac430cfeaf9d7b8d3b3bc6843b852 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Mon, 31 Jul 2023 21:00:03 +1000 Subject: [PATCH 16/17] some abaddon compat --- .../channels/#channel_id/messages/index.ts | 70 ++++++++++--------- src/util/entities/Message.ts | 26 ++++++- src/util/schemas/MessageCreateSchema.ts | 2 +- 3 files changed, 63 insertions(+), 35 deletions(-) diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts index 75fb7b83..edc0321c 100644 --- a/src/api/routes/channels/#channel_id/messages/index.ts +++ b/src/api/routes/channels/#channel_id/messages/index.ts @@ -144,44 +144,46 @@ router.get( const endpoint = Config.get().cdn.endpointPublic; - return res.json( - messages.map((x: Partial) => { - (x.reactions || []).forEach((y: Partial) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - if ((y.user_ids || []).includes(req.user_id)) y.me = true; - delete y.user_ids; - }); - if (!x.author) - x.author = User.create({ - id: "4", - discriminator: "0000", - username: "Spacebar Ghost", - public_flags: 0, - }); - x.attachments?.forEach((y: Attachment) => { - // dynamically set attachment proxy_url in case the endpoint changed - const uri = y.proxy_url.startsWith("http") - ? y.proxy_url - : `https://example.org${y.proxy_url}`; - y.proxy_url = `${endpoint == null ? "" : endpoint}${ - new URL(uri).pathname - }`; - }); + const ret = messages.map((x: Message) => { + x = x.toJSON(); - /** + (x.reactions || []).forEach((y: Partial) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + if ((y.user_ids || []).includes(req.user_id)) y.me = true; + delete y.user_ids; + }); + if (!x.author) + x.author = User.create({ + id: "4", + discriminator: "0000", + username: "Spacebar Ghost", + public_flags: 0, + }); + x.attachments?.forEach((y: Attachment) => { + // dynamically set attachment proxy_url in case the endpoint changed + const uri = y.proxy_url.startsWith("http") + ? y.proxy_url + : `https://example.org${y.proxy_url}`; + y.proxy_url = `${endpoint == null ? "" : endpoint}${ + new URL(uri).pathname + }`; + }); + + /** Some clients ( discord.js ) only check if a property exists within the response, which causes errors when, say, the `application` property is `null`. **/ - // for (var curr in x) { - // if (x[curr] === null) - // delete x[curr]; - // } + // for (var curr in x) { + // if (x[curr] === null) + // delete x[curr]; + // } - return x; - }), - ); + return x; + }); + + return res.json(ret); }, ); @@ -307,9 +309,11 @@ router.post( embeds, channel_id, attachments, - edited_timestamp: undefined, timestamp: new Date(), }); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore dont care2 + message.edited_timestamp = null; channel.last_message_id = message.id; diff --git a/src/util/entities/Message.ts b/src/util/entities/Message.ts index 519c431e..e5390300 100644 --- a/src/util/entities/Message.ts +++ b/src/util/entities/Message.ts @@ -193,7 +193,7 @@ export class Message extends BaseClass { }; @Column({ nullable: true }) - flags?: string; + flags?: number; @Column({ type: "simple-json", nullable: true }) message_reference?: { @@ -217,6 +217,30 @@ export class Message extends BaseClass { @Column({ type: "simple-json", nullable: true }) components?: MessageComponent[]; + + toJSON(): Message { + return { + ...this, + author_id: undefined, + member_id: undefined, + guild_id: undefined, + webhook_id: undefined, + application_id: undefined, + nonce: undefined, + + tts: this.tts ?? false, + guild: this.guild ?? undefined, + webhook: this.webhook ?? undefined, + interaction: this.interaction ?? undefined, + reactions: this.reactions ?? undefined, + sticker_items: this.sticker_items ?? undefined, + message_reference: this.message_reference ?? undefined, + author: this.author?.toPublicUser() ?? undefined, + activity: this.activity ?? undefined, + application: this.application ?? undefined, + components: this.components ?? undefined, + }; + } } export interface MessageComponent { diff --git a/src/util/schemas/MessageCreateSchema.ts b/src/util/schemas/MessageCreateSchema.ts index 45cd735e..7e130751 100644 --- a/src/util/schemas/MessageCreateSchema.ts +++ b/src/util/schemas/MessageCreateSchema.ts @@ -29,7 +29,7 @@ export interface MessageCreateSchema { nonce?: string; channel_id?: string; tts?: boolean; - flags?: string; + flags?: number; embeds?: Embed[]; embed?: Embed; // TODO: ^ embed is deprecated in favor of embeds (https://discord.com/developers/docs/resources/channel#message-object) From 53aed186526bad8a92393f5506df3f20a2470a80 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Tue, 1 Aug 2023 20:23:00 +1000 Subject: [PATCH 17/17] remove pomelo disclose, to be added in pomelo impl pr --- src/gateway/opcodes/Identify.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts index bab52279..7610901a 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts @@ -457,7 +457,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { lazy_private_channels: [], guilds: [], // { voice_states: [], id: string, embedded_activities: [] } // embedded_activities are users currently in an activity? - disclose: ["pomelo"], + disclose: [], // Config.get().general.uniqueUsernames ? ["pomelo"] : [] }, });