discord.js 将消息作为代码块发送?

Posted

技术标签:

【中文标题】discord.js 将消息作为代码块发送?【英文标题】:discord.js Send message as code block? 【发布时间】:2017-11-01 05:14:37 【问题描述】:

我正在尝试制作一个将消息发送到我的频道的机器人,但在代码块中,因为使用 RichEmbed 不起作用。

我查看了其他一些机器人,它们会发送这样的消息

```
  Their title
    Body text blah blah
```

我想发送类似的东西,但是当我尝试时

var msg = ``` 
  Their Title
    Body text blah blah
```;

var msg = "```
  Their Title
    Body text blah blah
```";

这些不起作用。

const Discord = require("discord.js");
const bot = new Discord.Client();
const TOKEN = "MY_TOKEN_ID";

bot.on("message", function(message) 

    console.log(message.content);

    if ( message.author.equals(bot.user)) 
        return;

    message.channel.send(msg);



);

bot.login(TOKEN);

我的代码在上面,你知道如何发送代码块吗?

【问题讨论】:

在您执行var msg " " 的第二个示例中,它没有等号。是它在你的代码中的样子还是你在这个例子中忽略了它。 我只是在示例中省略了它,现在修复它。 “不起作用”不是很有帮助。你期待什么与你实际看到什么? 【参考方案1】:

你试过用这个吗?

var msg = "```Their Title\nBody text blah blah```";

\n 是一个新行,它基本上是在写入时按 ENTER 键。 之后您可以将其作为普通短信发送。

【讨论】:

谢谢这个作品,不知道你可以添加\n,以为他们会直接打印\n。【参考方案2】:
function codeblock(
    language:
        | "asciidoc"
        | "autohotkey"
        | "bash"
        | "coffeescript"
        | "cpp"
        | "cs"
        | "css"
        | "diff"
        | "fix"
        | "glsl"
        | "ini"
        | "json"
        | "md"
        | "ml"
        | "prolog"
        | "py"
        | "tex"
        | "xl"
        | "xml",
    code: string,
) 
    return `\`\`\`$language\n$code\`\`\``;

用法

const msg = codeblock("css", `
#element 
    width: 500 px;

.button 
    width: 300 px;

`);

【讨论】:

【参考方案3】:

有点奇怪,但你也可以...

msg.channel.send( 
  content: "Please send this as a code block !",
  code: "js"
);

【讨论】:

【参考方案4】:

如果有人还在寻找,你可以这样做:

const  codeBlock  = require("@discordjs/builders");

<channel>.send(codeBlock("js", 'var foo = "bar";'));

【讨论】:

以上是关于discord.js 将消息作为代码块发送?的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 代码无法发送嵌入消息 [关闭]

如何在 discord.js 代码块中对 json 对象值进行排序?

Discord.js v12 角色查询

Discord.js 使用@person 和#channel 发送消息

如何将消息发送到指定的频道 - Discord.js v13 TypeScript

Discord.js 如何使用 sqlite 快速发送消息作者