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

读取文本文件生成数组并循环自动发送,遇字符串参数错误如何解决

问题解决

错误原因

你代码里的问题有两个:

  • 把整个lines数组直接赋值给message,但autosend.PostLoop要求message必须是字符串,这就是你看到Error: Please make sure that the message parameter is a string!的原因。
  • 循环逻辑错误,没有遍历每一行文本执行发送操作,反而把整个数组重复赋值给message。

修正后的代码

// 读取文件内容
const data = fs.readFileSync('mr_robot.txt', 'UTF-8');
// 分割成每行的数组(兼容Windows和Unix换行符)
const lines = data.split(/\r?\n/);

// 遍历每一行文本
for (const line of lines) {
    // 跳过空行,避免发送空消息
    if (!line.trim()) continue;
    // 调用发送方法,line是单个字符串,符合参数要求
    autosend.PostLoop(line, channelID, tokenID, minimum, maximum);
}

代码说明

  • 用for...of循环遍历lines数组,每次取出的line是单个字符串,完全满足PostLoop的参数要求。
  • 增加空行判断,避免文件末尾的空行或无内容的行被发送。
  • 原代码中未使用的n_lines变量已删除,简化逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:50:30