Discord js 随机提及机器人

时间:2021-03-16 15:30:23

标签: javascript discord.js

我正在制作一个命令,当你做 -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% 坏人 但如果我不提及任何人,它会说未定义

2 个答案:

答案 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");