无法让 Discord.js 在命令中提及用户
Cannot Get Discord.js to Mention User in Command
好的,所以我正在为 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 )}`);
},
};
请忽略顶部的节点命令我在为斜杠命令添加新命令时往往会忘记节点。
尝试更改 ${interaction.user.username} 的昵称、提及等会导致:
undefined rolled 44
undefined rolled 55
etc
而不是用户名或@mention
在几个选项中我得到了 return:
function userMention(userId) {
return <@${userId}>;
} rolled 5
如果有人能给我任何提示,我将不胜感激我很确定 ${interaction.user.username} 这是我的问题。
您正在尝试使用 ${interaction.user.username}
,这是无效的并且总是会给您 undefined
,因此提及某人您必须使用 interaction.member.user
并且用户名:interaction.member.user.username
(docs)
好的,所以我正在为 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 )}`);
},
};
请忽略顶部的节点命令我在为斜杠命令添加新命令时往往会忘记节点。
尝试更改 ${interaction.user.username} 的昵称、提及等会导致:
undefined rolled 44
undefined rolled 55
etc
而不是用户名或@mention
在几个选项中我得到了 return:
function userMention(userId) {
return <@${userId}>;
} rolled 5
如果有人能给我任何提示,我将不胜感激我很确定 ${interaction.user.username} 这是我的问题。
您正在尝试使用 ${interaction.user.username}
,这是无效的并且总是会给您 undefined
,因此提及某人您必须使用 interaction.member.user
并且用户名:interaction.member.user.username
(docs)