#javascript
Вопрос:
Итак, я создавал бота для своего сервера Discord. И я получил эту ошибку. Пожалуйста, помните, что я любитель :). Заранее спасибо, ценю это^^.
const config = require('../config.js');
module.exports = message => {
let client = message.client;
if (message.author.bot) return;
if (!message.content.startsWith(config.prefix)) return;
let command = message.content.split(' ')[0].slice(config.prefix.length);
let params = message.content.split(' ').slice(1);
let cmd;
if (client.commands.has(command)) {
cmd = client.commands.get(command);
} else if (client.aliases.has(command)) {
cmd = client.commands.get(client.aliases.get(command));
};
if (cmd) {
if(!message.guild) {
if(cmd.config.guildOnly === true) {
return;
};
};
if (cmd.config.permLevel) {
if(cmd.config.permLevel === "BOT_OWNER") {
if(!config.geliştiriciler.includes(message.author.id)) {
message.channel.send(`Bu komutu kullanabilmek için `${cmd.config.permLevel}` yetkisine sahip olmalısın.`).then(msg => msg.delete({timeout: 3000}));
return;
}
}
if(!message.member.hasPermission(cmd.config.permLevel)) {
message.channel.send(`Bu komutu kullanabilmek için `${cmd.config.permLevel}` yetkisine sahip olmalısın.`).then(msg => msg.delete({timeout: 3000}));
return;
};
};
cmd.run(client, message, params);
};
};
Комментарии:
1. В зависимости от того, какая строка выдает ошибку, либо
client.commands
илиclient.aliases
естьundefined
.2. Это должно быть «клиент.команды».
Ответ №1:
Добавьте некоторые логические значения для проверки, не определен ли client.commands/client.aliases.
if (client.commands amp;amp; client.commands.has(command)) {
cmd = client.commands.get(command);
} else if (client.aliases amp;amp; client.aliases.has(command)) {
cmd = client.commands.get(client.aliases.get(command));
};
Комментарии:
1. Похоже, это сработало! Никаких ошибок на консоли. Спасибо^^
2. Я рад помочь.
Ответ №2:
В строке № 7, пожалуйста, попробуйте это
const cmd =
message.client.commands.get(command) ||
message.client.commands.find(
(cmd) => cmd.aliases amp;amp; cmd.aliases.includes(command) // if you're also using aliases
);
if (!command) return;
Комментарии:
1. Ошибка ссылки: cmd не определен, с этого момента я получил эту ошибку, поэтому извините, если я делаю что-то не так. Как я уже сказал, я новичок
2. Здесь все новички, братан. Я просто попросил вместо let cmd, пожалуйста, попробуйте использовать предоставленный мной код. Не уверен, что это сработает, но вы можете попробовать. Также console.log(cmd), чтобы проверить, что вы на самом деле получаете.