valkyrie-api-types/rest/v9/guild.ts

930 lines
24 KiB
TypeScript
Raw Normal View History

2024-09-11 23:00:57 -07:00
import type { RESTPutAPIChannelPermissionJSONBody } from './channel';
import type { Permissions, Snowflake } from '../../globals';
import type {
APIBan,
APIChannel,
APIExtendedInvite,
APIGuild,
APIGuildIntegration,
APIGuildMember,
APIGuildMembershipScreening,
APIGuildPreview,
APIGuildWelcomeScreen,
APIGuildWidget,
APIGuildWidgetSettings,
APIRole,
APIThreadList,
APIVoiceRegion,
GuildDefaultMessageNotifications,
GuildExplicitContentFilter,
GuildFeature,
GuildMFALevel,
GuildSystemChannelFlags,
GuildVerificationLevel,
GuildWidgetStyle,
APIDMChannel,
APIGroupDMChannel,
APIChannelType,
} from '../../payloads/v9/index';
import type {
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
DistributiveOmit,
DistributivePick,
Nullable,
StrictPartial,
StrictRequired,
} from '../../utils/internals';
export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
id: number | string;
}
export type APIGuildChannelResolvable = Exclude<APIChannelType, APIDMChannel | APIGroupDMChannel>;
export type APIGuildCreatePartialChannel = StrictPartial<
DistributivePick<
APIGuildChannelResolvable,
| 'type'
| 'topic'
| 'nsfw'
| 'bitrate'
| 'user_limit'
| 'rate_limit_per_user'
| 'default_auto_archive_duration'
| 'position'
| 'rtc_region'
| 'video_quality_mode'
| 'flags'
| 'default_reaction_emoji'
| 'available_tags'
| 'default_sort_order'
| 'default_forum_layout'
>
> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
name: string;
id?: number | string;
parent_id?: number | string | null;
permission_overwrites?: APIGuildCreateOverwrite[];
}>;
export interface APIGuildCreateRole extends RESTPostAPIGuildRoleJSONBody {
id: number | string;
}
/**
* https://discord.com/developers/docs/resources/guild#create-guild
*/
export type RESTPostAPIGuildsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Name of the guild (2-100 characters)
*/
name: string;
/**
* Voice region id
*
* See https://discord.com/developers/docs/resources/voice#voice-region-object
*/
region?: string;
/**
* base64 1024x1024 png/jpeg image for the guild icon
*
* See https://discord.com/developers/docs/reference#image-data
*/
icon?: string;
/**
* Verification level
*
* See https://discord.com/developers/docs/resources/guild#guild-object-verification-level
*/
verification_level?: GuildVerificationLevel;
/**
* Default message notification 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;
/**
* New guild roles
*
* **When using this parameter, the first member of the array is used to change properties of the guild's @everyone role.
* If you are trying to bootstrap a guild with additional roles, keep this in mind.**
*
* *When using this parameter, the required `id` field within each role object is an integer placeholder,
* and will be replaced by the API upon consumption. Its purpose is to allow you to overwrite a role's permissions
* in a channel when also passing in channels with the channels array.*
*
* See https://discord.com/developers/docs/topics/permissions#role-object
*/
roles?: APIGuildCreateRole[];
/**
* New guild's channels
*
* **When using the channels parameter, the `position` field is ignored, and none of the default channels are created.**
*
* *When using the channels parameter, the `id` field within each channel object may be set to an integer placeholder,
* and will be replaced by the API upon consumption. Its purpose is to allow you to create `GUILD_CATEGORY` channels
* by setting the `parent_id` field on any children to the category's id field.
* Category channels must be listed before any children.*
*
* See https://discord.com/developers/docs/resources/channel#channel-object
*/
channels?: APIGuildCreatePartialChannel[];
/**
* ID for afk channel
*/
afk_channel_id?: number | Snowflake | null;
/**
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
*/
afk_timeout?: 60 | 300 | 900 | 1800 | 3600;
/**
* The id of the channel where guild notices such as welcome messages and boost events are posted
*/
system_channel_id?: number | Snowflake | null;
/**
* System channel flags
*
* See https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags
*/
system_channel_flags?: GuildSystemChannelFlags;
/**
* Whether the boosts progress bar should be enabled.
*/
premium_progress_bar_enabled?: boolean;
}>;
/**
* https://discord.com/developers/docs/resources/guild#create-guild
*/
export type RESTPostAPIGuildsResult = APIGuild;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level
*/
export interface RESTPostAPIGuildsMFAJSONBody {
/**
* MFA level
*
* See https://discord.com/developers/docs/resources/guild#guild-object-mfa-level
*/
level: GuildMFALevel;
}
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level
*/
export type RESTPostAPIGuildsMFAResult = RESTPostAPIGuildsMFAJSONBody;
/**
* https://discord.com/developers/docs/resources/guild#get-guild
*/
export interface RESTGetAPIGuildQuery {
/**
* When `true`, will return approximate member and presence counts for the guild
*
* @default false
*/
with_counts?: boolean;
}
/**
* https://discord.com/developers/docs/resources/guild#get-guild
*/
export type RESTGetAPIGuildResult = APIGuild;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-preview
*/
export type RESTGetAPIGuildPreviewResult = APIGuildPreview;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild
*/
export type RESTPatchAPIGuildJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* New name for the guild (2-100 characters)
*/
name?: string;
/**
* Voice region id
*
* See https://discord.com/developers/docs/resources/voice#voice-region-object
*/
region?: string | null;
/**
* Verification level
*
* See https://discord.com/developers/docs/resources/guild#guild-object-verification-level
*/
verification_level?: GuildVerificationLevel | null;
/**
* Default message notification level
*
* See https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level
*/
default_message_notifications?: GuildDefaultMessageNotifications | null;
/**
* Explicit content filter level
*
* See https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level
*/
explicit_content_filter?: GuildExplicitContentFilter | null;
/**
* ID for afk channel
*/
afk_channel_id?: Snowflake | null;
/**
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
*/
afk_timeout?: 60 | 300 | 900 | 1800 | 3600;
/**
* base64 1024x1024 png/jpeg/gif image for the guild icon (can be animated gif when the guild has `ANIMATED_ICON` feature)
*
* See https://discord.com/developers/docs/reference#image-data
*/
icon?: string | null;
/**
* User id to transfer guild ownership to (must be owner)
*/
owner_id?: Snowflake;
/**
* base64 16:9 png/jpeg image for the guild splash (when the guild has `INVITE_SPLASH` feature)
*
* See https://discord.com/developers/docs/reference#image-data
*/
splash?: string | null;
/**
* base64 png/jpeg image for the guild discovery splash (when the guild has `DISCOVERABLE` feature)
*/
discovery_splash?: string | null;
/**
* base64 16:9 png/jpeg image for the guild banner (when the server has the `BANNER` feature; can be animated gif when the server has the `ANIMATED_BANNER` feature)
*/
banner?: string | 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 display rules and/or guidelines
*/
rules_channel_id?: Snowflake | null;
/**
* The id of the channel where admins and moderators of Community guilds receive notices from Discord
*/
public_updates_channel_id?: Snowflake | null;
/**
* The preferred locale of a Community guild used in server discovery and notices from Discord; defaults to "en-US"
*
* @default "en-US" (if the value is set to `null`)
*/
preferred_locale?: string | null;
/**
* Enabled guild features
*
* See https://discord.com/developers/docs/resources/guild#guild-object-guild-features
*/
features?: GuildFeature[];
/**
* The description for the guild
*/
description?: string | null;
/**
* Whether the boosts progress bar should be enabled.
*/
premium_progress_bar_enabled?: boolean;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild
*/
export type RESTPatchAPIGuildResult = APIGuild;
/**
* https://discord.com/developers/docs/resources/guild#delete-guild
*/
export type RESTDeleteAPIGuildResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-channels
*/
export type RESTGetAPIGuildChannelsResult = APIChannel[];
/**
* https://discord.com/developers/docs/resources/guild#create-guild-channel
*/
export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
/**
* https://discord.com/developers/docs/resources/guild#create-guild-channel
*/
export type RESTPostAPIGuildChannelResult = APIChannel;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
*/
export type RESTPatchAPIGuildChannelPositionsJSONBody = Array<
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Channel id
*/
id: Snowflake;
/**
* Sorting position of the channel
*/
position: number;
/**
* Sync channel overwrites with the new parent, when moving to a new `parent_id`
*/
lock_permissions?: boolean;
/**
* The new parent id of this channel
*/
parent_id?: Snowflake | null;
}>
>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
*/
export type RESTPatchAPIGuildChannelPositionsResult = never;
/**
* https://discord.com/developers/docs/resources/guild#list-active-guild-threads
*/
export type RESTGetAPIGuildThreadsResult = Omit<APIThreadList, 'has_more'>;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-member
*/
export type RESTGetAPIGuildMemberResult = APIGuildMember;
/**
* https://discord.com/developers/docs/resources/guild#list-guild-members
*/
export interface RESTGetAPIGuildMembersQuery {
/**
* Max number of members to return (1-1000)
*
* @default 1
*/
limit?: number;
/**
* The highest user id in the previous page
*
* @default 0
*/
after?: Snowflake;
}
/**
* https://discord.com/developers/docs/resources/guild#list-guild-members
*/
export type RESTGetAPIGuildMembersResult = APIGuildMember[];
/**
* https://discord.com/developers/docs/resources/guild#search-guild-members
*/
export interface RESTGetAPIGuildMembersSearchQuery {
/**
* Query string to match username(s) and nickname(s) against
*/
query: string;
/**
* Max number of members to return (1-1000)
*
* @default 1
*/
limit?: number;
}
export type RESTGetAPIGuildMembersSearchResult = APIGuildMember[];
/**
* https://discord.com/developers/docs/resources/guild#add-guild-member
*/
export type RESTPutAPIGuildMemberJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* An oauth2 access token granted with the `guilds.join` to the bot's application for the user you want to add to the guild
*/
access_token: string;
/**
* Value to set users nickname to
*
* Requires `MANAGE_NICKNAMES` permission
*/
nick?: string;
/**
* Array of role ids the member is assigned
*
* Requires `MANAGE_ROLES` permission
*/
roles?: Snowflake[];
/**
* Whether the user is muted in voice channels
*
* Requires `MUTE_MEMBERS` permission
*/
mute?: boolean;
/**
* Whether the user is deafened in voice channels
*
* Requires `DEAFEN_MEMBERS` permission
*/
deaf?: boolean;
}>;
export type RESTPutAPIGuildMemberResult = APIGuildMember | never;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-member
*/
export type RESTPatchAPIGuildMemberJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Value to set users nickname to
*
* Requires `MANAGE_NICKNAMES` permission
*/
nick?: string | null;
/**
* Array of role ids the member is assigned
*
* Requires `MANAGE_ROLES` permission
*/
roles?: Snowflake[] | null;
/**
* Whether the user is muted in voice channels. Will throw a 400 if the user is not in a voice channel
*
* Requires `MUTE_MEMBERS` permission
*/
mute?: boolean | null;
/**
* Whether the user is deafened in voice channels. Will throw a 400 if the user is not in a voice channel
*
* Requires `DEAFEN_MEMBERS` permission
*/
deaf?: boolean | null;
/**
* ID of channel to move user to (if they are connected to voice)
*
* Requires `MOVE_MEMBERS` permission
*/
channel_id?: Snowflake | null;
/**
* 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#add-guild-member
*/
export type RESTPatchAPIGuildMemberResult = APIGuildMember;
/**
* https://discord.com/developers/docs/resources/guild#modify-current-user-nick
*
* @deprecated Use [Modify Current Member](https://discord.com/developers/docs/resources/guild#modify-current-member) instead.
*/
export type RESTPatchAPICurrentGuildMemberNicknameJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Value to set users nickname to
*
* Requires `CHANGE_NICKNAME` permission
*/
nick?: string | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-current-member
*/
export type RESTPatchAPICurrentGuildMemberJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Value to set users nickname to
*
* Requires `CHANGE_NICKNAME` permission
*/
nick?: string | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-current-user-nick
*
* @deprecated Use [Modify Current Member](https://discord.com/developers/docs/resources/guild#modify-current-member) instead.
*/
export type RESTPatchAPICurrentGuildMemberNicknameResult =
StrictRequired<RESTPatchAPICurrentGuildMemberNicknameJSONBody>;
/**
* https://discord.com/developers/docs/resources/guild#add-guild-member-role
*/
export type RESTPutAPIGuildMemberRoleResult = never;
/**
* https://discord.com/developers/docs/resources/guild#remove-guild-member-role
*/
export type RESTDeleteAPIGuildMemberRoleResult = never;
/**
* https://discord.com/developers/docs/resources/guild#remove-guild-member
*/
export type RESTDeleteAPIGuildMemberResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-bans
*/
export type RESTGetAPIGuildBansResult = APIBan[];
/**
* https://discord.com/developers/docs/resources/guild#get-guild-bans
*/
export interface RESTGetAPIGuildBansQuery {
/**
* Consider only users before given user id
*/
before?: Snowflake;
/**
* Consider only users after given user id
*/
after?: Snowflake;
/**
* Number of users to return (1-1000)
*
* @default 1000
*/
limit?: number;
}
/**
* https://discord.com/developers/docs/resources/guild#get-guild-ban
*/
export type RESTGetAPIGuildBanResult = APIBan;
/**
* https://discord.com/developers/docs/resources/guild#create-guild-ban
*/
export type RESTPutAPIGuildBanJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Number of days to delete messages for (0-7)
*
* @deprecated use `delete_message_seconds` instead
*/
delete_message_days?: number;
/**
* Number of seconds to delete messages for, between 0 and 604800 (7 days)
*/
delete_message_seconds?: number;
/**
* Reason for the ban
*
* @deprecated Removed in API v10, use the `X-Audit-Log-Reason` header instead.
*/
reason?: string;
}>;
/**
* https://discord.com/developers/docs/resources/guild#create-guild-ban
*/
export type RESTPutAPIGuildBanResult = never;
/**
* https://discord.com/developers/docs/resources/guild#remove-guild-ban
*/
export type RESTDeleteAPIGuildBanResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-roles
*/
export type RESTGetAPIGuildRolesResult = APIRole[];
/**
* https://discord.com/developers/docs/resources/guild#create-guild-role
*/
export type RESTPostAPIGuildRoleJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Name of the role
*
* @default "new role"
*/
name?: string | null;
/**
* Bitwise value of the enabled/disabled permissions
*
* @default "default role permissions in guild"
*/
permissions?: Permissions | null;
/**
* RGB color value
*
* @default 0
*/
color?: number | null;
/**
* Whether the role should be displayed separately in the sidebar
*
* @default false
*/
hoist?: boolean | null;
/**
* The role's icon image (if the guild has the `ROLE_ICONS` feature)
*/
icon?: string | null;
/**
* The role's unicode emoji as a standard emoji (if the guild has the `ROLE_ICONS` feature)
*/
unicode_emoji?: string | null;
/**
* Whether the role should be mentionable
*
* @default false
*/
mentionable?: boolean | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#create-guild-role
*/
export type RESTPostAPIGuildRoleResult = APIRole;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
*/
export type RESTPatchAPIGuildRolePositionsJSONBody = Array<
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Role id
*/
id: Snowflake;
/**
* Sorting position of the role
*/
position?: number;
}>
>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
*/
export type RESTPatchAPIGuildRolePositionsResult = APIRole[];
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-role
*/
export type RESTPatchAPIGuildRoleJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Name of the role
*/
name?: string | null;
/**
* Bitwise value of the enabled/disabled permissions
*/
permissions?: Permissions | null;
/**
* RGB color value
*/
color?: number | null;
/**
* Whether the role should be displayed separately in the sidebar
*/
hoist?: boolean | null;
/**
* The role's icon image (if the guild has the `ROLE_ICONS` feature)
*/
icon?: string | null;
/**
* The role's unicode emoji as a standard emoji (if the guild has the `ROLE_ICONS` feature)
*/
unicode_emoji?: string | null;
/**
* Whether the role should be mentionable
*/
mentionable?: boolean | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-role
*/
export type RESTPatchAPIGuildRoleResult = APIRole;
/**
* https://discord.com/developers/docs/resources/guild#delete-guild-role
*/
export type RESTDeleteAPIGuildRoleResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-prune-count
*/
export interface RESTGetAPIGuildPruneCountQuery {
/**
* Number of days to count prune for (1 or more)
*
* @default 7
*/
days?: number;
/**
* Role(s) to include
*
* While this is typed as a string, it represents an array of
* role IDs delimited by commas
*
* See https://discord.com/developers/docs/resources/guild#get-guild-prune-count-query-string-params
*/
include_roles?: string;
}
/**
* https://discord.com/developers/docs/resources/guild#get-guild-prune-count
*/
export interface RESTGetAPIGuildPruneCountResult {
pruned: number;
}
/**
* https://discord.com/developers/docs/resources/guild#begin-guild-prune
*/
export type RESTPostAPIGuildPruneJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Number of days to count prune for (1 or more)
*
* @default 7
*/
days?: number;
/**
* Whether `pruned is returned, discouraged for large guilds
*
* @default true
*/
compute_prune_count?: boolean;
/**
* Role(s) to include
*/
include_roles?: Snowflake[];
}>;
/**
* https://discord.com/developers/docs/resources/guild#begin-guild-prune
*/
export interface RESTPostAPIGuildPruneResult {
pruned: number | null;
}
/**
* https://discord.com/developers/docs/resources/guild#get-guild-voice-regions
*/
export type RESTGetAPIGuildVoiceRegionsResult = APIVoiceRegion[];
/**
* https://discord.com/developers/docs/resources/guild#get-guild-invites
*/
export type RESTGetAPIGuildInvitesResult = APIExtendedInvite[];
/**
* https://discord.com/developers/docs/resources/guild#get-guild-integrations
*/
export type RESTGetAPIGuildIntegrationsResult = APIGuildIntegration[];
/**
* https://discord.com/developers/docs/resources/guild#delete-guild-integration
*/
export type RESTDeleteAPIGuildIntegrationResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-widget-settings
*/
export type RESTGetAPIGuildWidgetSettingsResult = APIGuildWidgetSettings;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-widget
*/
export type RESTPatchAPIGuildWidgetSettingsJSONBody = StrictPartial<APIGuildWidgetSettings>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-widget
*/
export type RESTPatchAPIGuildWidgetSettingsResult = APIGuildWidgetSettings;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-widget
*/
export type RESTGetAPIGuildWidgetJSONResult = APIGuildWidget;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-vanity-url
*/
export interface RESTGetAPIGuildVanityUrlResult {
code: string | null;
uses: number;
}
/**
* https://discord.com/developers/docs/resources/guild#get-guild-widget-image
*/
export interface RESTGetAPIGuildWidgetImageQuery {
/**
* Style of the widget image returned
*
* @default "shield"
*/
style?: GuildWidgetStyle;
}
/**
* Note: while the return type is `ArrayBuffer`, the expected result is
* a buffer of sorts (depends if in browser or on node.js/deno).
*/
export type RESTGetAPIGuildWidgetImageResult = ArrayBuffer;
export type RESTGetAPIGuildMemberVerificationResult = APIGuildMembershipScreening;
export type RESTPatchAPIGuildMemberVerificationJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Whether Membership Screening is enabled
*/
enabled?: boolean;
/**
* Array of field objects serialized in a string
*/
form_fields?: string;
/**
* The server description to show in the screening form
*/
description?: string | null;
}>;
export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening;
/**
* https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state
*/
export type RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* The id of the channel the user is currently in
*/
channel_id?: Snowflake;
/**
* Toggles the user's suppress state
*/
suppress?: boolean;
/**
* Sets the user's request to speak
*/
request_to_speak_timestamp?: string | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state
*/
export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never;
/**
* https://discord.com/developers/docs/resources/guild#modify-user-voice-state
*/
export type RESTPatchAPIGuildVoiceStateUserJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* The id of the channel the user is currently in
*/
channel_id: Snowflake;
/**
* Toggles the user's suppress state
*/
suppress?: boolean;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-user-voice-state
*/
export type RESTPatchAPIGuildVoiceStateUserResult = never;
/**
* https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen
*/
export type RESTGetAPIGuildWelcomeScreenResult = APIGuildWelcomeScreen;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen
*/
export type RESTPatchAPIGuildWelcomeScreenJSONBody = Nullable<StrictPartial<APIGuildWelcomeScreen>> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
/**
* Whether the welcome screen is enabled
*/
enabled?: boolean | null;
}>;
/**
* https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen
*/
2024-09-12 00:14:45 -07:00
export type RESTPatchAPIGuildWelcomeScreenResult = APIGuildWelcomeScreen;