diff --git a/src/models/client.ts b/src/models/client.ts index 6c8b872..83846cd 100644 --- a/src/models/client.ts +++ b/src/models/client.ts @@ -291,10 +291,9 @@ export class Client extends HarmonyEventEmitter { * @param intents Gateway intents in array. This is required if not given in ClientOptions. */ async connect(token?: string, intents?: GatewayIntents[]): Promise { - if (token === undefined && this.token !== undefined) token = this.token - else if (this.token === undefined && token !== undefined) { - this.token = token - } else throw new Error('No Token Provided') + token ??= this.token + if (token === undefined) throw new Error('No Token Provided') + this.token = token if (intents !== undefined && this.intents !== undefined) { this.debug( 'client', diff --git a/src/utils/bitfield.ts b/src/utils/bitfield.ts index 9ca4c0b..eb7a67c 100644 --- a/src/utils/bitfield.ts +++ b/src/utils/bitfield.ts @@ -27,7 +27,8 @@ export class BitField { has(bit: BitFieldResolvable, ...args: any[]): boolean { if (Array.isArray(bit)) return (bit.every as any)((p: any) => this.has(p)) - return (this.bitfield & BitField.resolve(this.flags, bit)) === bit + bit = BitField.resolve(this.flags, bit) + return (this.bitfield & bit) === bit } missing(bits: any, ...hasParams: any[]): string[] {