|
|
|
|
|
|
|
|
|
|
|
""" |
|
β Commands Available - |
|
|
|
β’ `{i}eod` |
|
`Get Event of the Today` |
|
|
|
β’ `{i}pntrst <link/id>` |
|
Download and send pinterest pins |
|
|
|
β’ `{i}gadget <search query>` |
|
Gadget Search from Telegram. |
|
|
|
β’ `{i}randomuser` |
|
Generate details about a random user. |
|
|
|
β’ `{i}ascii <reply image>` |
|
Convert replied image into html. |
|
""" |
|
|
|
import os |
|
from datetime import datetime as dt |
|
|
|
from bs4 import BeautifulSoup as bs |
|
|
|
try: |
|
from htmlwebshot import WebShot |
|
except ImportError: |
|
WebShot = None |
|
try: |
|
from img2html.converter import Img2HTMLConverter |
|
except ImportError: |
|
Img2HTMLConverter = None |
|
|
|
from . import async_searcher, get_random_user_data, get_string, re, ultroid_cmd |
|
|
|
|
|
@ultroid_cmd(pattern="eod$") |
|
async def diela(e): |
|
m = await e.eor(get_string("com_1")) |
|
li = "https://daysoftheyear.com" |
|
te = "π **Events of the Day**\n\n" |
|
da = dt.now() |
|
month = da.strftime("%b") |
|
li += f"/days/{month}/" + da.strftime("%F").split("-")[2] |
|
ct = await async_searcher(li, re_content=True) |
|
bt = bs(ct, "html.parser", from_encoding="utf-8") |
|
ml = bt.find_all("a", "js-link-target", href=re.compile("daysoftheyear.com/days")) |
|
for eve in ml[:5]: |
|
te += f'β’ [{eve.text}]({eve["href"]})\n' |
|
await m.edit(te, link_preview=False) |
|
|
|
|
|
@ultroid_cmd( |
|
pattern="pntrst( (.*)|$)", |
|
) |
|
async def pinterest(e): |
|
m = e.pattern_match.group(1).strip() |
|
if not m: |
|
return await e.eor("`Give pinterest link.`", time=3) |
|
soup = await async_searcher( |
|
"https://www.expertstool.com/download-pinterest-video/", |
|
data={"url": m}, |
|
post=True, |
|
) |
|
try: |
|
_soup = bs(soup, "html.parser").find("table").tbody.find_all("tr") |
|
except BaseException: |
|
return await e.eor("`Wrong link or private pin.`", time=5) |
|
file = _soup[1] if len(_soup) > 1 else _soup[0] |
|
file = file.td.a["href"] |
|
await e.client.send_file(e.chat_id, file, caption=f"Pin:- {m}") |
|
|
|
|
|
@ultroid_cmd(pattern="gadget( (.*)|$)") |
|
async def mobs(e): |
|
mat = e.pattern_match.group(1).strip() |
|
if not mat: |
|
await e.eor("Please Give a Mobile Name to look for.") |
|
query = mat.replace(" ", "%20") |
|
jwala = f"https://gadgets.ndtv.com/search?searchtext={query}" |
|
c = await async_searcher(jwala) |
|
b = bs(c, "html.parser", from_encoding="utf-8") |
|
co = b.find_all("div", "rvw-imgbox") |
|
if not co: |
|
return await e.eor("No Results Found!") |
|
bt = await e.eor(get_string("com_1")) |
|
out = "**π± Mobile / Gadgets Search**\n\n" |
|
li = co[0].find("a") |
|
imu, title = None, li.find("img")["title"] |
|
cont = await async_searcher(li["href"]) |
|
nu = bs(cont, "html.parser", from_encoding="utf-8") |
|
req = nu.find_all("div", "_pdsd") |
|
imu = nu.find_all( |
|
"img", src=re.compile("https://i.gadgets360cdn.com/products/large/") |
|
) |
|
if imu: |
|
imu = imu[0]["src"].split("?")[0] + "?downsize=*:420&output-quality=80" |
|
out += f"βοΈ **[{title}]({li['href']})**\n\n" |
|
for fp in req: |
|
ty = fp.findNext() |
|
out += f"- **{ty.text}** - `{ty.findNext().text}`\n" |
|
out += "_" |
|
if imu == []: |
|
imu = None |
|
await e.reply(out, file=imu, link_preview=False) |
|
await bt.delete() |
|
|
|
|
|
@ultroid_cmd(pattern="randomuser") |
|
async def _gen_data(event): |
|
x = await event.eor(get_string("com_1")) |
|
msg, pic = await get_random_user_data() |
|
await event.reply(file=pic, message=msg) |
|
await x.delete() |
|
|
|
|
|
@ultroid_cmd( |
|
pattern="ascii( (.*)|$)", |
|
) |
|
async def _(e): |
|
if not Img2HTMLConverter: |
|
return await e.eor("'img2html-converter' not installed!") |
|
if not e.reply_to_msg_id: |
|
return await e.eor(get_string("ascii_1")) |
|
m = await e.eor(get_string("ascii_2")) |
|
img = await (await e.get_reply_message()).download_media() |
|
char = e.pattern_match.group(1).strip() or "β " |
|
converter = Img2HTMLConverter(char=char) |
|
html = converter.convert(img) |
|
shot = WebShot(quality=85) |
|
pic = await shot.create_pic_async(html=html) |
|
await m.delete() |
|
await e.reply(file=pic) |
|
os.remove(pic) |
|
os.remove(img) |
|
|