gpt4 book ai didi

javascript - 循环解决 100 条消息获取限制在 1 天后不再起作用

转载 作者:行者123 更新时间:2023-12-05 00:38:45 26 4
gpt4 key购买 nike

我昨天从 this post 创建了一个不和谐机器人从嵌入中导出字段,它工作正常,但今天不工作。我得到的错误是 TypeError: messages.array is not a function我尝试卸载 Node 并重新安装,但无济于事。我将文件发送给 friend 运行,它运行良好,所以我的机器似乎有问题。我还尝试在我的 Windows 服务器上运行它,但没有看到任何错误,但机器人无法导出字段(我不打算使用我的服务器来运行机器人,仅用于故障排除)。有没有人见过这个错误和/或有解决方案?
更详细的错误(一条消息):
“xxxx@xxxx-mbp 嵌入机器人 % Node 主
/Users/xxxx/Downloads/embed bot/main.js:24
sum_messages.push(...messages.array());
^
TypeError:messages.array 不是函数
在lots_of_messages_getter (/Users/xxxx/Downloads/embed bot/main.js:24:39)
在 processTicksAndRejections ( Node :internal/process/task_queues:96:5)
在异步客户端。 (/Users/xxxx/Downloads/embed bot/main.js:36:20)"

async function lots_of_messages_getter(channel, limit = 10000) {
const sum_messages = [];
let last_id;

while (true) {
const options = { limit: 100 };
if (last_id) {
options.before = last_id;
}

const messages = await channel.messages.fetch(options);
sum_messages.push(...messages.array());
last_id = messages.last().id;

if (messages.size != 100 || sum_messages >= limit) {
break;
}
}

return sum_messages;
}

最佳答案

MessagesCollection , 没有 array该对象的方法。
根据documentation您可以将其转换为常规数组,然后使用扩展运算符。

sum_messages.push(...Array.from(messages));

关于javascript - 循环解决 100 条消息获取限制在 1 天后不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71890200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com