我正在制作一个命令,当你做 -komanda 时,它会随机给你百分比。我只是不能说如果没有人提到某人并且没有给我一个未定义的 90%。这是我的代码:
const BaseCommand = require('../../utils/structures/BaseCommand');
const Discord = require('discord.js');
module.exports = class SayCommand extends BaseCommand {
constructor() {
super('komanda', 'fun', []);
}
async run(client, message, args) {
var rating = Math.floor(Math.random() * 100) + 1;
let mention = message.mentions.users.first()
const mentionedMember = message.mentions.members.first();
const messageToSay = args.join(" ");
const sayEmbed = new Discord.MessageEmbed()
message.channel.send(`${mention} je \xa0${rating}%\xa0\ bad man`)
try {
} catch (err) {
console.log(err);
message.channel.send("JA ZIVKOVIC SLOBODAN NE SMEM TO DA KAZEM");
}
}
}
当我执行 -komanda @USER 时,它会显示: @USER je 90% 坏人 但如果我不提及任何人,它会说未定义
答案 0 :(得分:2)
如果您想在没有提及任何用户时输出警告,只需检查 mention
是否为 truthy:
if (!mention) return // ...
例如,在您的代码中:
let rating = Math.floor(Math.random() * 100) + 1;
let mention = message.mentions.users.first();
if (!mention) return message.channel.send("Please mention a user!");
message.channel.send(`${mention} je \xa0${rating}%\xa0\ bad man`);
答案 1 :(得分:0)
在 <channel>.send(...)
之前检查是否有提及:
if (!mention) return message.channel.send("Please mention");