discord.js 使机器人删除给定数量的消息

时间:2021-01-07 19:10:24

标签: discord.js

我已经开始创建一个不和谐的机器人,我希望它开始管理我的服务器。我尝试的第一个命令是“批量删除”或“清除”,它会删除用户提供的消息数量。 但我对 java 和 discord.js 还很陌生,所以我不知道如何开始。

        // code here to check if an mod or above
        // code to delete a number of message a user gave
   }```

2 个答案:

答案 0 :(得分:0)

对于权限检查,您可以简单地使用以下命令检查消息作者的角色:

if (!message.member.roles.cache.has(moderator role object)) return;

总的来说,您应该查看可以找到 herebulkDelete() 函数。

虽然,根据您所说的,您还不知道如何真正开发机器人,因此我不会直接告诉您问题的答案。我强烈建议您先学习一些 JavaScript 基础知识(另外,请记住 Java != JavaScript)以及 Discord.js 基础知识,然后再直接进入您想要创建的内容。

我强烈推荐 YouTube 上的 WornOffKeys,它们太棒了。

答案 1 :(得分:0)

首先使用检查用户权限

if (!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("You have no permission to access this command")

使用

检查机器人权限
if (!message.guild.me.permissions.has("MANAGE_MESSAGES")) return message.channel.send("This bot have no permission to delete msg!")

当用户没有提到选择消息时返回消息

if (!args[0]) return message.channel.send("no messages have been selected")

然后正如 Bqre 所说的使用 bulkdelete()

 try {
            await message.channel.bulkDelete(args[0])
        } catch (e) {
            console.log(e); //err
        }

希望你觉得它有用!

相关问题