簡體   English   中英

如何使用 Discord.js v14 更改用戶昵稱

[英]How do I change a users nick name using Discord.js v14

我正在使用以下代碼來注冊斜杠命令:

const nick = new SlashCommandBuilder()
  .setName('nick')
  .setDescription('Change the nickname of a user')
  .setDefaultMemberPermissions(PermissionFlagsBits.ChangeNickname)
  .addUserOption((option) =>
    option
      .setName('user')
      .setDescription('The user to change the nickname')
      .setRequired(true),
  )
  .addStringOption((option) =>
    option.setName('nickname').setDescription('New nickname for the user'),
  );

邏輯:

client.on('interactionCreate', (interaction) =>{
  if (interaction.commandName === 'nick') {
    const user = interaction.options.getUser('user');
    const name = interaction.options.getString('nickname');
    user.setNickname(name);
  }
});

這給了我以下錯誤:

   user.setNickname(name)
         ^

TypeError: user.setNickname is not a function

這是因為interaction.user是一個User ,而不是一個GuildMember並且只有成員有setNickname()方法。

您應該獲取成員而不是用戶。 嘗試這樣的事情:

const member = await interaction.options.getMember('user')
user.setNickname(name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM