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

Discord Image Scraper单条消息多附件未拆分存入JSON数组问题咨询

你之前使用的.join(',')方法正是导致多个链接被合并为单个字符串的原因,而.replace(',','')只能删除逗号、无法将单个字符串拆分为独立数组元素,两类操作都和你的需求相反。

代码修改方案

1. 修改scraper.js中的附件抓取逻辑

找到脚本中处理Discord消息附件的代码段,原逻辑通常是直接将单条消息的所有附件链接拼接后推入结果数组,类似如下写法:

// 原错误逻辑示例
let attachmentUrls = message.attachments.map(att => att.url).join(',')
resultList.push(attachmentUrls)

删除.join(',')拼接逻辑,改为遍历每个附件链接单独推入数组:

// 修改后逻辑
message.attachments.forEach(att => {
  resultList.push(att.url)
})

2. 修正post.js中的JSON输出逻辑

检查post.js中写入JSON文件的代码,删除所有将数组元素合并为字符串的逻辑,确保直接写入由独立链接组成的一维数组即可。

兼容旧数据的批量修复方法

如果已经有大量通过旧逻辑生成的合并字符串数据,可以通过split方法批量拆分修复:

// 批量修复旧数据示例
const fixedResult = oldResult.flatMap(item => {
  // 匹配被拼接的Discord附件链接字符串,按逗号拆分
  if (typeof item === 'string' && item.includes('https://media.discordapp.net/attachments/') && item.includes(',')) {
    return item.split(',')
  }
  return item
})

最终正确输出结构

修改后生成的JSON结构如下:

[
  "https://media.discordapp.net/attachments/831804312538841088/893067795154231337/IMG_20210930_113200.jpg",
  "https://media.discordapp.net/attachments/831804312538841088/893067795322011668/IMG_20210930_113039.jpg",
  "https://media.discordapp.net/attachments/831804312538841088/893067795535900702/IMG_20210930_112940.jpg",
  "https://media.discordapp.net/attachments/831804312538841088/893067795741437952/IMG_20210930_113006.jpg",
  "EXTRA",
  "EXTRA"
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:24:03