From 1b1a865efe4d95b34055616ed18dc3613b58f317 Mon Sep 17 00:00:00 2001 From: Naiyar <137700126+imnaiyar@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:03:15 +0530 Subject: [PATCH] feat(Routes): voice state endpoint (#1046) --- deno/gateway/v10.ts | 6 ++--- deno/gateway/v9.ts | 6 ++--- deno/payloads/v10/voice.ts | 9 ++++++- deno/payloads/v9/voice.ts | 9 ++++++- deno/rest/v10/guild.ts | 42 ----------------------------- deno/rest/v10/mod.ts | 2 ++ deno/rest/v10/voice.ts | 55 +++++++++++++++++++++++++++++++++++++- deno/rest/v9/guild.ts | 42 ----------------------------- deno/rest/v9/mod.ts | 2 ++ deno/rest/v9/voice.ts | 55 +++++++++++++++++++++++++++++++++++++- gateway/v10.ts | 6 ++--- gateway/v9.ts | 6 ++--- payloads/v10/voice.ts | 9 ++++++- payloads/v9/voice.ts | 9 ++++++- rest/v10/guild.ts | 42 ----------------------------- rest/v10/index.ts | 2 ++ rest/v10/voice.ts | 55 +++++++++++++++++++++++++++++++++++++- rest/v9/guild.ts | 42 ----------------------------- rest/v9/index.ts | 2 ++ rest/v9/voice.ts | 55 +++++++++++++++++++++++++++++++++++++- 20 files changed, 268 insertions(+), 188 deletions(-) diff --git a/deno/gateway/v10.ts b/deno/gateway/v10.ts index 3767ac2b5..0122ad341 100644 --- a/deno/gateway/v10.ts +++ b/deno/gateway/v10.ts @@ -28,7 +28,7 @@ import type { GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, - GatewayVoiceState, + APIVoiceState, InviteTargetType, PresenceUpdateStatus, AutoModerationRuleTriggerType, @@ -785,7 +785,7 @@ export interface GatewayGuildCreateDispatchData extends APIGuild { * * See https://discord.com/developers/docs/resources/voice#voice-state-object */ - voice_states: Omit[]; + voice_states: Omit[]; /** * Users in the guild * @@ -1748,7 +1748,7 @@ export type GatewayVoiceStateUpdateDispatch = DataPayload< /** * https://discord.com/developers/docs/topics/gateway-events#voice-state-update */ -export type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +export type GatewayVoiceStateUpdateDispatchData = APIVoiceState; /** * https://discord.com/developers/docs/topics/gateway-events#voice-server-update diff --git a/deno/gateway/v9.ts b/deno/gateway/v9.ts index 47f10ba33..10a2f25de 100644 --- a/deno/gateway/v9.ts +++ b/deno/gateway/v9.ts @@ -28,7 +28,7 @@ import type { GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, - GatewayVoiceState, + APIVoiceState, InviteTargetType, PresenceUpdateStatus, AutoModerationRuleTriggerType, @@ -784,7 +784,7 @@ export interface GatewayGuildCreateDispatchData extends APIGuild { * * See https://discord.com/developers/docs/resources/voice#voice-state-object */ - voice_states: Omit[]; + voice_states: Omit[]; /** * Users in the guild * @@ -1747,7 +1747,7 @@ export type GatewayVoiceStateUpdateDispatch = DataPayload< /** * https://discord.com/developers/docs/topics/gateway-events#voice-state-update */ -export type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +export type GatewayVoiceStateUpdateDispatchData = APIVoiceState; /** * https://discord.com/developers/docs/topics/gateway-events#voice-server-update diff --git a/deno/payloads/v10/voice.ts b/deno/payloads/v10/voice.ts index 2474aa8e5..314987dce 100644 --- a/deno/payloads/v10/voice.ts +++ b/deno/payloads/v10/voice.ts @@ -7,8 +7,15 @@ import type { APIGuildMember } from './guild.ts'; /** * https://discord.com/developers/docs/resources/voice#voice-state-object + * + * @deprecated This is deprecated, use {@apilink APIVoiceState} */ -export interface GatewayVoiceState { +export type GatewayVoiceState = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#voice-state-object + */ +export interface APIVoiceState { /** * The guild id this voice state is for */ diff --git a/deno/payloads/v9/voice.ts b/deno/payloads/v9/voice.ts index 2474aa8e5..314987dce 100644 --- a/deno/payloads/v9/voice.ts +++ b/deno/payloads/v9/voice.ts @@ -7,8 +7,15 @@ import type { APIGuildMember } from './guild.ts'; /** * https://discord.com/developers/docs/resources/voice#voice-state-object + * + * @deprecated This is deprecated, use {@apilink APIVoiceState} */ -export interface GatewayVoiceState { +export type GatewayVoiceState = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#voice-state-object + */ +export interface APIVoiceState { /** * The guild id this voice state is for */ diff --git a/deno/rest/v10/guild.ts b/deno/rest/v10/guild.ts index 31c4c0ca9..c1a807de6 100644 --- a/deno/rest/v10/guild.ts +++ b/deno/rest/v10/guild.ts @@ -896,48 +896,6 @@ export interface RESTPatchAPIGuildMemberVerificationJSONBody { export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening; -/** - * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state - */ -export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id?: Snowflake | undefined; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; - /** - * Sets the user's request to speak - */ - request_to_speak_timestamp?: string | null | undefined; -} - -/** - * 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 interface RESTPatchAPIGuildVoiceStateUserJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id: Snowflake; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; -} - -/** - * 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 */ diff --git a/deno/rest/v10/mod.ts b/deno/rest/v10/mod.ts index 05842f81a..9c04ee85d 100644 --- a/deno/rest/v10/mod.ts +++ b/deno/rest/v10/mod.ts @@ -788,6 +788,8 @@ export const Routes = { /** * Route for: + * - GET `/guilds/{guild.id}/voice-states/@me` + * - GET `/guilds/{guild.id}/voice-states/{user.id}` * - PATCH `/guilds/{guild.id}/voice-states/@me` * - PATCH `/guilds/{guild.id}/voice-states/{user.id}` */ diff --git a/deno/rest/v10/voice.ts b/deno/rest/v10/voice.ts index b5d66f25c..2b7624fac 100644 --- a/deno/rest/v10/voice.ts +++ b/deno/rest/v10/voice.ts @@ -1,4 +1,5 @@ -import type { APIVoiceRegion } from '../../payloads/v10/mod.ts'; +import type { Snowflake } from '../../globals.ts'; +import type { APIVoiceRegion, APIVoiceState } from '../../payloads/v10/mod.ts'; /** * https://discord.com/developers/docs/resources/voice#list-voice-regions @@ -9,3 +10,55 @@ export type RESTGetAPIVoiceRegionsResult = APIVoiceRegion[]; * @deprecated This was exported with the wrong name, use `RESTGetAPIVoiceRegionsResult` instead */ export type GetAPIVoiceRegionsResult = RESTGetAPIVoiceRegionsResult; + +/** + * https://discord.com/developers/docs/resources/voice#get-current-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateCurrentMemberResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#get-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateUserResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id?: Snowflake | undefined; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; + /** + * Sets the user's request to speak + */ + request_to_speak_timestamp?: string | null | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never; + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateUserJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id: Snowflake; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateUserResult = never; diff --git a/deno/rest/v9/guild.ts b/deno/rest/v9/guild.ts index 1e023a972..6d65a86cf 100644 --- a/deno/rest/v9/guild.ts +++ b/deno/rest/v9/guild.ts @@ -902,48 +902,6 @@ export interface RESTPatchAPIGuildMemberVerificationJSONBody { export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening; -/** - * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state - */ -export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id?: Snowflake | undefined; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; - /** - * Sets the user's request to speak - */ - request_to_speak_timestamp?: string | null | undefined; -} - -/** - * 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 interface RESTPatchAPIGuildVoiceStateUserJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id: Snowflake; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; -} - -/** - * 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 */ diff --git a/deno/rest/v9/mod.ts b/deno/rest/v9/mod.ts index deab1427a..a4a2aa65c 100644 --- a/deno/rest/v9/mod.ts +++ b/deno/rest/v9/mod.ts @@ -797,6 +797,8 @@ export const Routes = { /** * Route for: + * - GET `/guilds/{guild.id}/voice-states/@me` + * - GET `/guilds/{guild.id}/voice-states/{user.id}` * - PATCH `/guilds/{guild.id}/voice-states/@me` * - PATCH `/guilds/{guild.id}/voice-states/{user.id}` */ diff --git a/deno/rest/v9/voice.ts b/deno/rest/v9/voice.ts index c57a66d79..fcde5156e 100644 --- a/deno/rest/v9/voice.ts +++ b/deno/rest/v9/voice.ts @@ -1,4 +1,5 @@ -import type { APIVoiceRegion } from '../../payloads/v9/mod.ts'; +import type { Snowflake } from '../../globals.ts'; +import type { APIVoiceRegion, APIVoiceState } from '../../payloads/v9/mod.ts'; /** * https://discord.com/developers/docs/resources/voice#list-voice-regions @@ -9,3 +10,55 @@ export type RESTGetAPIVoiceRegionsResult = APIVoiceRegion[]; * @deprecated This was exported with the wrong name, use `RESTGetAPIVoiceRegionsResult` instead */ export type GetAPIVoiceRegionsResult = RESTGetAPIVoiceRegionsResult; + +/** + * https://discord.com/developers/docs/resources/voice#get-current-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateCurrentMemberResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#get-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateUserResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id?: Snowflake | undefined; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; + /** + * Sets the user's request to speak + */ + request_to_speak_timestamp?: string | null | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never; + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateUserJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id: Snowflake; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateUserResult = never; diff --git a/gateway/v10.ts b/gateway/v10.ts index 9a8d6dadd..7512ab82c 100644 --- a/gateway/v10.ts +++ b/gateway/v10.ts @@ -28,7 +28,7 @@ import type { GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, - GatewayVoiceState, + APIVoiceState, InviteTargetType, PresenceUpdateStatus, AutoModerationRuleTriggerType, @@ -785,7 +785,7 @@ export interface GatewayGuildCreateDispatchData extends APIGuild { * * See https://discord.com/developers/docs/resources/voice#voice-state-object */ - voice_states: Omit[]; + voice_states: Omit[]; /** * Users in the guild * @@ -1748,7 +1748,7 @@ export type GatewayVoiceStateUpdateDispatch = DataPayload< /** * https://discord.com/developers/docs/topics/gateway-events#voice-state-update */ -export type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +export type GatewayVoiceStateUpdateDispatchData = APIVoiceState; /** * https://discord.com/developers/docs/topics/gateway-events#voice-server-update diff --git a/gateway/v9.ts b/gateway/v9.ts index 24f2f7ad4..105e8a2ac 100644 --- a/gateway/v9.ts +++ b/gateway/v9.ts @@ -28,7 +28,7 @@ import type { GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, - GatewayVoiceState, + APIVoiceState, InviteTargetType, PresenceUpdateStatus, AutoModerationRuleTriggerType, @@ -784,7 +784,7 @@ export interface GatewayGuildCreateDispatchData extends APIGuild { * * See https://discord.com/developers/docs/resources/voice#voice-state-object */ - voice_states: Omit[]; + voice_states: Omit[]; /** * Users in the guild * @@ -1747,7 +1747,7 @@ export type GatewayVoiceStateUpdateDispatch = DataPayload< /** * https://discord.com/developers/docs/topics/gateway-events#voice-state-update */ -export type GatewayVoiceStateUpdateDispatchData = GatewayVoiceState; +export type GatewayVoiceStateUpdateDispatchData = APIVoiceState; /** * https://discord.com/developers/docs/topics/gateway-events#voice-server-update diff --git a/payloads/v10/voice.ts b/payloads/v10/voice.ts index d2a100a50..befa8504d 100644 --- a/payloads/v10/voice.ts +++ b/payloads/v10/voice.ts @@ -7,8 +7,15 @@ import type { APIGuildMember } from './guild'; /** * https://discord.com/developers/docs/resources/voice#voice-state-object + * + * @deprecated This is deprecated, use {@apilink APIVoiceState} */ -export interface GatewayVoiceState { +export type GatewayVoiceState = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#voice-state-object + */ +export interface APIVoiceState { /** * The guild id this voice state is for */ diff --git a/payloads/v9/voice.ts b/payloads/v9/voice.ts index d2a100a50..befa8504d 100644 --- a/payloads/v9/voice.ts +++ b/payloads/v9/voice.ts @@ -7,8 +7,15 @@ import type { APIGuildMember } from './guild'; /** * https://discord.com/developers/docs/resources/voice#voice-state-object + * + * @deprecated This is deprecated, use {@apilink APIVoiceState} */ -export interface GatewayVoiceState { +export type GatewayVoiceState = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#voice-state-object + */ +export interface APIVoiceState { /** * The guild id this voice state is for */ diff --git a/rest/v10/guild.ts b/rest/v10/guild.ts index d8cd9b7b6..8ead979b8 100644 --- a/rest/v10/guild.ts +++ b/rest/v10/guild.ts @@ -896,48 +896,6 @@ export interface RESTPatchAPIGuildMemberVerificationJSONBody { export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening; -/** - * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state - */ -export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id?: Snowflake | undefined; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; - /** - * Sets the user's request to speak - */ - request_to_speak_timestamp?: string | null | undefined; -} - -/** - * 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 interface RESTPatchAPIGuildVoiceStateUserJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id: Snowflake; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; -} - -/** - * 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 */ diff --git a/rest/v10/index.ts b/rest/v10/index.ts index 80c4b0d0a..b0754288c 100644 --- a/rest/v10/index.ts +++ b/rest/v10/index.ts @@ -788,6 +788,8 @@ export const Routes = { /** * Route for: + * - GET `/guilds/{guild.id}/voice-states/@me` + * - GET `/guilds/{guild.id}/voice-states/{user.id}` * - PATCH `/guilds/{guild.id}/voice-states/@me` * - PATCH `/guilds/{guild.id}/voice-states/{user.id}` */ diff --git a/rest/v10/voice.ts b/rest/v10/voice.ts index 1606cd8a7..65d52bf82 100644 --- a/rest/v10/voice.ts +++ b/rest/v10/voice.ts @@ -1,4 +1,5 @@ -import type { APIVoiceRegion } from '../../payloads/v10/index'; +import type { Snowflake } from '../../globals'; +import type { APIVoiceRegion, APIVoiceState } from '../../payloads/v10/index'; /** * https://discord.com/developers/docs/resources/voice#list-voice-regions @@ -9,3 +10,55 @@ export type RESTGetAPIVoiceRegionsResult = APIVoiceRegion[]; * @deprecated This was exported with the wrong name, use `RESTGetAPIVoiceRegionsResult` instead */ export type GetAPIVoiceRegionsResult = RESTGetAPIVoiceRegionsResult; + +/** + * https://discord.com/developers/docs/resources/voice#get-current-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateCurrentMemberResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#get-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateUserResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id?: Snowflake | undefined; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; + /** + * Sets the user's request to speak + */ + request_to_speak_timestamp?: string | null | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never; + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateUserJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id: Snowflake; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateUserResult = never; diff --git a/rest/v9/guild.ts b/rest/v9/guild.ts index 72056d63c..5d4e485f2 100644 --- a/rest/v9/guild.ts +++ b/rest/v9/guild.ts @@ -902,48 +902,6 @@ export interface RESTPatchAPIGuildMemberVerificationJSONBody { export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening; -/** - * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state - */ -export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id?: Snowflake | undefined; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; - /** - * Sets the user's request to speak - */ - request_to_speak_timestamp?: string | null | undefined; -} - -/** - * 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 interface RESTPatchAPIGuildVoiceStateUserJSONBody { - /** - * The id of the channel the user is currently in - */ - channel_id: Snowflake; - /** - * Toggles the user's suppress state - */ - suppress?: boolean | undefined; -} - -/** - * 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 */ diff --git a/rest/v9/index.ts b/rest/v9/index.ts index 31df41147..5ad2f3fc3 100644 --- a/rest/v9/index.ts +++ b/rest/v9/index.ts @@ -797,6 +797,8 @@ export const Routes = { /** * Route for: + * - GET `/guilds/{guild.id}/voice-states/@me` + * - GET `/guilds/{guild.id}/voice-states/{user.id}` * - PATCH `/guilds/{guild.id}/voice-states/@me` * - PATCH `/guilds/{guild.id}/voice-states/{user.id}` */ diff --git a/rest/v9/voice.ts b/rest/v9/voice.ts index 4ab2825f5..a3c07c605 100644 --- a/rest/v9/voice.ts +++ b/rest/v9/voice.ts @@ -1,4 +1,5 @@ -import type { APIVoiceRegion } from '../../payloads/v9/index'; +import type { Snowflake } from '../../globals'; +import type { APIVoiceRegion, APIVoiceState } from '../../payloads/v9/index'; /** * https://discord.com/developers/docs/resources/voice#list-voice-regions @@ -9,3 +10,55 @@ export type RESTGetAPIVoiceRegionsResult = APIVoiceRegion[]; * @deprecated This was exported with the wrong name, use `RESTGetAPIVoiceRegionsResult` instead */ export type GetAPIVoiceRegionsResult = RESTGetAPIVoiceRegionsResult; + +/** + * https://discord.com/developers/docs/resources/voice#get-current-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateCurrentMemberResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#get-user-voice-state + */ +export type RESTGetAPIGuildVoiceStateUserResult = APIVoiceState; + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id?: Snowflake | undefined; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; + /** + * Sets the user's request to speak + */ + request_to_speak_timestamp?: string | null | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-current-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never; + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export interface RESTPatchAPIGuildVoiceStateUserJSONBody { + /** + * The id of the channel the user is currently in + */ + channel_id: Snowflake; + /** + * Toggles the user's suppress state + */ + suppress?: boolean | undefined; +} + +/** + * https://discord.com/developers/docs/resources/voice#modify-user-voice-state + */ +export type RESTPatchAPIGuildVoiceStateUserResult = never;