Skip to main content
Module

x/discord_api_types/payloads/v9/guild.ts

Up to date Discord API Typings, versioned by the API version
Go to Latest
File
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115
/** * Types extracted from https://discord.com/developers/docs/resources/guild */
import type { Permissions, Snowflake } from '../../globals.ts';import type { APIEmoji, APIPartialEmoji } from './emoji.ts';import type { PresenceUpdateReceiveStatus } from './gateway.ts';import type { OAuth2Scopes } from './oauth2.ts';import type { APIRole } from './permissions.ts';import type { APISticker } from './sticker.ts';import type { APIUser } from './user.ts';
/** * https://discord.com/developers/docs/resources/guild#unavailable-guild-object */export interface APIUnavailableGuild { /** * Guild id */ id: Snowflake; /** * `true` if this guild is unavailable due to an outage */ unavailable: boolean;}
/** * https://discord.com/developers/docs/resources/guild#guild-object-guild-structure */export interface APIPartialGuild extends Omit<APIUnavailableGuild, 'unavailable'>, Pick<APIGuild, 'welcome_screen'> { /** * Guild name (2-100 characters, excluding trailing and leading whitespace) */ name: string; /** * Icon hash * * See https://discord.com/developers/docs/reference#image-formatting */ icon: string | null; /** * Splash hash * * See https://discord.com/developers/docs/reference#image-formatting */ splash: string | null; /** * Banner hash * * See https://discord.com/developers/docs/reference#image-formatting */ banner?: string | null; /** * The description for the guild */ description?: string | null; /** * Enabled guild features * * See https://discord.com/developers/docs/resources/guild#guild-object-guild-features */ features?: GuildFeature[]; /** * Verification level required for the guild * * See https://discord.com/developers/docs/resources/guild#guild-object-verification-level */ verification_level?: GuildVerificationLevel; /** * The vanity url code for the guild */ vanity_url_code?: string | null;}
/** * https://discord.com/developers/docs/resources/guild#guild-object-guild-structure */export interface APIGuild extends APIPartialGuild { /** * Icon hash, returned when in the template object * * See https://discord.com/developers/docs/reference#image-formatting */ icon_hash?: string | null; /** * Discovery splash hash; only present for guilds with the "DISCOVERABLE" feature * * See https://discord.com/developers/docs/reference#image-formatting */ discovery_splash: string | null; /** * `true` if the user is the owner of the guild * * **This field is only received from https://discord.com/developers/docs/resources/user#get-current-user-guilds** */ owner?: boolean; /** * ID of owner */ owner_id: Snowflake; /** * Total permissions for the user in the guild (excludes overrides) * * **This field is only received from https://discord.com/developers/docs/resources/user#get-current-user-guilds** * * See https://en.wikipedia.org/wiki/Bit_field */ permissions?: Permissions; /** * Voice region id for the guild * * See https://discord.com/developers/docs/resources/voice#voice-region-object * * @deprecated This field has been deprecated in favor of `rtc_region` on the channel. */ region: string; /** * ID of afk channel */ afk_channel_id: Snowflake | null; /** * afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600` */ afk_timeout: 1_800 | 3_600 | 60 | 300 | 900; /** * `true` if the guild widget is enabled */ widget_enabled?: boolean; /** * The channel id that the widget will generate an invite to, or `null` if set to no invite */ widget_channel_id?: Snowflake | null; /** * Verification level required for the guild * * See https://discord.com/developers/docs/resources/guild#guild-object-verification-level */ verification_level: GuildVerificationLevel; /** * Default message notifications level * * See https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level */ default_message_notifications: GuildDefaultMessageNotifications; /** * Explicit content filter level * * See https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level */ explicit_content_filter: GuildExplicitContentFilter; /** * Roles in the guild * * See https://discord.com/developers/docs/topics/permissions#role-object */ roles: APIRole[]; /** * Custom guild emojis * * See https://discord.com/developers/docs/resources/emoji#emoji-object */ emojis: APIEmoji[]; /** * Enabled guild features * * See https://discord.com/developers/docs/resources/guild#guild-object-guild-features */ features: GuildFeature[]; /** * Required MFA level for the guild * * See https://discord.com/developers/docs/resources/guild#guild-object-mfa-level */ mfa_level: GuildMFALevel; /** * Application id of the guild creator if it is bot-created */ application_id: Snowflake | null; /** * The id of the channel where guild notices such as welcome messages and boost events are posted */ system_channel_id: Snowflake | null; /** * System channel flags * * See https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags */ system_channel_flags: GuildSystemChannelFlags; /** * The id of the channel where Community guilds can display rules and/or guidelines */ rules_channel_id: Snowflake | null; /** * The maximum number of presences for the guild (`null` is always returned, apart from the largest of guilds) */ max_presences?: number | null; /** * The maximum number of members for the guild */ max_members?: number; /** * The vanity url code for the guild */ vanity_url_code: string | null; /** * The description for the guild */ description: string | null; /** * Banner hash * * See https://discord.com/developers/docs/reference#image-formatting */ banner: string | null; /** * Premium tier (Server Boost level) * * See https://discord.com/developers/docs/resources/guild#guild-object-premium-tier */ premium_tier: GuildPremiumTier; /** * The number of boosts this guild currently has */ premium_subscription_count?: number; /** * The preferred locale of a Community guild; used in guild discovery and notices from Discord; defaults to "en-US" * * @default "en-US" */ preferred_locale: string; /** * The id of the channel where admins and moderators of Community guilds receive notices from Discord */ public_updates_channel_id: Snowflake | null; /** * The maximum amount of users in a video channel */ max_video_channel_users?: number; /** * The maximum amount of users in a stage video channel */ max_stage_video_channel_users?: number; /** * Approximate number of members in this guild, * returned from the `GET /guilds/<id>` and `/users/@me/guilds` (OAuth2) endpoints when `with_counts` is `true` */ approximate_member_count?: number; /** * Approximate number of non-offline members in this guild, * returned from the `GET /guilds/<id>` and `/users/@me/guilds` (OAuth2) endpoints when `with_counts` is `true` */ approximate_presence_count?: number; /** * The welcome screen of a Community guild, shown to new members * * Returned in the invite object */ welcome_screen?: APIGuildWelcomeScreen; /** * The nsfw level of the guild * * See https://discord.com/developers/docs/resources/guild#guild-object-guild-nsfw-level */ nsfw_level: GuildNSFWLevel; /** * Custom guild stickers * * See https://discord.com/developers/docs/resources/sticker#sticker-object */ stickers: APISticker[]; /** * Whether the guild has the boost progress bar enabled. */ premium_progress_bar_enabled: boolean; /** * The type of Student Hub the guild is */ hub_type: GuildHubType | null; /** * The id of the channel where admins and moderators of Community guilds receive safety alerts from Discord */ safety_alerts_channel_id: Snowflake | null;}
/** * https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level */export enum GuildDefaultMessageNotifications { AllMessages, OnlyMentions,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level */export enum GuildExplicitContentFilter { Disabled, MembersWithoutRoles, AllMembers,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-mfa-level */export enum GuildMFALevel { None, Elevated,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-guild-nsfw-level */export enum GuildNSFWLevel { Default, Explicit, Safe, AgeRestricted,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-verification-level */export enum GuildVerificationLevel { /** * Unrestricted */ None, /** * Must have verified email on account */ Low, /** * Must be registered on Discord for longer than 5 minutes */ Medium, /** * Must be a member of the guild for longer than 10 minutes */ High, /** * Must have a verified phone number */ VeryHigh,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-premium-tier */export enum GuildPremiumTier { None, Tier1, Tier2, Tier3,}
export enum GuildHubType { Default, HighSchool, College,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags */export enum GuildSystemChannelFlags { /** * Suppress member join notifications */ SuppressJoinNotifications = 1 << 0, /** * Suppress server boost notifications */ SuppressPremiumSubscriptions = 1 << 1, /** * Suppress server setup tips */ SuppressGuildReminderNotifications = 1 << 2, /** * Hide member join sticker reply buttons */ SuppressJoinNotificationReplies = 1 << 3,}
/** * https://discord.com/developers/docs/resources/guild#guild-object-guild-features */export enum GuildFeature { /** * Guild has access to set an animated guild banner image */ AnimatedBanner = 'ANIMATED_BANNER', /** * Guild has access to set an animated guild icon */ AnimatedIcon = 'ANIMATED_ICON', /** * Guild is using the old permissions configuration behavior * * See https://discord.com/developers/docs/change-log#upcoming-application-command-permission-changes */ ApplicationCommandPermissionsV2 = 'APPLICATION_COMMAND_PERMISSIONS_V2', /** * Guild has set up auto moderation rules */ AutoModeration = 'AUTO_MODERATION', /** * Guild has access to set a guild banner image */ Banner = 'BANNER', /** * Guild can enable welcome screen, Membership Screening and discovery, and receives community updates */ Community = 'COMMUNITY', /** * Guild has enabled monetization */ CreatorMonetizableProvisional = 'CREATOR_MONETIZABLE_PROVISIONAL', /** * Guild has enabled the role subscription promo page */ CreatorStorePage = 'CREATOR_STORE_PAGE', /** * Guild has been set as a support server on the App Directory */ DeveloperSupportServer = 'DEVELOPER_SUPPORT_SERVER', /** * Guild is able to be discovered in the directory */ Discoverable = 'DISCOVERABLE', /** * Guild is able to be featured in the directory */ Featurable = 'FEATURABLE', /** * Guild is listed in a directory channel */ HasDirectoryEntry = 'HAS_DIRECTORY_ENTRY', /** * Guild is a Student Hub * * See https://support.discord.com/hc/articles/4406046651927 * * @unstable This feature is currently not documented by Discord, but has known value */ Hub = 'HUB', /** * Guild has disabled invite usage, preventing users from joining */ InvitesDisabled = 'INVITES_DISABLED', /** * Guild has access to set an invite splash background */ InviteSplash = 'INVITE_SPLASH', /** * Guild is in a Student Hub * * See https://support.discord.com/hc/articles/4406046651927 * * @unstable This feature is currently not documented by Discord, but has known value */ LinkedToHub = 'LINKED_TO_HUB', /** * Guild has enabled Membership Screening */ MemberVerificationGateEnabled = 'MEMBER_VERIFICATION_GATE_ENABLED', /** * Guild has enabled monetization * * @unstable This feature is no longer documented by Discord */ MonetizationEnabled = 'MONETIZATION_ENABLED', /** * Guild has increased custom sticker slots */ MoreStickers = 'MORE_STICKERS', /** * Guild has access to create news channels */ News = 'NEWS', /** * Guild is partnered */ Partnered = 'PARTNERED', /** * Guild can be previewed before joining via Membership Screening or the directory */ PreviewEnabled = 'PREVIEW_ENABLED', /** * Guild has access to create private threads */ PrivateThreads = 'PRIVATE_THREADS', /** * Guild has disabled alerts for join raids in the configured safety alerts channel */ RaidAlertsDisabled = 'RAID_ALERTS_DISABLED', RelayEnabled = 'RELAY_ENABLED', /** * Guild is able to set role icons */ RoleIcons = 'ROLE_ICONS', /** * Guild has role subscriptions that can be purchased */ RoleSubscriptionsAvailableForPurchase = 'ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE', /** * Guild has enabled role subscriptions */ RoleSubscriptionsEnabled = 'ROLE_SUBSCRIPTIONS_ENABLED', /** * Guild has enabled ticketed events */ TicketedEventsEnabled = 'TICKETED_EVENTS_ENABLED', /** * Guild has access to set a vanity URL */ VanityURL = 'VANITY_URL', /** * Guild is verified */ Verified = 'VERIFIED', /** * Guild has access to set 384kbps bitrate in voice (previously VIP voice servers) */ VIPRegions = 'VIP_REGIONS', /** * Guild has enabled the welcome screen */ WelcomeScreenEnabled = 'WELCOME_SCREEN_ENABLED',}
/** * https://discord.com/developers/docs/resources/guild#guild-preview-object */export interface APIGuildPreview { /** * Guild id */ id: Snowflake; /** * Guild name (2-100 characters) */ name: string; /** * Icon hash * * See https://discord.com/developers/docs/reference#image-formatting */ icon: string | null; /** * Splash hash * * See https://discord.com/developers/docs/reference#image-formatting */ splash: string | null; /** * Discovery splash hash; only present for guilds with the "DISCOVERABLE" feature * * See https://discord.com/developers/docs/reference#image-formatting */ discovery_splash: string | null; /** * Custom guild emojis * * See https://discord.com/developers/docs/resources/emoji#emoji-object */ emojis: APIEmoji[]; /** * Enabled guild features * * See https://discord.com/developers/docs/resources/guild#guild-object-guild-features */ features: GuildFeature[]; /** * Approximate number of members in this guild */ approximate_member_count: number; /** * Approximate number of online members in this guild */ approximate_presence_count: number; /** * The description for the guild */ description: string; /** * Custom guild stickers */ stickers: APISticker[];}
/** * https://discord.com/developers/docs/resources/guild#guild-widget-object */export interface APIGuildWidgetSettings { /** * Whether the widget is enabled */ enabled: boolean; /** * The widget channel id */ channel_id: Snowflake | null;}
/** * https://discord.com/developers/docs/resources/guild#guild-member-object */export interface APIGuildMember { /** * The user this guild member represents * * **This field won't be included in the member object attached to `MESSAGE_CREATE` and `MESSAGE_UPDATE` gateway events.** * * See https://discord.com/developers/docs/resources/user#user-object */ user?: APIUser; /** * This users guild nickname */ nick?: string | null; /** * The member's guild avatar hash */ avatar?: string | null; /** * Array of role object ids * * See https://discord.com/developers/docs/topics/permissions#role-object */ roles: Snowflake[]; /** * When the user joined the guild */ joined_at: string; /** * When the user started boosting the guild * * See https://support.discord.com/hc/articles/360028038352 */ premium_since?: string | null; /** * Whether the user is deafened in voice channels */ deaf: boolean; /** * Whether the user is muted in voice channels */ mute: boolean; /** * Guild member flags represented as a bit set, defaults to `0` */ flags: GuildMemberFlags; /** * Whether the user has not yet passed the guild's Membership Screening requirements * * @remarks If this field is not present, it can be assumed as `false`. */ pending?: boolean; /** * Timestamp of when the time out will be removed; until then, they cannot interact with the guild */ communication_disabled_until?: string | null;}
/** * https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags */export enum GuildMemberFlags { /** * Member has left and rejoined the guild */ DidRejoin = 1 << 0, /** * Member has completed onboarding */ CompletedOnboarding = 1 << 1, /** * Member bypasses guild verification requirements */ BypassesVerification = 1 << 2, /** * Member has started onboarding */ StartedOnboarding = 1 << 3, /** * @unstable This guild member flag is currently not documented by Discord but has a known value which we will try to keep up to date. */ StartedHomeActions = 1 << 5, /** * @unstable This guild member flag is currently not documented by Discord but has a known value which we will try to keep up to date. */ CompletedHomeActions = 1 << 6, /** * @unstable This guild member flag is currently not documented by Discord but has a known value which we will try to keep up to date. */ AutomodQuarantinedUsernameOrGuildNickname = 1 << 7, /** * @unstable This guild member flag is currently not documented by Discord but has a known value which we will try to keep up to date. */ AutomodQuarantinedBio = 1 << 8,}
/** * https://discord.com/developers/docs/resources/guild#integration-object */export interface APIGuildIntegration { /** * Integration id */ id: Snowflake; /** * Integration name */ name: string; /** * Integration type */ type: APIGuildIntegrationType; /** * Is this integration enabled */ enabled: boolean; /** * Is this integration syncing * * **This field is not provided for `discord` bot integrations.** */ syncing?: boolean; /** * ID that this integration uses for "subscribers" * * **This field is not provided for `discord` bot integrations.** */ role_id?: Snowflake; /** * Whether emoticons should be synced for this integration (`twitch` only currently) * * **This field is not provided for `discord` bot integrations.** */ enable_emoticons?: boolean; /** * The behavior of expiring subscribers * * **This field is not provided for `discord` bot integrations.** * * See https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors */ expire_behavior?: IntegrationExpireBehavior; /** * The grace period (in days) before expiring subscribers * * **This field is not provided for `discord` bot integrations.** */ expire_grace_period?: number; /** * User for this integration * * **Some older integrations may not have an attached user.** * * See https://discord.com/developers/docs/resources/user#user-object */ user?: APIUser; /** * Integration account information * * See https://discord.com/developers/docs/resources/guild#integration-account-object */ account: APIIntegrationAccount; /** * When this integration was last synced * * **This field is not provided for `discord` bot integrations.** */ synced_at?: string; /** * How many subscribers this integration has * * **This field is not provided for `discord` bot integrations.** */ subscriber_count?: number; /** * Has this integration been revoked * * **This field is not provided for `discord` bot integrations.** */ revoked?: boolean; /** * The bot/OAuth2 application for discord integrations * * See https://discord.com/developers/docs/resources/guild#integration-application-object * * **This field is not provided for `discord` bot integrations.** */ application?: APIGuildIntegrationApplication; /** * The scopes the application has been authorized for */ scopes?: OAuth2Scopes[];}
export type APIGuildIntegrationType = 'discord' | 'guild_subscription' | 'twitch' | 'youtube';
/** * https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors */export enum IntegrationExpireBehavior { RemoveRole, Kick,}
/** * https://discord.com/developers/docs/resources/guild#integration-account-object */export interface APIIntegrationAccount { /** * ID of the account */ id: string; /** * Name of the account */ name: string;}
/** * https://discord.com/developers/docs/resources/guild#integration-application-object */export interface APIGuildIntegrationApplication { /** * The id of the app */ id: Snowflake; /** * The name of the app */ name: string; /** * The icon hash of the app * * See https://discord.com/developers/docs/reference#image-formatting */ icon: string | null; /** * The description of the app */ description: string; /** * The bot associated with this application * * See https://discord.com/developers/docs/resources/user#user-object */ bot?: APIUser;}
/** * https://discord.com/developers/docs/resources/guild#ban-object */export interface APIBan { /** * The reason for the ban */ reason: string | null; /** * The banned user */ user: APIUser;}
/** * https://discord.com/developers/docs/resources/guild#guild-widget-object */export interface APIGuildWidget { id: Snowflake; name: string; instant_invite: string | null; channels: APIGuildWidgetChannel[]; members: APIGuildWidgetMember[]; presence_count: number;}
/** * https://discord.com/developers/docs/resources/guild#guild-widget-object-example-guild-widget */export interface APIGuildWidgetChannel { id: Snowflake; name: string; position: number;}
/** * https://discord.com/developers/docs/resources/guild#guild-widget-object-example-guild-widget */export interface APIGuildWidgetMember { id: string; username: string; discriminator: string; avatar: string | null; status: PresenceUpdateReceiveStatus; activity?: { name: string }; avatar_url: string;}
/** * https://discord.com/developers/docs/resources/guild#get-guild-widget-image-widget-style-options */export enum GuildWidgetStyle { /** * Shield style widget with Discord icon and guild members online count */ Shield = 'shield', /** * Large image with guild icon, name and online count. "POWERED BY DISCORD" as the footer of the widget */ Banner1 = 'banner1', /** * Smaller widget style with guild icon, name and online count. Split on the right with Discord logo */ Banner2 = 'banner2', /** * Large image with guild icon, name and online count. In the footer, Discord logo on the left and "Chat Now" on the right */ Banner3 = 'banner3', /** * Large Discord logo at the top of the widget. Guild icon, name and online count in the middle portion of the widget * and a "JOIN MY SERVER" button at the bottom */ Banner4 = 'banner4',}
export interface APIGuildWelcomeScreen { /** * The welcome screen short message */ description: string | null; /** * Array of suggested channels */ welcome_channels: APIGuildWelcomeScreenChannel[];}
export interface APIGuildWelcomeScreenChannel { /** * The channel id that is suggested */ channel_id: Snowflake; /** * The description shown for the channel */ description: string; /** * The emoji id of the emoji that is shown on the left of the channel */ emoji_id: Snowflake | null; /** * The emoji name of the emoji that is shown on the left of the channel */ emoji_name: string | null;}
export interface APIGuildMembershipScreening { /** * When the fields were last updated */ version: string; /** * The steps in the screening form */ form_fields: APIGuildMembershipScreeningField[]; /** * The server description shown in the screening form */ description: string | null;}
// TODO: make this a union based on the type in the future, when new types are added
export interface APIGuildMembershipScreeningField { /** * The type of field */ field_type: MembershipScreeningFieldType; /** * The title of the field */ label: string; /** * The list of rules */ values?: string[]; /** * Whether the user has to fill out this field */ required: boolean;}
export enum MembershipScreeningFieldType { /** * Server Rules */ Terms = 'TERMS',}
/** * https://discord.com/developers/docs/resources/guild#guild-onboarding-object-guild-onboarding-structure */export interface APIGuildOnboarding { /** * Id of the guild this onboarding is part of */ guild_id: Snowflake; /** * Prompts shown during onboarding and in customize community */ prompts: APIGuildOnboardingPrompt[]; /** * Channel ids that members get opted into automatically */ default_channel_ids: Snowflake[]; /** * Whether onboarding is enabled in the guild */ enabled: boolean; /** * Current mode of onboarding */ mode: GuildOnboardingMode;}
/** * https://discord.com/developers/docs/resources/guild#guild-onboarding-object-onboarding-prompt-structure */export interface APIGuildOnboardingPrompt { /** * Id of the prompt */ id: Snowflake; /** * Options available within the prompt */ options: APIGuildOnboardingPromptOption[]; /** * Title of the prompt */ title: string; /** * Indicates whether users are limited to selecting one option for the prompt */ single_select: boolean; /** * Indicates whether the prompt is required before a user completes the onboarding flow */ required: boolean; /** * Indicates whether the prompt is present in the onboarding flow. * If `false`, the prompt will only appear in the Channels & Roles tab */ in_onboarding: boolean; /** * Type of prompt */ type: GuildOnboardingPromptType;}
/** * https://discord.com/developers/docs/resources/guild#guild-onboarding-object-prompt-option-structure */export interface APIGuildOnboardingPromptOption { /** * Id of the prompt option */ id: Snowflake; /** * Ids for channels a member is added to when the option is selected */ channel_ids: Snowflake[]; /** * Ids for roles assigned to a member when the option is selected */ role_ids: Snowflake[]; /** * Emoji of the option */ emoji: APIPartialEmoji; /** * Title of the option */ title: string; /** * Description of the option */ description: string | null;}
/** * https://discord.com/developers/docs/resources/guild#guild-onboarding-object-onboarding-mode */export enum GuildOnboardingMode { /** * Counts only Default Channels towards constraints */ OnboardingDefault, /** * Counts Default Channels and Questions towards constraints */ OnboardingAdvanced,}
/** * https://discord.com/developers/docs/resources/guild#guild-onboarding-object-prompt-types */export enum GuildOnboardingPromptType { MultipleChoice, Dropdown,}