Я пытаюсь преобразовать мой старый бог разницы с узла js 6.xx на 8.xx, я также помещаю команды в отдельную папку, чтобы сделать ее более чистым, команда работает на моем старом боте, но не с этим ботом, я получить
UnhandledPromiseRejectionWarning: отказ от необработанного обещания (идентификатор отклонения: 1): TypeError: невозможно прочитать свойство 'id' из null
ОБНОВЛЕННЫЙ КОД ВСЕ ЕЩЕ ВОЗВРАЩАЕТ ЖЕ:
var settings = '../settingsConfig/settings.json';
var file = require(settings)
const SteamTotp = require('steam-totp');
const Discord = require('discord.js');
const configS = require('../settingsConfig/ConfigSammy.json');
const configJ = require('../settingsConfig/ConfigJack.json');
const configB = require('../settingsConfig/ConfigBen.json');
module.exports.run = async (bot, message, args) => {
function myFunc(){
var JackCode = SteamTotp.getAuthCode(configJ.sharedSecret);
var BenCode = SteamTotp.getAuthCode(configB.sharedSecret);
var SammyCode = SteamTotp.getAuthCode(configS.sharedSecret);
var codess = new Discord.RichEmbed()
.addField("__**Bens Code:**__", BenCode)
.addField("__**Jacks Code:**__", JackCode)
.addField("__**Sammys Code:**__", SammyCode)
.setColor(0x00FF00)
message.author.send(codess)
}
new myFunc();
};
module.exports.help = {
name: "codes"
}
Похоже, ошибка возникает из-за отсутствия message.guild
, там для вызова message.guild.id
ошибка
Причина, по которой вы получаете эту конкретную ошибку, заключается в том, что вы используете ключевое слово async
, что в основном означает, что вы используете обещание, но вы не предоставляете метод отклонения для него, следовательно UnhandledPromiseRejectionWarning
run
и затем используете ее как конструктор функции . Использованиеasync
даже не задумываясь о возможных последствиях, просто приводит к ошибкам, которые вы доказали, а также ничего не знаете о JS. Указанная причина отказа не может быть получена из предоставленного кода, так как там не используется.id
.