fix(Voice*): fix speaking event and voice receive (#3749)

* fix(Voice*): synthesize speaking event from UDP packets

* fix(VoiceReceiver): skip over undocumented Discord byte

See #3555

* fix(VoiceConnection): play frame silence before emitting ready

* typings: account for changes in private api
This commit is contained in:
SpaceEEC
2020-01-31 22:37:11 +01:00
committed by GitHub
parent 6d7e1e4953
commit fbcd363ec9
6 changed files with 113 additions and 21 deletions

7
typings/index.d.ts vendored
View File

@@ -1415,7 +1415,8 @@ declare module 'discord.js' {
constructor(voiceManager: ClientVoiceManager, channel: VoiceChannel);
private authentication: object;
private sockets: object;
private ssrcMap: Map<number, boolean>;
private ssrcMap: Map<number, Snowflake>;
private speakingTimeouts: Map<number, NodeJS.Timer>;
private authenticate(): void;
private authenticateFailed(reason: string): void;
private checkAuthenticated(): void;
@@ -1540,14 +1541,14 @@ declare module 'discord.js' {
public on(event: 'ready', listener: (packet: object) => void): this;
public on(event: 'sessionDescription', listener: (encryptionMode: string, secretKey: SecretKey) => void): this;
public on(event: 'speaking', listener: (data: object) => void): this;
public on(event: 'startSpeaking', listener: (data: object) => void): this;
public on(event: 'unknownPacket', listener: (packet: object) => void): this;
public on(event: 'warn', listener: (warn: string) => void): this;
public on(event: string, listener: Function): this;
public once(event: 'ready', listener: (packet: object) => void): this;
public once(event: 'sessionDescription', listener: (encryptionMode: string, secretKey: SecretKey) => void): this;
public once(event: 'speaking', listener: (data: object) => void): this;
public once(event: 'startSpeaking', listener: (data: object) => void): this;
public once(event: 'unknownPacket', listener: (packet: object) => void): this;
public once(event: 'warn', listener: (warn: string) => void): this;
public once(event: string, listener: Function): this;