antiservice.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # Written By [MaskedVirus | swatv3nub] for William and Ryūga
  2. # Kang With Proper Credits
  3. from pyrogram import filters
  4. from wbb import app
  5. from wbb.core.decorators.errors import capture_err
  6. from wbb.modules.admin import member_permissions
  7. from wbb.utils.dbfunctions import (antiservice_off, antiservice_on,
  8. is_antiservice_on)
  9. __MODULE__ = "AntiService"
  10. __HELP__ = """
  11. Plugin to delete service messages in a chat!
  12. /antiservice [enable|disable]
  13. """
  14. @app.on_message(filters.command("antiservice") & ~filters.private)
  15. @capture_err
  16. async def anti_service(_, message):
  17. if len(message.command) != 2:
  18. await message.reply_text("Usage: /antiservice [enable | disable]")
  19. return
  20. status = message.text.split(None, 1)[1].strip()
  21. status = status.lower()
  22. chat_id = message.chat.id
  23. user_id = message.from_user.id
  24. permissions = await member_permissions(chat_id, user_id)
  25. if "can_change_info" not in permissions:
  26. await message.reply_text("You don't have enough permissions.")
  27. return
  28. if status == "enable":
  29. await antiservice_on(chat_id)
  30. await message.reply_text(
  31. "Enabled AntiService System. I will Delete Service Messages from Now on."
  32. )
  33. elif status == "disable":
  34. await antiservice_off(chat_id)
  35. await message.reply_text(
  36. "Disabled AntiService System. I won't Be Deleting Service Message from Now on."
  37. )
  38. else:
  39. await message.reply_text("Unknown Suffix, Use /antiservice [enable|disable]")
  40. @app.on_message(filters.service, group=11)
  41. @capture_err
  42. async def delete_service(_, message):
  43. chat_id = message.chat.id
  44. try:
  45. if await is_antiservice_on(chat_id):
  46. await message.delete()
  47. return
  48. except Exception:
  49. pass