Discord.js(TypeScript)中用户提及无通知高亮问题求助
问题描述
近期我在使用Discord.js结合TypeScript进行测试,想要实现一个能@并提醒用户的简单命令,但目前仅能生成可点击的用户提及,无法触发消息高亮与用户通知。我尝试直接通过Discord ID提及用户,结果依旧如此。调试代码如下:
run: async (client: Client, interaction: CommandInteraction) => { const content = `${interaction.member?.user}`; await interaction.followUp({ content }); }
解决方法
- 使用Discord标准提及格式:Discord的有效通知提及必须遵循
<@用户ID>的格式,直接拼接User对象只会输出用户名#标签格式的文本,无法触发通知。 - 提取用户ID生成有效提及:从
interaction.member?.user中获取id字段,再拼接成标准格式即可触发通知。
修改后的代码示例:
run: async (client: Client, interaction: CommandInteraction) => { const userId = interaction.member?.user.id; const content = userId ? `<@${userId}>` : '无法获取用户信息'; await interaction.followUp({ content }); }
- 补充说明:
- 若需要提及角色,格式为
<@&角色ID>;提及频道则用<#频道ID>,遵循对应格式就能触发相应的通知和高亮。
- 若需要提及角色,格式为
内容的提问来源于stack exchange,提问作者Filec
相关产品推荐
相关产品推荐

