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