如何在Discord.js v14中实现可点击触发指令的斜杠命令文本
在Discord.js v14实现可点击触发的斜杠命令提及
要生成真正可点击触发的斜杠命令文本,核心是使用目标斜杠命令的真实ID,而非占位符0。以下是具体实现方法:
方法1:使用内置ApplicationCommandMention类
Discord.js v14提供了专门类生成合法命令提及:
const { ApplicationCommandMention } = require('discord.js'); // 替换为目标命令的真实ID、名称和类型 const commandId = '123456789012345678'; const commandName = 'ping'; const commandType = 1; // 1=斜杠命令,2=用户命令,3=消息命令 // 生成可点击提及文本 const clickableCommand = new ApplicationCommandMention(commandId, commandType, commandName); // 发送到频道 channel.send(`点击触发命令:${clickableCommand}`);
方法2:手动构造提及格式
直接按Discord规范拼接格式,需确保命令ID真实有效:
// 获取目标命令(全局命令示例) const command = await client.application.commands.fetch('123456789012345678'); // 构造可点击文本 const clickableText = `</${command.name}:${command.id}>`; // 发送消息 channel.send(`请点击执行:${clickableText}`);
获取命令ID的方式
- 注册命令时:
client.application.commands.create()返回的命令对象包含id属性; - 查询已存在命令:使用
client.application.commands.fetch()(全局命令)或guild.commands.fetch()(服务器专属命令)获取。
注意:</text_here:0>无功能是因为Discord无法识别无效ID,必须替换为对应命令的真实ID才能实现点击触发。
内容的提问来源于stack exchange,提问作者SadSenpai
相关产品推荐
相关产品推荐

