如何使命令首先提到ID为“973182673306660885”的角色

disbfnqx  于 2022-10-22  发布在  Java
关注(0)|答案(2)|浏览(138)

我尝试了下面的方法,但我得到了错误:“msg.montions.users.first.addRole不是函数”

let BotBanRole = msg.guild.roles.cache.find(r => r.id === "973182673306660885");
  const FMT = msg.mentions.users.first();

if (msg.content.startsWith('$BotBan')) {
    if (FMT === undefined) {
      msg.reply('Did not detect user')
    return; // Do not proceed, there is no user.
  }
  const FM = FMT.username;
  // Do stuff with the username
    msg.mentions.users.first.addRole(BotBanRole);
    msg.reply('Bot Banned ' + FM.tag)
}
nzk0hqpo

nzk0hqpo1#

你很接近,试试看。

const BotBanRole = msg.guild.roles.cache.find(r => r.id === "973182673306660885");
const FMT = msg.mentions.members.first();

if (msg.content.startsWith('$BotBan')) {
    if (!FMT) {
        msg.reply('Did not detect user')
        return;
    } else {
        FMT.roles.add(BotBanRole);
        msg.reply(`Bot Banned ${FMT.user.username}`)
    }
}
9bfwbjaz

9bfwbjaz2#

let BotBanRole = msg.guild.roles.cache.get("973182673306660885");
const FMT = msg.mentions.members.first();

if (msg.content.startsWith('$BotBan')) {
    if (!msg.mentions.members.first()) {
      msg.reply('Did not detect user')
    return; // Do not proceed, there is no user.
  }
  const FM = FMT.user;
  // Do stuff with the username
    FMT.roles.add(BotBanRole);
    msg.reply('Bot Banned ' + FM.tag)
}

我编辑了你的代码,如果是v13,它的工作原理是这样的。

相关问题