Ошибка типа: не удается прочитать свойство ‘setChannel’ неопределенного

#javascript #node.js

#javascript #node.js

Вопрос:

У меня есть бот, который должен перемещать участников в VC, но я получаю эту ошибку TypeError:

Не удается прочитать свойство setChannel неопределенного полная ошибка (узел: 3096) Предупреждение об устаревании: Коллекция #найти: передать функцию вместо (узел: 3096) Предупреждение о необработанном promiserejectionwarning: ошибка типа: не удается прочитать свойство ‘setChannel’ неопределенного в C:UsersmarsDesktopDiscordBotindex.js:30:20 в processTicksAndRejections (internal/process/task_queues.js:97:5) (узел:3096) Предупреждение о необработанном promiserejectionwarning: отклонение необработанного обещания. Эта ошибка возникла либо из-за ввода внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch() . Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI --unhandled-rejections=strict (см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (идентификатор отклонения: 1) (узел: 3096) [DEP0018] Предупреждение об устаревании: необработанные отклонения обещаний не рекомендуются. В будущем отклонения обещаний, которые не обрабатываются, завершат Node.js процесс с ненулевым кодом выхода.

Текущий код, который у меня есть

 require('dotenv').config();
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.login("TOKEN");

bot.on('ready', () => {
  console.info(`Logged in as ${bot.user.tag}!`);
});

function IDmaker(mention) {
  const ID = mention.replace(/[\<>@#amp;!]/g, "");
  console.info(ID)
  return bot.users.get(ID);
}
bot.on("message", async message => {
  if (message.channel.id === '804144074902470666') {
    const args = message.content.slice(message.length).trim().split(' ');
    const command = args.shift().toLowerCase();
    const member = IDmaker(args[0]);
    console.info(member)
    message.guild.createChannel(`ticket-${message.author.id}`, {
      type: 'voice'
    }).then(c => {
      let role2 = message.guild.roles.find("name", "@everyone");
      c.overwritePermissions(role2, {
        SEND_MESSAGES: false,
        READ_MESSAGES: false
      });
      member.voice.setChannel(c)
    })
  }
});
 

Комментарии:

1. member является пользователем. voice Свойство существует в классе GuildMember

2. Что такое console.info(member) печать?

3. Он выводит пользователя {id: ‘572570660417830912’, имя пользователя: ‘YOMMOMA’, дискриминатор: ‘9015’, аватар: ’39a055554c150d6d88085f35ffd4fe7d’, бот: false, lastMessageID: null, lastMessage: null }