diff --git a/src/test/index.ts b/src/test/index.ts index 1d3d7d9..d68e245 100644 --- a/src/test/index.ts +++ b/src/test/index.ts @@ -211,6 +211,14 @@ client.on('messageCreate', async (msg: Message) => { msg.member as Member ) msg.channel.send(`Your permissions:\n${permissions.toArray().join('\n')}`) + } else if (msg.content === '!addAllRoles') { + const roles = await msg.guild?.roles.array() + if (roles !== undefined) { + roles.forEach(async (role) => { + await msg.member?.roles.add(role) + console.log(role) + }) + } } }) diff --git a/src/utils/bitfield.ts b/src/utils/bitfield.ts index 8631f1f..cb8a93c 100644 --- a/src/utils/bitfield.ts +++ b/src/utils/bitfield.ts @@ -104,11 +104,11 @@ export class BitField { if (bit instanceof BitField) return this.resolve(flags, bit.bitfield) if (Array.isArray(bit)) return (bit.map as any)((p: any) => this.resolve(flags, p)).reduce( - (prev: any, p: any) => prev | p, + (prev: bigint, p: bigint) => prev | p, 0 ) if (typeof bit === 'string' && typeof flags[bit] !== 'undefined') - return flags[bit] + return BigInt(flags[bit]) const error = new RangeError('BITFIELD_INVALID') throw error }