【问题标题】:How to use syntax highlighting for code Blocks for Bot in discord.js (v13)?如何在 discord.js (v13) 中为 Bot 代码块使用语法高亮显示?
【发布时间】:2021-11-13 07:28:04
【问题描述】:

我正在尝试使用机器人在 discord 中访问终端。该命令的代码是:

const { Client, Message, MessageEmbed } = require("discord.js");
const child = require("child_process");

module.exports = {
  name: "terminal",
  /**
   * @param {Client} client
   * @param {Message} message
   * @param {String[]} args
   */
  run: async (client, message, args) => {
    if (message.author.id !== "") return;

    const command = args.join(" ");

    const errorCommand = new MessageEmbed();

    errorCommand
      .setColor("RED")
      .setDescription("Please specify a command to execute");

    if (!command) return message.reply({ embeds: [errorCommand] });

    child.exec(command, (err, res) => {
      if (err) return console.log(err);
      message.channel.send(` \`\`\`${res.slice(0, 2000)}\`\`\` `, {
        code: "js",
      });
    });
  },
};

当我运行命令时,代码块中不显示语法突出显示。我附上了我的意思的图片。

Image 1

Image 2

【问题讨论】:

    标签: javascript discord discord.js bots


    【解决方案1】:

    我找到了答案。很抱歉给您带来不便,如果有人需要答案,那就是:

    const { Client, Message, MessageEmbed } = require("discord.js");
    const child = require("child_process");
    
    module.exports = {
      name: "terminal",
      /**
       * @param {Client} client
       * @param {Message} message
       * @param {String[]} args
       */
      run: async (client, message, args) => {
        if (message.author.id !== "") return;
    
        const command = args.join(" ");
    
        const errorCommand = new MessageEmbed();
    
        errorCommand
          .setColor("RED")
          .setDescription("Please specify a command to execute");
    
        if (!command) return message.reply({ embeds: [errorCommand] });
    
        child.exec(command, (err, res) => {
          if (err) return console.log(err);
          const jsString = "const value = true;";
    
          message.channel.send(` \`\`\`js\n${res.slice(0, 2000)}\`\`\` `);
        });
      },
    };
    

    如果您想使用另一种语言语法突出显示,您可以将此处的message.channel.send(` \`\`\`js\n${res.slice(0, 2000)}\`\`\` `);js 替换为您的偏好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2011-02-03
      • 2015-09-28
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多