I'm trying to create a Discord bot with Discord.js (version 14.3.0) that creates a voice channel in a given server. Here is the relevant code:
if (message.content.includes("test")) {
let microphoneAccess = await message.guild.roles.create({
name: 'Microphone',
permissions: [PermissionsBitField.Flags.CONNECT],
hoist: true
});
message.guild.channels.create({
name: 'test',
type: "GUILD_VOICE",
permissionOverwrites:
[
{
id: microphoneAccess,
allow: [PermissionsBitField.Flags.CONNECT],
}
],
});
}
I get a runtime error in my bot after I enter "test" into my Discord server chat:
node:events:491
throw er; // Unhandled 'error' event
^
RangeError [BitFieldInvalid]: Invalid bitfield flag or number: undefined.
at Function.resolve (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\util\BitField.js:168:11)
at C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\util\BitField.js:163:54
at Array.map (<anonymous>)
at Function.resolve (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\util\BitField.js:163:40)
at new BitField (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\util\BitField.js:33:38)
at new PermissionsBitField (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\util\PermissionsBitFie
ld.js:12:1)
at RoleManager.create (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\managers\RoleManager.js:140
:59)
at Client.<anonymous> (C:\Users\alex_000\IdeaProjects\theradmusicbot\app.js:44:62)
at Client.emit (node:events:513:28)
at MessageCreateAction.handle (C:\Users\alex_000\IdeaProjects\theradmusicbot\node_modules\discord.js\src\client\actions\Mess
ageCreate.js:23:14)
Emitted 'error' event on Client instance at:
at emitUnhandledRejectionOrErr (node:events:394:10)
at processTicksAndRejections (node:internal/process/task_queues:85:21) {
code: 'BitFieldInvalid'
I have the PermissionsBitField set up at the top of my file:
const {PermissionsBitField} = require('discord.js');
What am I doing wrong that is causing this error? Are my PermissionsBitField statements incorrect?