Задать вопрос
Pangsit
@Pangsit
Пытаюсь что-то кодить так сказать

(node:17032) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'database' of undefined?

Привет
Попытка сделать команды "ban" для бота,
но выдает ошибку
spoiler
"(node:17032) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'database' of undefined"

Вообще не понимаю в чем дело
Вот код ban
spoiler
module.exports = {
    name: "ban",
    usage: "ban <user>",
    async execute(message, args , bot) {
        const target = message.mentions.users.first() ? message.mentions.users.first().id : args[2];
        await bot.database.ban(target, "user", "Admin ban");
        bot.banCache.user.push(target);
        message.channel.send(`<@${target}> has been banned!`);
    }
};

Я новичок в этом деле,просьба помочь.Не нужно,да и не кто не будет предоставлять рабочий код.
Просьба объяснить самым простым языком(для тупых(меня)),каким только сможете.
То что database в этот период undefined мне тоже не нужно говорить,тут проблема в коде,а я не понимаю где.
Спасибо
  • Вопрос задан
  • 987 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
61re
@61re
dev.
Это значит, что в коллбэке execute у аргумента bot нет свойства database.
К тому же коллбэк выполняется без обработчика исключений.

Для начала нужно выяснить, что содержит аргумент bot в консоли сервера.
module.exports = {
    name: "ban",
    usage: "ban <user>",
    async execute(message, args , bot) {
        console.log("ban", bot);
        const target = message.mentions.users.first() ? message.mentions.users.first().id : args[2];
        await bot.database.ban(target, "user", "Admin ban");
        bot.banCache.user.push(target);
        message.channel.send(`<@${target}> has been banned!`);
    }
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы