types(Message): remove & this from #inGuild typeguard (#8704)

This commit is contained in:
Suneet Tipirneni
2022-10-05 14:40:28 -04:00
committed by GitHub
parent a7eab50ee3
commit c0f7a1a89a
2 changed files with 6 additions and 1 deletions

View File

@@ -1750,7 +1750,7 @@ export class Message<InGuild extends boolean = boolean> extends Base {
public toJSON(): unknown; public toJSON(): unknown;
public toString(): string; public toString(): string;
public unpin(reason?: string): Promise<Message<InGuild>>; public unpin(reason?: string): Promise<Message<InGuild>>;
public inGuild(): this is Message<true> & this; public inGuild(): this is Message<true>;
} }
export class AttachmentBuilder { export class AttachmentBuilder {

View File

@@ -309,6 +309,11 @@ declare const assertIsMessage: (m: Promise<Message>) => void;
client.on('messageCreate', async message => { client.on('messageCreate', async message => {
const { client, channel } = message; const { client, channel } = message;
if (!message.inGuild() && message.partial) {
expectNotType<never>(message);
}
expectType<Client<true>>(client); expectType<Client<true>>(client);
assertIsMessage(channel.send('string')); assertIsMessage(channel.send('string'));
assertIsMessage(channel.send({})); assertIsMessage(channel.send({}));