paste.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import os
  2. import asyncio
  3. from pyrogram import filters
  4. from wbb import app
  5. from wbb.utils.pastebin import paste
  6. from wbb.core.decorators.errors import capture_err
  7. from wbb.utils.functions import get_http_status_code
  8. __MODULE__ = "Paste"
  9. __HELP__ = "/paste - To Paste Replied Text Or Document To Nekobin"
  10. @app.on_message(filters.command("paste") & ~filters.edited)
  11. @capture_err
  12. async def paste_func(_, message):
  13. if message.reply_to_message:
  14. app.set_parse_mode("markdown")
  15. if message.reply_to_message.text:
  16. m = await message.reply_text("Pasting...")
  17. content = str(message.reply_to_message.text)
  18. link = await paste(content)
  19. preview = link + "/preview.png"
  20. status_code = await get_http_status_code(preview)
  21. i = 0
  22. while status_code != 200:
  23. if i == 5:
  24. break
  25. status_code = await get_http_status_code(preview)
  26. await asyncio.sleep(0.2)
  27. i += 1
  28. await m.delete()
  29. await app.send_photo(
  30. message.chat.id,
  31. photo=preview,
  32. caption=link
  33. )
  34. elif message.reply_to_message.document:
  35. if message.reply_to_message.document.file_size > 1048576:
  36. await message.reply_text("You can only paste files smaller than 1MB.")
  37. return
  38. m = await message.reply_text("Pasting...")
  39. doc_file = await message.reply_to_message.download(file_name='paste.txt')
  40. i = open(doc_file, "r")
  41. link = await paste(i.read())
  42. preview = link + "/preview.png"
  43. status_code = await get_http_status_code(preview)
  44. i = 0
  45. while status_code != 200:
  46. if i == 5:
  47. break
  48. status_code = await get_http_status_code(preview)
  49. await asyncio.sleep(0.2)
  50. i += 1
  51. await m.delete()
  52. await app.send_photo(
  53. message.chat.id,
  54. photo=preview,
  55. caption=link
  56. )
  57. os.remove(doc_file)
  58. else:
  59. await message.reply_text("Reply To A Message With /paste")