[英]Discord.js | How to specify the number of messages i want to delete/purge
我正在嘗試讓我的 discord 機器人刪除特定數量的消息。 這是我的代碼:
if (message.content === "zpurge") {
const nopurgeembed = new Discord.MessageEmbed()
.setDescription("*You don't have permission to use this command*")
.setColor(0xffe6f7)
if(!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(nopurgeembed)
if(message.member.hasPermission("ADMINISTRATOR")) {
message.channel.bulkDelete(10).then(() => {
message.channel.send("***Deleted 10 messages***")
.then(message =>{
message.delete({ timeout: 1000 })
})
})
}
}
我想知道如何清除特定數量,而不僅僅是 10 個或我設置要刪除的任何數量。
您的幫助將不勝感激!
我修改了您的代碼以使用命令前綴,並自動將消息拆分為命令和 arguments 以便於處理。
我還刪除了使用嵌入作為錯誤消息,因為它只會增加不必要的復雜性。
const prefix = "!";
client.on("message", asynchronous (message) => {
if (message.author.bot || !message.content.startsWith(prefix)) return;
const args = message.content.slice(prefix.length).trim().split(/\s+/g);
const command = args.shift().toLowerCase();
switch (command) {
case 'purge':
if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("*You don't have permission to use this command.*");
if (!args[0]) return message.channel.send("*You didn't specify how many messages to delete.*");
await message.delete();
message.channel.bulkDelete(args[0]).then(() => {
message.channel.send("***Deleted 10 messages***")
.then(message => {
message.delete({ timeout: 1000 });
});
});
break;
default:
message.channel.send(`The command \`${command}\` was not recognized.`);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.