问题描述
我尝试使用 bulkDelete 让我的机器人删除它的消息,但我收到此错误:
I tried using bulkDelete to make my bot delete its message but I get this error:
(node:5724) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Bad Request (node:5724) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
这是我的代码:
const Discord = require('discord.js'); const bot = new Discord.Client(); const config = require("./config.json"); bot.on('ready', () =>{ console.log('I am ready!'); }); //var cleanarr=[]; bot.on("message", message =>{ if (message.author.bot) return; var cleanarr=[]; let command = message.content.split(" ")[0]; command = command.slice(config.prefix.length); let args = message.content.split(" ").slice(1); if (message.content == 'lol'){ message.channel.sendMessage('LUL'); cleanarr.unshift(`${message.channel.lastMessageID}`); } if (command == "clean") { message.channel.sendMessage('Cleaning...'); message.channel.bulkDelete(cleanarr); var cleanarr = [];
bulkDelete 需要什么?是消息ID还是其他什么?
What does the bulkDelete need? Is it the message id or something else?
我不知道我这样做是否正确(显然我不是),因为我开始编码时对 javascript 或任何相关知识的了解为零.
I have no idea if I doing this right (obviously I am not) since I started coding with zero knowledge of javascript or anything related.
推荐答案
从频道中删除 x 消息的最简单方法是提供 2 - 100 的整数作为 <TextChannel>.bulkDelete 的参数 方法.
The easiest way to delete x messages from a channel is to provide an integer from 2 - 100 as parameters to the <TextChannel>.bulkDelete method.
例子:
message.channel.bulkDelete(100).then(() => { message.channel.send("Deleted 100 messages.").then(msg => msg.delete(3000)); });