|
|
@@ -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')
|