Merge pull request #867 from TheDevYellowy/main
feat (VoiceState) add setStatus function
This commit is contained in:
commit
af59bbc0e5
@ -75,6 +75,7 @@ const Messages = {
|
||||
CLIENT_NO_CALL: 'No call exists!',
|
||||
|
||||
VOICE_NOT_STAGE_CHANNEL: 'You are only allowed to do this in stage channels.',
|
||||
VOICE_NOT_IN_GUILD: 'You are only allowed to do this in guild channels.',
|
||||
|
||||
VOICE_STATE_NOT_OWN:
|
||||
'You cannot self-deafen/mute/request to speak on VoiceStates that do not belong to the ClientUser.',
|
||||
|
@ -214,6 +214,32 @@ class VoiceState extends Base {
|
||||
return this.guild.members.edit(this.id, { channel }, reason);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the status of the voice channel
|
||||
* @param {string} status The message to set the channel status to
|
||||
* @example
|
||||
* // Setting the status to something
|
||||
* guild.members.me.voice.setStatus("something")
|
||||
* @example
|
||||
* // Removing the status
|
||||
* guild.members.me.voice.setStatus("")
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async setStatus(status) {
|
||||
// PUT https://discord.com/api/v9/channels/channelID/voice-status
|
||||
if (this.channel?.id) {
|
||||
// You can set the staus in normal voice channels and in stages so any type starting with GUILD should work
|
||||
if (!this.channel?.type.startsWith('GUILD')) throw new Error('VOICE_NOT_IN_GUILD');
|
||||
|
||||
await this.client.api.channels(this.channel.id, 'voice-status').put({
|
||||
data: {
|
||||
status,
|
||||
},
|
||||
versioned: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the request to speak in the channel.
|
||||
* Only applicable for stage channels and for the client's own voice state.
|
||||
|
1
typings/index.d.ts
vendored
1
typings/index.d.ts
vendored
@ -3434,6 +3434,7 @@ export class VoiceState extends Base {
|
||||
public setMute(mute?: boolean, reason?: string): Promise<GuildMember>;
|
||||
public disconnect(reason?: string): Promise<GuildMember>;
|
||||
public setChannel(channel: GuildVoiceChannelResolvable | null, reason?: string): Promise<GuildMember>;
|
||||
public setStatus(status: string): Promise<void>;
|
||||
public setRequestToSpeak(request?: boolean): Promise<void>;
|
||||
public setSuppressed(suppressed?: boolean): Promise<void>;
|
||||
public getPreview(): Promise<string>;
|
||||
|
Loading…
Reference in New Issue
Block a user