#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
Свойство существует в классе GuildMember2. Что такое
console.info(member)
печать?3. Он выводит пользователя {id: ‘572570660417830912’, имя пользователя: ‘YOMMOMA’, дискриминатор: ‘9015’, аватар: ’39a055554c150d6d88085f35ffd4fe7d’, бот: false, lastMessageID: null, lastMessage: null }