im trying to create bot that move users when they react in message create channel and move the user to the channel that was created
, err = Cannot read property 'setChannel' of undefined
if(reaction.message.id == ticketid && reaction.emoji.name == '🔊') { reaction.users.remove(user); if(reaction.message.guild.channels.cache.find(channel => channel.name === `🔊 | ${user.username}`)) { return user.send('> ❕ | *you already **have** a channel*.!'); } catagore = reaction.message.guild.channels.cache.find(channel => channel.name === "🔊 | react to create") const createdChannel = await reaction.message.guild.channels.create(`🔊 | ${user.username}`, { type: 'voice', parent: catagore.id, }) console.log(createdChannel.id) const { id } = createdChannel; const mem = user.id mem.voice.setChannel(createdChannel.id) .then(() => console.log(`Moved ${mem.displayName} to ${createdChannel}`)) .catch(console.error);
Advertisement
Answer
You need a GuildMember to access their voice state.
Your mem
variable is wrong so, you need to get the member instead.
reaction.message.guild.members.fetch(user.id).then(member => { member.voice.setChannel(createdChannel.id).then(() => console.log(`Moved ${mem.displayName} to ${createdChannel}`)) .catch(console.error); });