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

如何编辑Discord.js嵌入消息并在同一代码块保留新增文本?

问题

我使用Discord.js编辑嵌入消息时编写了以下代码:

nicembed1.data.fields[1].value = '[-] Accessing Pathway...';
// Update the message using the edited original embed
msg1.edit({ embeds: [nicembed1] });

nicembed1.data.fields[1].value = '[-] Accessing Pathway 2...';
// Update the message using the edited original embed
msg1.edit({ embeds: [nicembed1] });

目前两次更新的内容会显示为两个独立的Discord代码块,我希望它们能显示在同一个代码块中,格式如下:

[-] Accessing Pathway...
[-] Accessing Pathway 2...

即内容在同一代码块内换行展示,而非分成两个独立代码块。

解决方案

你当前的写法是直接覆盖fields[1].value的内容,每次更新都会替换成新的单行文本,因此会生成独立的代码块。要实现同一代码块内的换行效果,需要保留代码块格式并追加内容,而非直接替换。

分步追加写法

适合需要逐步更新内容的场景:

// 初始化代码块并写入第一行内容
nicembed1.data.fields[1].value = '```\n[-] Accessing Pathway...';
msg1.edit({ embeds: [nicembed1] });

// 追加第二行内容并闭合代码块
nicembed1.data.fields[1].value += '\n[-] Accessing Pathway 2...\n```';
msg1.edit({ embeds: [nicembed1] });

数组整合写法

适合内容较多或需要动态管理行的场景:

// 存储所有要显示的日志行
const logContent = [
  '[-] Accessing Pathway...',
  '[-] Accessing Pathway 2...'
];

// 生成完整的代码块内容
nicembed1.data.fields[1].value = `\`\`\`\n${logContent.join('\n')}\n\`\`\``;
msg1.edit({ embeds: [nicembed1] });

如果后续需要添加新行,只需往logContent数组中push新元素,再重新生成代码块内容并调用edit即可。

内容的提问来源于stack exchange,提问作者Andrew Lea

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:30:00