我的问题是,我在尝试删除不一致的邮件时收到错误。
client.on('message', msg => {
if(msg.content.startsWith(".del ")) {
msg.delete(1000); //Supposed to delete message
}
});
我收到这个错误:
C:\Users\---\Desktop\Test\node_modules\discord.js\src\structures\Message.js:501
if (typeof options !== 'object') throw new TypeError('INVALID_TYPE', 'options', 'object', true);
^
TypeError [INVALID_TYPE]: Supplied options is not an object.
at Message.delete (C:\Users\---\Desktop\Test\node_modules\discord.js\src\structures\Message.js:501:44)
at Client.<anonymous> (C:\Users\---\Desktop\Test\index.js:51:17)
at Client.emit (events.js:310:20)
at MessageCreateAction.handle (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\Users\---\Desktop\Test\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\---\Desktop\Test\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:310:20) {
[Symbol(code)]: 'INVALID_TYPE'
}
我还尝试了消息。删除(1000)
,但我收到一个错误,告诉我消息未定义。
当我删除试图删除消息的代码时,程序就会工作。
你可以用两种方法
>
SetTimeout方法
setTimeout(() => {
msg.delete()
}, 1000 // <- change this according to your requirement in miliseconds)
您可以在命令的参数中添加超时
只是代替了
msg.delete(3000);
放
msg.delete({timeout: 1000});
要执行批量删除,您可以执行以下操作
setTimeout(() => {
message.channel.bulkDelete(var)
}, 1000 // <- change this according to your requirement in miliseconds)
这可以帮助您删除多达100条消息。
您可以在这里比较文档-Discord.jsv11和Discord.jsv12
通过删除msg更改您的代码。删除(3000)
至msg。删除({timeout:3000})
,这将修复错误,因为它在discord中被更改。jsv12。
您可以比较文档-https://www.npmjs.com/package/discord.js-v11
您可以比较文档-https://discord.js.org/#/
正如错误消息所说,您需要向delete
方法传递nothing或object。
因为不和。js@13以及上面的消息。delete()
方法不再接受选项。您现在需要像这样使用setTimeout
:
信息。delete()方法不再接受任何选项,需要手动执行定时删除。
setTimeout(() => msg.delete(), 1000);
您可以在文档中查找它。您试图做的事情如下所示:
client.on('message', msg => {
if(msg.content.startsWith(".del ")) {
msg.delete({timeout: 1000}); //Supposed to delete message
}
});
最近,我开始研究一个不和谐的机器人,并添加了斜杠命令。 这是我的interactionHandler.js 有没有办法删除命令,因为我找不到方法。我想得到命令的ID,但是我不知道怎么做。感谢所有的帮助者:)Discord.js v13
我对JavaScript非常陌生,所以我决定通过创建一个不和谐机器人来挑战自己。我想做的是检测用户是否有名为“棒”的项目,如果他有,机器人会回答“你已经拥有这个项目了!”否则,机器人将让用户购买该物品。当我让它删除数组中的“临时”时,它会删除整个数组,我如何修复这个问题?如果有任何方法可以解决这个问题并更好地“优化”它,那将是惊人的。 这是一段代码。 变量为:const db=require('q
我正试图为不和谐做一个会员机器人。机器人将从API中检索用户ID和角色,并需要从用户中删除此角色。 首先,我要了解特定用户所在的公会: 然后,我通过名称查找角色: 然后我试图通过他的ID找到用户,并删除上面的角色。但是,用户始终未定义: 通常,当我添加一个角色时,我会使用消息对象,然后像这样使用消息中的公会: 但是,我从API中检索数据,因此我必须以另一种方式进行。 我的脚本的完整代码:
好的,所以我搜索了一会儿,但是我找不到任何关于如何删除不协调频道中所有消息的信息。我所说的所有信息是指在该频道中所写的每一条信息。有什么线索吗?
我正在为我的discord服务器制作一个机器人,但我遇到了问题。我想要的是,当最后一个人离开一个语音频道(它是由机器人生成的)时,我想要删除该语音频道。 我也考虑过测试任何空的语音频道并删除它们,但我不知道如何做。