Discord JS自我昵称命令

Posted

技术标签:

【中文标题】Discord JS自我昵称命令【英文标题】:Discord JS self nickname command 【发布时间】:2021-03-11 07:17:15 【问题描述】:

大家好,我正在尝试创建自我角色和昵称更改命令,但它不起作用我不知道问题出在哪里我获得了角色但名称没有改变有人可以告诉我我的代码有什么问题

client.on('message', (message,member )=> 
  
  if (message.content.toLowerCase() === '*Test') 
    
     if(!message.channel.guild) return;
  message.member.addRole(message.guild.roles.find(role => role.name === "Test"));
     let member = message.member; //message.guild.members.cache.get(user.id);
    
     let nick = "[PRO] "
//  message.guild.member(r=>r.setNickname(nick + r.user.username));
            member.setNickname(nick + member.user.username);

 
 );

【问题讨论】:

【参考方案1】:

设置 Discord 昵称。您可以使用 message.member.setNickname("new member") 。 例如: 如果你想创建 #setnick [nickname][nickname] 是你的参数。 您可以将此示例与role 一起用于成员

client.on('message', async message => 
  let messageArray = message.content.split(" ");
  let args = messageArray.slice(1);
  var argresult = message.content.split(` `).slice(1).join(' ');

  if(message.channel.type === "dm" || message.author.bot) return;

  if(message.content.toLowerCase().startsWith('#setnick')) 

    if(!message.guild.me.hasPermission('MANAGE_NICKNAMES')) return message.reply('I dont have Permission to do this action.!');

    try 
      if(!args[0]) 
        message.member.setNickname(message.author.username)
       else 
        message.member.setNickname(argresult, "Member wants to change nickname")
      
     catch(error) 
      return console.error('[ SET_NICKNAME ] Error')
    
  

)

【讨论】:

它不起作用我希望任何人都可以使用命令获取角色并且他的名称更改分配角色很好,但更改昵称不起作用:(

以上是关于Discord JS自我昵称命令的主要内容,如果未能解决你的问题,请参考以下文章

在 discord.js 中更改关注者的昵称

无法让 Discord.js 在命令中提及用户

Discord.js 通过昵称获取用户

discord.js 更改服务器所有者的昵称

Discord.js如何使用用户ID获取用户昵称

更改用户昵称的命令 Discord