bay.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import os
  2. import requests
  3. import wget
  4. from wbb import app, OWNER_ID
  5. from pyrogram import Client, filters
  6. __MODULE__ = "BAYFILES"
  7. __HELP__ = """/url [URL] To upload a url to bayfiles. [SUDO ONLY]
  8. /tg To Upload a telegram file to bayfiles. [SUDO ONLY]"""
  9. @app.on_message(filters.command("url") & filters.user(OWNER_ID))
  10. async def url(_, message):
  11. if len(message.command) != 2:
  12. await message.reply_text("/url [url]")
  13. return
  14. if message.entities[1]['type'] != "url":
  15. await message.reply_text("/url [url]")
  16. return
  17. m = await message.reply_text("downloading....bot will be unresponsive until download finishes.")
  18. lenk = message.text.split(None, 1)[1]
  19. try:
  20. filename = wget.download(lenk)
  21. files = { 'file': open(filename, 'rb')}
  22. await m.edit("Uploading....")
  23. r = requests.post("https://api.bayfiles.com/upload", files=files)
  24. text = r.json()
  25. output = f"""
  26. **status:** `{text['status']}`
  27. **link:** {text['data']['file']['url']['full']}
  28. **id:** `{text['data']['file']['metadata']['id']}`
  29. **name:** `{text['data']['file']['metadata']['name']}`
  30. **size:** `{text['data']['file']['metadata']['size']['readable']}`"""
  31. await message.reply_text(output)
  32. os.remove(filename)
  33. except Exception as e:
  34. print(str(e))
  35. await m.edit(str(e))
  36. return
  37. @app.on_message(filters.command("tg") & filters.user(OWNER_ID))
  38. async def tg(_, message):
  39. if not message.reply_to_message:
  40. await message.reply_text("Reply To A File With /tg To Upload")
  41. return
  42. if not message.reply_to_message.media:
  43. await message.reply_text("Reply To A File With /tg To Upload")
  44. return
  45. m = await message.reply_text("Downloading Document.")
  46. fn = await message.reply_to_message.download()
  47. try:
  48. files = { 'file': open(fn, 'rb')}
  49. await m.edit("Uploading....")
  50. r = requests.post("https://api.bayfiles.com/upload", files=files)
  51. text = r.json()
  52. output = f"""
  53. **status:** `{text['status']}`
  54. **link:** {text['data']['file']['url']['full']}
  55. **id:** `{text['data']['file']['metadata']['id']}`
  56. **name:** `{text['data']['file']['metadata']['name']}`
  57. **size:** `{text['data']['file']['metadata']['size']['readable']}`"""
  58. await message.reply_text(output)
  59. os.remove(fn)
  60. except Exception as e:
  61. print(str(e))
  62. await m.edit(str(e))
  63. return