无法获取Discord.js在命令中提及User



好吧,所以我正在为Discord.js v13制作一个d100斜杠命令,这个应用程序工作得几乎完美,我尝试了一些事情,但遇到了瓶颈。机器人给出未修改的用户名,没有提及和忽略昵称,而不是昵称。

这是我最接近我的目标(一个@提到昵称的命令)

//Remember to run " node deploy-commands.js " to register your commands!

const { SlashCommandBuilder } = require('@discordjs/builders');

module.exports = {
data: new SlashCommandBuilder()
.setName('100')
.setDescription('rolls a 100'),
async execute(interaction) {
await interaction.reply(`${interaction.user.username} rolled ${Math.round(Math.random() *100 )}`);
},
};

请忽略顶部的node命令,我在为斜杠命令添加新命令时往往会忘记添加node。

尝试更改${interaction.user.username}对于昵称,提及等导致:

undefined rolled 44
undefined rolled 55
etc

而不是用户名或@mention

在几个选项上,我得到了返回:

function userMention(userId) {
return <@${userId}>;
} rolled 5

如果有人能给我任何提示,我会很感激,我很确定是${interaction.user.username}这是我的问题。

您正在尝试使用无效的${interaction.user.username},并且总是会给您undefined,因此要提到某人,您必须使用interaction.member.user和用户名:interaction.member.user.username(docs)

相关内容

  • 没有找到相关文章

最新更新