首页 > 解决方案 > 如何将此消息更改为代码块消息?

问题描述

我想将此部分更改为代码块消息

message.channel.send(`${client.player.getQueue(message).loopMode ? '(looped)' : ''}\nCurrent: **__${queue.playing.author} | ${queue.playing.title}__** \n\n` + (queue.tracks.map((track, i) => {
            return `**${i + 1})** ${track.author} - ${track.title} | ${track.requestedBy.username}`
        }).slice(0, 10).join('\n') + `\n\n${queue.tracks.length > 10 ? `And **${queue.tracks.length - 10}** more track(s)` : `   **This is the end of the queue!**`}`));

我试过了,但它不工作

这是完整的代码

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

    execute(client, message) {

        const queue = client.player.getQueue(message);

        message.channel.send(`${client.player.getQueue(message).loopMode ? '(looped)' : ''}\nCurrent: **__${queue.playing.author} | ${queue.playing.title}__** \n\n` + (queue.tracks.map((track, i) => {
            return `**${i + 1})** ${track.author} - ${track.title} | ${track.requestedBy.username}`
        }).slice(0, 10).join('\n') + `\n\n${queue.tracks.length > 10 ? `And **${queue.tracks.length - 10}** more track(s)` : `   **This is the end of the queue!**`}`));
    },
};

标签: javascriptnode.jsdiscorddiscord.js

解决方案


由于代码块必须使用triple `,您可以像往常一样将它们添加到开头和结尾,但用反斜杠转义它们,这样您的普通字符串模板就不会提前结束:

message.channel.send(`\`\`\`${client.player.getQueue(message).loopMode ? '(looped)' : ''}\nCurrent: **__${queue.playing.author} | ${queue.playing.title}__** \n\n` + (queue.tracks.map((track, i) => {
            return `**${i + 1})** ${track.author} - ${track.title} | ${track.requestedBy.username}`
        }).slice(0, 10).join('\n') + `\n\n${queue.tracks.length > 10 ? `And **${queue.tracks.length - 10}** more track(s)` : `   **This is the end of the queue!**`}\`\`\``));

推荐阅读