images.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import urllib.request
  2. import json
  3. import asyncio
  4. from random import randint
  5. from pyrogram import filters
  6. from wbb import app, arq
  7. from wbb.utils.errors import capture_err
  8. from wbb.utils.fetch import fetch
  9. __MODULE__ = "Images"
  10. __HELP__ = '''/cat - Get Cute Cats Images
  11. /wall - Get Wallpapers'''
  12. async def delete_message_with_delay(delay, message):
  13. await asyncio.sleep(delay)
  14. await message.delete()
  15. @app.on_message(filters.command("cat") & ~filters.edited)
  16. @capture_err
  17. async def cat(_, 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(filters.command("wall") & ~filters.edited)
  25. @capture_err
  26. async def wall(_, message):
  27. if len(message.command) < 2:
  28. await message.reply_text("/wall needs an argument")
  29. return
  30. initial_term = message.text.split(None, 1)[1]
  31. m = await message.reply_text("Searching!")
  32. term = initial_term.replace(' ', '%20')
  33. try:
  34. wallpapers = await arq.wall(term)
  35. except KeyError:
  36. await m.edit("Found literally nothing!,"
  37. + "You should work on your English.")
  38. return
  39. if len(wallpapers) > 10:
  40. selection = 10
  41. else:
  42. selection = len(wallpapers)
  43. index = randint(0, selection - 1)
  44. wallpaper = wallpapers[index].url_image
  45. await message.reply_document(wallpaper)
  46. await m.delete()