advanced.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. from wbb import app, LOG_GROUP_ID
  2. from wbb.utils.json_prettify import json_object_prettify
  3. from wbb.utils.errors import capture_err
  4. from pyrogram.errors.exceptions.bad_request_400 import ChannelInvalid, PeerIdInvalid
  5. from pyrogram import filters
  6. __MODULE__ = "Advanced"
  7. __HELP__ = """**NOTE** - Some of these commands are only supported in BOT_LOG_GROUP [OWNER]
  8. /get_chat [CHAT_ID] - Get Info of A Chat.
  9. /get_user [USER_ID] - Get Info of A User.
  10. /leave_chat [CHAT_ID] - Leave The Chat.
  11. /send_message [CHAT_ID] [TEXT] - Send A Message To A Chat."""
  12. @app.on_message(filters.command("get_chat") & ~filters.edited)
  13. @capture_err
  14. async def get_chat_data(_, message):
  15. if len(message.command) != 2:
  16. await message.reply_text("/get_chat [CHAT_ID]")
  17. return
  18. try:
  19. chat_id = message.text.split(None, 1)[1]
  20. chat_data = await app.get_chat(chat_id)
  21. data = await json_object_prettify(chat_data)
  22. await app.send_message(message.chat.id, data)
  23. except (PeerIdInvalid, ChannelInvalid) as e:
  24. await message.reply_text("PEER_ID_INVALID")
  25. print(str(e))
  26. @app.on_message(filters.command("get_user") & ~filters.edited)
  27. @capture_err
  28. async def get_user_data(_, message):
  29. if len(message.command) != 2:
  30. await message.reply_text("/get_user [USER_ID]")
  31. return
  32. try:
  33. user_id = message.text.split(None, 1)[1]
  34. user_data = await app.get_users(user_id)
  35. data = await json_object_prettify(user_data)
  36. await app.send_message(message.chat.id, data)
  37. except (PeerIdInvalid, ChannelInvalid) as e:
  38. await message.reply_text("PEER_ID_INVALID")
  39. print(str(e))
  40. @app.on_message(filters.command("leave_chat") & ~filters.edited & filters.chat(LOG_GROUP_ID))
  41. @capture_err
  42. async def leave_chat(_, message):
  43. if len(message.command) != 2:
  44. await message.reply_text("/leave_chat [CHAT_ID]")
  45. return
  46. try:
  47. chat_id = message.text.split(None, 1)[1]
  48. await app.leave_chat(chat_id)
  49. await message.reply_text("Left The Chat!")
  50. except Exception as e:
  51. await message.reply_text(str(e))
  52. print(str(e))
  53. @app.on_message(filters.command("send_message") & ~filters.edited & filters.chat(LOG_GROUP_ID))
  54. @capture_err
  55. async def send_message(_, message):
  56. if len(message.command) < 3:
  57. await message.reply_text("/send_message [CHAT_ID] [TEXT]")
  58. return
  59. try:
  60. chat_id = message.text.split(None, 2)[1]
  61. text = message.text.split(None, 2)[2]
  62. await app.send_message(chat_id, text=text)
  63. await message.reply_text("Message Sent!")
  64. except Exception as e:
  65. await message.reply_text(str(e))
  66. print(str(e))