You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Discord音乐机器人queue命令的输出消息改为代码块格式

解决方案

修改后的完整代码

module.exports = {
    name: 'queue',
    aliases: ['q'],
    category: 'Music',
    utilisation: '{prefix}queue',

    execute(client, message) {
        const queue = client.player.getQueue(message);
        // 组装队列列表内容
        const queueList = queue.tracks.map((track, i) => {
            return `${i + 1}) ${track.author} - ${track.title} | ${track.requestedBy.username}`
        }).slice(0, 10).join('\n');
        // 拼接带代码块标记的完整消息
        const sendContent = `\`\`\`
${queue.loopMode ? '(looped)' : ''}
Current: ${queue.playing.author} | ${queue.playing.title}

${queueList}

${queue.tracks.length > 10 ? `And ${queue.tracks.length - 10} more track(s)` : `This is the end of the queue!`}
\`\`\``;
        
        message.channel.send(sendContent);
    },
};

修改说明

  • Discord代码块需要用三个反引号```包裹全部内容,由于JS模板字符串本身用反引号声明,所以内部的反引号需要加\转义,避免语法冲突
  • 移除了原代码中的**、__等富文本标记:代码块内不会解析Discord Markdown格式,保留这些标记会直接将符号显示在消息中,影响可读性
  • 拆分了内容拼接逻辑,替换原硬编码换行符为标准\n,避免不同环境下换行失效问题
  • 如果你需要代码块带语法高亮效果,可以在开头的三个反引号后添加标识,比如text或者diff,展示效果会更清晰

内容的提问来源于stack exchange,提问作者El Meron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:42:03