admin.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import asyncio
  2. from wbb.utils import cust_filter
  3. from wbb import app, OWNER_ID
  4. __MODULE__ = "Admin"
  5. __HELP__ = "/purge - Purge Messages [Limit = 100]"
  6. # Purge Messages
  7. @app.on_message(cust_filter.command(commands=("purge")))
  8. async def purge(client, message):
  9. if message.chat.type not in (("supergroup", "channel")):
  10. return
  11. message_ids = []
  12. # Admin check logic
  13. group_id = message.chat.id
  14. list_of_admins = []
  15. async for member in app.iter_chat_members(
  16. group_id, filter="administrators"):
  17. list_of_admins.append(member.user.id)
  18. if message.from_user.id in list_of_admins \
  19. or message.from_user.id == OWNER_ID:
  20. if message.reply_to_message:
  21. for a_s_message_id in range(
  22. message.reply_to_message.message_id,
  23. message.message_id
  24. ):
  25. message_ids.append(a_s_message_id)
  26. if len(message_ids) == 100:
  27. await client.delete_messages(
  28. chat_id=message.chat.id,
  29. message_ids=message_ids,
  30. revoke=True
  31. )
  32. message_ids = []
  33. if len(message_ids) > 0:
  34. await client.delete_messages(
  35. chat_id=message.chat.id,
  36. message_ids=message_ids,
  37. revoke=True
  38. )
  39. m = await message.reply_text("Purged!")
  40. await asyncio.sleep(1)
  41. await m.delete()
  42. else:
  43. await message.reply_text("You Are Not Admin, Stop Spamming! else /bun")
  44. # Kicking users
  45. @app.on_message(cust_filter.command(commands=("kick")))
  46. async def kick(client, message):
  47. username = (message.text.split(None, 1)[1])
  48. if username != "":