93 lines
1.9 KiB
TypeScript
93 lines
1.9 KiB
TypeScript
|
/**
|
||
|
* Types extracted from https://discord.com/developers/docs/resources/voice
|
||
|
*/
|
||
|
|
||
|
import type { APIGuildMember } from './guild';
|
||
|
import type { Snowflake } from '../../globals';
|
||
|
|
||
|
/**
|
||
|
* https://discord.com/developers/docs/resources/voice#voice-state-object
|
||
|
*/
|
||
|
export interface GatewayVoiceState {
|
||
|
/**
|
||
|
* The guild id this voice state is for
|
||
|
*/
|
||
|
guild_id?: Snowflake;
|
||
|
/**
|
||
|
* The channel id this user is connected to
|
||
|
*/
|
||
|
channel_id: Snowflake | null;
|
||
|
/**
|
||
|
* The user id this voice state is for
|
||
|
*/
|
||
|
user_id: Snowflake;
|
||
|
/**
|
||
|
* The guild member this voice state is for
|
||
|
*
|
||
|
* See https://discord.com/developers/docs/resources/guild#guild-member-object
|
||
|
*/
|
||
|
member?: APIGuildMember;
|
||
|
/**
|
||
|
* The session id for this voice state
|
||
|
*/
|
||
|
session_id: string;
|
||
|
/**
|
||
|
* Whether this user is deafened by the server
|
||
|
*/
|
||
|
deaf: boolean;
|
||
|
/**
|
||
|
* Whether this user is muted by the server
|
||
|
*/
|
||
|
mute: boolean;
|
||
|
/**
|
||
|
* Whether this user is locally deafened
|
||
|
*/
|
||
|
self_deaf: boolean;
|
||
|
/**
|
||
|
* Whether this user is locally muted
|
||
|
*/
|
||
|
self_mute: boolean;
|
||
|
/**
|
||
|
* Whether this user is streaming using "Go Live"
|
||
|
*/
|
||
|
self_stream?: boolean;
|
||
|
/**
|
||
|
* Whether this user's camera is enabled
|
||
|
*/
|
||
|
self_video: boolean;
|
||
|
/**
|
||
|
* Whether this user is muted by the current user
|
||
|
*/
|
||
|
suppress: boolean;
|
||
|
/**
|
||
|
* The time at which the user requested to speak
|
||
|
*/
|
||
|
request_to_speak_timestamp: string | null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* https://discord.com/developers/docs/resources/voice#voice-region-object
|
||
|
*/
|
||
|
export interface APIVoiceRegion {
|
||
|
/**
|
||
|
* Unique ID for the region
|
||
|
*/
|
||
|
id: string;
|
||
|
/**
|
||
|
* Name of the region
|
||
|
*/
|
||
|
name: string;
|
||
|
/**
|
||
|
* `true` for a single server that is closest to the current user's client
|
||
|
*/
|
||
|
optimal: boolean;
|
||
|
/**
|
||
|
* Whether this is a deprecated voice region (avoid switching to these)
|
||
|
*/
|
||
|
deprecated: boolean;
|
||
|
/**
|
||
|
* Whether this is a custom voice region (used for events/etc)
|
||
|
*/
|
||
|
custom: boolean;
|
||
|
}
|