admin.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import asyncio
  2. from pyrogram import Client, filters
  3. from wbb.utils import cust_filter
  4. from wbb import app, Command
  5. from wbb.utils.is_admin import is_admin
  6. @app.on_message(cust_filter.command(commands=(["purge"])))
  7. async def purge(client, message):
  8. app.set_parse_mode("markdown")
  9. if message.chat.type not in (("supergroup", "channel")):
  10. return
  11. admin = await is_admin(message)
  12. if not admin:
  13. return
  14. message_ids = []
  15. if message.reply_to_message:
  16. for a_s_message_id in range(
  17. message.reply_to_message.message_id,
  18. message.message_id
  19. ):
  20. message_ids.append(a_s_message_id)
  21. if len(message_ids) == 100:
  22. await client.delete_messages(
  23. chat_id=message.chat.id,
  24. message_ids=message_ids,
  25. revoke=True
  26. )
  27. message_ids = []
  28. if len(message_ids) > 0:
  29. await client.delete_messages(
  30. chat_id=message.chat.id,
  31. message_ids=message_ids,
  32. revoke=True
  33. )
  34. m = await message.reply_text(
  35. f"```Purged!```"
  36. )
  37. await asyncio.sleep(2)
  38. await m.delete()