bot-base/modules/purge/__init__.py
Louis Chauvet 08d9998f73
[base-all] Ajout de beaucoup de chose à la config, mise à zero des configs
[mod-newmember] Utilisation de log et pas de print
[mod-panic] Remplacement de nikola par self.client.name (TODO: Vérifier que ca marche)
[mod-readrule] Remplacement de la concaténation toute moche par un format
[mod-restart] Ajout du todo pour pas oublier cette merde
[mod-roles] Suppression des prints
2020-04-05 13:09:16 +02:00

36 lines
1.3 KiB
Python

from modules.base import BaseClassPython
class MainClass(BaseClassPython):
name = "Purge"
help = {
"description": "Suppression de messages en block.",
"commands": {
"`{prefix}{command} <message_id>`": "Supprime tous les messages du salon jusqu'au message spécifié",
}
}
async def command(self, message, args, kwargs):
message_id = None
try:
message_id = int(args[0])
except ValueError:
pass
if len(args) and message_id is not None:
messages_list=[]
done=False
async for current in message.channel.history(limit=None):
if int(current.id) == message_id:
done = True
break
elif message.id != current.id:
messages_list.append(current)
if done:
chunks = [messages_list[x:x+99] for x in range(0, len(messages_list), 99)]
for chunk in chunks:
await message.channel.delete_messages(chunk)
await message.channel.send(f"**{len(messages_list)}** messages supprimés.")
else:
await message.channel.send("Le message spécifié n'a pas été trouvé.")
else:
await message.channel.send("Arguments invalides.")