仅删除提及成员的邮件

  • 本文关键字:成员 删除 discord.js
  • 更新时间 :
  • 英文 :


我想执行一个类似于;cclear@User 50";他们清除了50条"@用户";。

"c"是前缀。

我有一个经典的清晰的comamd,但我不知道我是否可以改变一些东西来制作我想要的东西:

run: async (message, args) => {
if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('Vous n'avez pas la permission d'utiliser cette commande.')
const count = args[0]
if (!/d+/.test(count)) return message.channel.send('Veuillez indiquer un nombre de messages à supprimer.')
if (count < 1 || count > 99) return message.channel.send('Le nombre de message doit être compris entre 1 et 99.')
const { size } = await message.channel.bulkDelete(Number(count) + 1, true)
message.channel.send(`${size - 1} messages ont été supprimés !`).then(sent => sent.delete({timeout: 3e3}))
},

TextChannel.bulkDelete((也接受一个消息集合作为参数(因为数字不起作用,所以你想删除特定用户的消息(。

从通道中的MessageManager获取集合,并将其传递给bulkDelete((

msg.channel.messages.fetch(messages => {
msg.channel.bulkDelete(messages.filter(m => m.author.id === msg.mentions.members.first().id)).then(() => {
//handle result here
})
})

当然,您应该设置错误陷阱并根据您的用例调整代码。

查看此上的文档

最新更新