autocorrect.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from pyrogram import filters
  2. from pyrogram.types import Message
  3. from wbb import SUDOERS, USERBOT_ID, USERBOT_PREFIX, app, app2, arq
  4. from wbb.modules.userbot import eor
  5. from wbb.utils.filter_groups import autocorrect_group
  6. @app.on_message(filters.command("autocorrect"))
  7. async def autocorrect_bot(_, message: Message):
  8. if not message.reply_to_message:
  9. return await message.reply_text("Reply to a text message.")
  10. reply = message.reply_to_message
  11. text = reply.text or reply.caption
  12. if not text:
  13. return await message.reply_text("Reply to a text message.")
  14. data = await arq.spellcheck(text)
  15. if not data.ok:
  16. return await message.reply_text("Something wrong happened.")
  17. result = data.result
  18. await message.reply_text(result.corrected if result.corrected else "Empty")
  19. IS_ENABLED = False
  20. @app2.on_message(filters.command("autocorrect", prefixes=USERBOT_PREFIX) & SUDOERS)
  21. async def autocorrect_ubot_toggle(_, message: Message):
  22. global IS_ENABLED
  23. if len(message.command) != 2:
  24. return await eor(message, text="Not enough arguments.")
  25. state = message.text.split(None, 1)[1].strip().lower()
  26. if state == "enable":
  27. IS_ENABLED = True
  28. await eor(message, text="Enabled!")
  29. elif state == "disable":
  30. IS_ENABLED = False
  31. await eor(message, text="Disabled!")
  32. else:
  33. return await eor(message, text="Wrong argument, Pass (ENABLE|DISABLE).")
  34. @app2.on_message(
  35. filters.text & filters.user(USERBOT_ID),
  36. group=autocorrect_group,
  37. )
  38. async def autocorrect_ubot(_, message: Message):
  39. if not IS_ENABLED:
  40. return
  41. text = message.text
  42. data = await arq.spellcheck(text)
  43. corrected = data.result.corrected
  44. if corrected == text:
  45. return
  46. await message.edit(corrected)