繁体   English   中英

所以如果提到的用户已经有一个角色,我想让我的机器人做一个像 return 这样的回调

[英]So i want to make my bot do a callback like return if the mentioned user already has a role

如果提到的用户已经具有指定的角色,我需要帮助让我的机器人做某事我收到一个错误,它可以定义 get 并且它不会执行我的 if 语句我的代码在这里

module.exports = {
name: 'jail',
description: "This command mutes a member a member!",
execute(message, args, Discord) {
    let target = message.mentions.users.first();
    let memberTarget = message.guild.members.cache.get(target.id);
    let test = GuildMember.roles.get(role => role.name === 'Jailed')





    if (message.author.id === memberTarget.id) {
        message.reply('You cant jail yourself dummy'); return;
    } else {

    }


    if (memberTarget === test) {
        message.channel.send('e'); return;
    } else {
      message.channel.send('jailed user')
    }
    
 }

主要问题在这里

    if (memberTarget === test) {
        message.channel.send('e'); return;
    } else {
      message.channel.send('jailed user')
    }
    

任何帮助都很棒

笔记。 调试器没有说错,但是当我执行命令执行错误时,我的机器人会关闭,因为它可以定义 get

我的问题是我无法获得角色并执行我的 if 语句

module.exports = {
name: 'jail',
description: "This command mutes a member a member!",
execute(message, args, Discord) {
    let target = message.mentions.users.first();
    let test = message.guild.roles.cache.find(role => role.name === 'Jailed');


    if (message.author.id === target.id) {
      return message.reply('You cant jail yourself dummy');
    } 

    if (message.guild.member(target).roles.cache.some(role => role.name === test.name)) {
      return message.channel.send('e');
    } else {
      message.guild.member(target).roles.add(test);
      message.channel.send('jailed user')
    }
    
 }

我对您的代码进行了一些更改。 我删除memberTarget ,因为在这种情况下target就足够了。 test在当前公会中找到Jailed角色。 在我们询问target是否已经具有角色的 if 语句中,我使用GuildMember Object 作为target .some()返回truefalse 因此它在 GuildMember Object 的target中搜索Jailed角色 ( test.name )。 如果在 Object 上找到它,则返回true并进入语句。 否则它转到else , GuildMember target被添加到角色Jailed ( test )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM