소스 검색

Added webss

TheHamkerCat 5 년 전
부모
커밋
eb36db4954
2개의 변경된 파일과 41개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      requirements.txt
  2. 40 0
      wbb/modules/webss.py

+ 1 - 0
requirements.txt

@@ -1,4 +1,5 @@
 pykeyboard
+pyppeteer
 requests
 python-arq
 TgCrypto

+ 40 - 0
wbb/modules/webss.py

@@ -0,0 +1,40 @@
+from wbb import app, app2, SUDOERS
+from wbb.utils.errors import capture_err
+from pyrogram import filters
+from pyppeteer import launch
+import os
+import asyncio
+import time
+
+__MODULE__ = "WebSS"
+__HELP__ = "/webss | .webss [URL] - Take A Screenshot Of A Webpage"
+
+
+@app.on_message(filters.command("webss") & filters.user(SUDOERS))
+@app2.on_message(filters.command("webss", prefixes=["."]) & filters.user(SUDOERS))
+@capture_err
+async def take_ss(_, message):
+    if len(message.command) != 2:
+        await message.reply_text("Give A Url To Fetch Screenshot.")
+        return
+    start_time = time.time()
+    url = message.text.split(None, 1)[1]
+    m = await message.reply_text("**Launching Browser**")
+    browser = await launch(
+            headless=True,
+            args=['--no-sandbox', '--disable-setuid-sandbox']
+            )
+    await m.edit("**Loading Page**")
+    page = await browser.newPage()
+    await page.setViewport({'width': 2000, 'height': 1381, 'deviceScaleFactor': 2.0})
+    await page.goto(url, {'waitUntil': 'load'})
+    await asyncio.sleep(1)
+    await m.edit("**Taking Screenshot**")
+    await page.screenshot({'path': 'webss.png'})
+    await m.delete()
+    end_time = time.time()
+    await message.reply_photo(
+            'webss.png',
+            caption=f"`{url}`\n__Took {round(end_time - start_time)} Seconds.__")
+    await browser.close()
+    os.remove('webss.png')