node.js - Discordjs v12 - bulkDelete 抛出奇怪的异常
问题描述
大约 2 年前,我为我的服务器编写了一个简单的 Discord 机器人,它可以完成一些非常简单的任务。其中一些任务是 API 用户数据检索和其他基本消息操作。
编辑:我不想偷懒,所以我确实花了大约一个小时在谷歌和这里搜索,一无所获!
就在上周,我的机器人突然停止工作,经过数小时的研究,拔掉了我的头发,卡在 v11 上,msg.member
收藏了一个神秘的 POOF,我终于了解了 v12。我将npm
我的代码更新为 Discord 文档文档。简单,直到非常非常基本的功能。
我目前正在把头发从头上拉出来,试图使用他们非常“简单”的bulkDelete
方法,这总是没有问题的,好吧,现在不行了。
这是我的原始代码:
msg.channel.messages.fetch({ limit: parseInt(count)}).then(
messages => msg.channel.bulkDelete(messages)
);
它是做什么的?嘘,我不知道!它使node.js
内部类吐出一个例外Discord.js
,我没有足够的知识或任何知识。
这是胡言乱语:
未处理
0|索引 | TypeError: Object.entries(...).filter(...).flatMap 不是函数 0|index | 在新的 APIRequest (/root/Discord/node_modules/discord.js/src/rest/APIRequest.js:24:10) 0|index | 在 RESTManager.request (/root/Discord/node_modules/discord.js/src/rest/RESTManager.js:39:24) 0|index | 在 Proxy.options (/root/Discord/node_modules/discord.js/src/rest/APIRouter.js:30:19) 0|index | 在 MessageManager._fetchMany (/root/Discord/node_modules/discord.js/src/managers/MessageManager.js:140:75) 0|index | 在 MessageManager.fetch (/root/Discord/node_modules/discord.js/src/managers/MessageManager.js:68:86) 0|index | 在 processServerCMD (eval at (/root/Discord/index.js:10:1), :52:25) 0|index | 在 Client.client.on.msg (/root/Discord/index.js:65:13) 0|index | 在 Client.emit (events.js:198: 13) 0|索引| 在 MessageCreateAction.handle (/root/Discord/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
我也尝试过简单地做这个非常简单的声明
msg.channel.bulkDelete(3 /*hardwritten integer for hair-loss purposes*/);
来源:https ://discordjs.guide/creating-your-bot/commands-with-user-input.html#caveats-2
一样的回应。
这是什么鬼东西TypeError: ....flatMap is not a function
?
难道我做错了什么?
msg.channel.messages
确实是一个有效的集合,但是bulkDelete
每次调用或获取都会导致上述异常。
在我从头上拔出最后几个毛囊之前,有人可以扇我一巴掌,要么让我知道我是个白痴,要么 Discord v12 完全坏了,我只是在一个声明上浪费了 4-1/2 小时。 . 笏
我是一个 C/C++ 人。我真的不知道我在这里做什么。
解决方案
问题解决了!我不得不对 Array.prototype.flatMaps 做更多的研究,结果证明 flatMaps 是 Node v11 及更高版本独有的。我仍在节点 10 上,因此导致了上述异常。
我希望这可以帮助其他人,因为这很头疼!
将您的 Nodejs 更新到 v12.x
推荐阅读
- sql-server - 在 SQL Server 2019 中没有事务的 sp_GetAppLock
- csv - 从 csv 文件读取 Hyperledger Fabric 智能合约以将数据加载到区块链中
- android - RecyclerView.Adapter getRef(position).getKey() 不工作
- asp.net-core - 我们可以像使用 asp.net app.config 一样使用 ASPNET_REGIIS 命令来加密 appsettings.json 的部分吗
- reactjs - Uncaught (in promise) SyntaxError: Unexpected token in React
- python - 在 Python/Airflow 中加密数据并在 BigQuery 中解密的方法
- .net - 如何在.NET CORE(使用身份)中分散相同的角色但不同的声明?
- delphi - ShellExecute 打开文件夹/文件并滚动到选定的
- mysql - MySQL显示限制值的总数
- java - Lombok @Value 注释未在 Eclipse 中生成 @ConstructorProperties