我想执行一个类似于;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
})
})
当然,您应该设置错误陷阱并根据您的用例调整代码。
查看此上的文档