簡體   English   中英

Discord.js | 如何指定我要刪除/清除的郵件數量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM