images.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from wbb.utils import cust_filter
  2. from wbb import app, WALL_API_KEY
  3. import urllib.request
  4. import json
  5. from random import randint
  6. import requests as r
  7. import asyncio
  8. from pyrogram.types import Message
  9. __MODULE__ = "Images"
  10. __HELP__ = "/cat - Get Cute Cats Images\n" + \
  11. "/dog - Get Cute Dogs Images\n" + \
  12. "/wall [something] - Get Wallpapers"
  13. async def delete_message_with_delay(delay, message: Message):
  14. await asyncio.sleep(delay)
  15. (message).delete()
  16. @app.on_message(cust_filter.command(commands=("cat")))
  17. async def cat(client, message: Message):
  18. with urllib.request.urlopen(
  19. "https://api.thecatapi.com/v1/images/search"
  20. ) as url:
  21. data = json.loads(url.read().decode())
  22. cat_url = (data[0]['url'])
  23. await message.reply_photo(cat_url)
  24. @app.on_message(cust_filter.command(commands=("dog")))
  25. async def dog(client, message: Message):
  26. with urllib.request.urlopen(
  27. "https://api.thedogapi.com/v1/images/search"
  28. ) as url:
  29. data = json.loads(url.read().decode())
  30. dog_url = (data[0]['url'])
  31. await message.reply_photo(dog_url)
  32. @app.on_message(cust_filter.command(commands=("wall")))
  33. async def wall(client, message: Message):
  34. app.set_parse_mode("markdown")
  35. m = await message.reply_text("Searching!")
  36. initial_term = (message.text.replace('/wall', ''))
  37. term = initial_term.replace(' ', '%20')
  38. api = "https://wall.alphacoders.com/api2.0/get.php?auth=" + \
  39. "{}&method=search&term={}".format(WALL_API_KEY, term)
  40. json_rep = r.get(api).json()
  41. if not json_rep.get("success"):
  42. await m.edit("FTS! something unusual happened, "
  43. + "report to support @Thepirategang")
  44. else:
  45. wallpapers = json_rep.get("wallpapers")
  46. if not wallpapers:
  47. await m.edit("Found literally nothing!,"
  48. + "You should work on your English.")
  49. return
  50. else:
  51. index = randint(0, len(wallpapers) - 1)
  52. wallpaper = wallpapers[index]
  53. wallpaper = wallpaper.get("url_image")
  54. wallpaper = wallpaper.replace("\\", "")
  55. await message.reply_document(wallpaper)
  56. await delete_message_with_delay(10, m)