diff --git a/src/test/index.ts b/src/test/index.ts index d68e245..e1321a7 100644 --- a/src/test/index.ts +++ b/src/test/index.ts @@ -219,6 +219,14 @@ client.on('messageCreate', async (msg: Message) => { console.log(role) }) } + } else if (msg.content === '!createAndAddRole') { + if (msg.guild !== undefined) { + const role = await msg.guild.roles.create({ + name: 'asdf', + permissions: 0 + }) + await msg.member?.roles.add(role) + } } }) diff --git a/src/utils/bitfield.ts b/src/utils/bitfield.ts index cb8a93c..9e77396 100644 --- a/src/utils/bitfield.ts +++ b/src/utils/bitfield.ts @@ -14,7 +14,10 @@ export class BitField { #flags: { [name: string]: number | bigint } = {} bitfield: bigint - constructor(flags: { [name: string]: number | bigint }, bits: any) { + constructor( + flags: { [name: string]: number | bigint }, + bits: BitFieldResolvable + ) { this.#flags = flags this.bitfield = BitField.resolve(this.#flags, bits) } @@ -105,7 +108,7 @@ export class BitField { if (Array.isArray(bit)) return (bit.map as any)((p: any) => this.resolve(flags, p)).reduce( (prev: bigint, p: bigint) => prev | p, - 0 + 0n ) if (typeof bit === 'string' && typeof flags[bit] !== 'undefined') return BigInt(flags[bit])