类型错误: 无法读取未定义的属性 (读取 'toLowerCase') ( 在安装时.js )



我真的对此很陌生,我有这个代码,当我在discord上执行这个命令时,它会显示类型错误:如果不在终端/控制台中显示错误日志,就无法读取未定义的属性(读取'toLowerCase'(,有人能帮我解决这个问题吗?

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.aliases = exports.category = exports.run = exports.description = exports.name = void 0;
const name = 'setup';
exports.name = name;
const description = 'Setup check bot';
exports.description = description;
const category = "Utility";
exports.category = category;
const aliases = ['s'];
exports.aliases = aliases;
const run = async (client, message, args) => {
const configcollection = client.db.get('config');
if (args[0].toLowerCase() == 'delete') {
configcollection.find({ guildId: message.guild.id }).then(docs => {
if (docs.length == 0)
return message.reply('No settings was saved');
configcollection.remove({ guildId: message.guild.id }).then(e => {
message.channel.send('Success remove settings');
}).catch(err => {
console.error(err);
message.reply('Failed remove settings');
});
});
}
else {
configcollection.find({ guildId: message.guild.id }).then(docs => {
if (docs.length != 0)
return message.reply('Settings already exist, please delete current settings');
if (!message.mentions.roles.first() && !message.mentions.channels.first())
return message.reply('Please mention channel and role');
configcollection.insert({ guildId: message.guild.id, channelId: message.mentions.channels.first().id, roleId: message.mentions.roles.first().id }).then(a => {
message.channel.send('Success saving settings');
}).catch(err => {
message.reply('Failed saving settings');
console.error(err);
});
}).catch(err => {
message.reply('Failed load data');
console.error(err);
});
}
};
exports.run = run;
//# sourceMappingURL=setup.js.map

if (args[0]?.toLowerCase() == 'delete')替换if条件

在某些情况下,args[0]是未定义的,这就是它抛出错误的原因。使用?将仅在定义args[0]时检查toLowerCase((。

相关内容

最新更新