images.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. __MODULE__ = "Images"
  8. __HELP__ = "/cat - Get Cute Cats Images\n" + \
  9. "/dog - Get Cute Dogs Images"
  10. @app.on_message(cust_filter.command(commands=("cat")))
  11. async def cat(client, message):
  12. with urllib.request.urlopen(
  13. "https://api.thecatapi.com/v1/images/search"
  14. ) as url:
  15. data = json.loads(url.read().decode())
  16. cat_url = (data[0]['url'])
  17. await message.reply_photo(cat_url)
  18. @app.on_message(cust_filter.command(commands=("dog")))
  19. async def dog(client, message):
  20. with urllib.request.urlopen(
  21. "https://api.thedogapi.com/v1/images/search"
  22. ) as url:
  23. data = json.loads(url.read().decode())
  24. dog_url = (data[0]['url'])
  25. await message.reply_photo(dog_url)
  26. @app.on_message(cust_filter.command(commands=("wall")))
  27. async def wall(client, message):
  28. app.set_parse_mode("markdown")
  29. m = await message.reply_text("Searching!")
  30. try:
  31. term = (message.text.split(None, 1)[1])
  32. except IndexError:
  33. await m.edit("`\"/wall\" needs a keyword argument`")
  34. api = "https://wall.alphacoders.com/api2.0/get.php?auth=" + \
  35. "{}&method=search&term={}".format(WALL_API_KEY, term)
  36. json_rep = r.get(api).json()
  37. if not json_rep.get("success"):
  38. await m.edit("FTS! something unusual happened, " +
  39. "report to support @Thepirategang")
  40. else:
  41. wallpapers = json_rep.get("wallpapers")
  42. if not wallpapers:
  43. await m.edit(
  44. "Found literally nothing!,You should work on your English.")
  45. return
  46. else:
  47. index = randint(0, len(wallpapers) - 1)
  48. wallpaper = wallpapers[index]
  49. wallpaper = wallpaper.get("url_image")
  50. wallpaper = wallpaper.replace("\\", "")
  51. await message.reply_document(wallpaper)
  52. await m.delete()