# Ultroid - UserBot
# Copyright (C) 2020 TeamUltroid
#
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
# PLease read the GNU Affero General Public License in
# .
"""
✘ Commands Available -
• `{i}wspr `
Send secret message..
• `{i}sticker `
Search Stickers as Per ur Wish..
• `{i}getaudio `
Download Audio To put in ur Desired Video/Gif.
• `{i}addaudio `
It will put the above audio to the replied video/gif.
• `{i}dob `
Put in dd/mm/yy Format only(eg .dob 01/01/1999).
• `{i}wall `
Search Hd Wallpaper as Per ur Wish..
"""
import os
from datetime import datetime as dt
from random import choice
from shutil import rmtree
import moviepy.editor as m
import pytz
import requests
from bs4 import BeautifulSoup as b
from . import *
@ultroid_cmd(
pattern="getaudio$",
)
async def daudtoid(event):
ureply = await event.get_reply_message()
if not (ureply and ("audio" in ureply.document.mime_type)):
await eor(event, "`Reply To Audio Only..`")
return
xx = await eor(event, "`processing...`")
d = os.path.join("resources/extras/", "ul.mp3")
await xx.edit("`Downloading... Large Files Takes Time..`")
await event.client.download_media(ureply, d)
await xx.edit("`Done.. Now reply to video In which u want to add that Audio`")
@ultroid_cmd(
pattern="addaudio$",
)
async def adaudroid(event):
ureply = await event.get_reply_message()
if not (ureply and ("video" in ureply.document.mime_type)):
await eor(event, "`Reply To Gif/Video In which u want to add audio.`")
return
xx = await eor(event, "`processing...`")
ultt = await ureply.download_media()
ls = os.listdir("resources/extras")
z = "ul.mp3"
x = "resources/extras/ul.mp3"
if z not in ls:
await xx.edit("`First reply an audio with .aw`")
return
video = m.VideoFileClip(ultt)
audio = m.AudioFileClip(x)
out = video.set_audio(audio)
out.write_videofile("ok.mp4", fps=30)
await event.client.send_file(
event.chat_id,
file="ok.mp4",
force_document=False,
reply_to=event.reply_to_msg_id,
)
os.remove("ok.mp4")
os.remove(x)
os.remove(ultt)
await xx.delete()
@ultroid_cmd(
pattern=r"dob ?(.*)",
)
async def hbd(event):
if not event.pattern_match.group(1):
await eor(event, "`Put input in dd/mm/yyyy format`")
return
if event.reply_to_msg_id:
kk = await event.get_reply_message()
nam = await ultroid_bot.get_entity(kk.from_id)
name = nam.first_name
else:
a = await ultroid_bot.get_me()
name = a.first_name
zn = pytz.timezone("Asia/Kolkata")
abhi = dt.now(zn)
n = event.text
q = n[5:]
p = n[5:7]
r = n[8:10]
s = n[11:]
day = int(p)
month = r
paida = q
jn = dt.strptime(paida, "%d/%m/%Y")
jnm = zn.localize(jn)
zinda = abhi - jnm
barsh = (zinda.total_seconds()) / (365.242 * 24 * 3600)
saal = int(barsh)
mash = (barsh - saal) * 12
mahina = int(mash)
divas = (mash - mahina) * (365.242 / 12)
din = int(divas)
samay = (divas - din) * 24
ghanta = int(samay)
pehl = (samay - ghanta) * 60
mi = int(pehl)
sec = (pehl - mi) * 60
slive = int(sec)
y = int(s) + int(saal) + 1
m = int(r)
brth = dt(y, m, day)
cm = dt(abhi.year, brth.month, brth.day)
ish = (cm - abhi.today()).days + 1
dan = ish
if dan == 0:
hp = "`Happy BirthDay To U🎉🎊`"
elif dan < 0:
okk = 365 + ish
hp = f"{okk} Days Left 🥳"
elif dan > 0:
hp = f"{ish} Days Left 🥳"
if month == "12":
sign = "Sagittarius" if (day < 22) else "Capricorn"
elif month == "01":
sign = "Capricorn" if (day < 20) else "Aquarius"
elif month == "02":
sign = "Aquarius" if (day < 19) else "Pisces"
elif month == "03":
sign = "Pisces" if (day < 21) else "Aries"
elif month == "04":
sign = "Aries" if (day < 20) else "Taurus"
elif month == "05":
sign = "Taurus" if (day < 21) else "Gemini"
elif month == "06":
sign = "Gemini" if (day < 21) else "Cancer"
elif month == "07":
sign = "Cancer" if (day < 23) else "Leo"
elif month == "08":
sign = "Leo" if (day < 23) else "Virgo"
elif month == "09":
sign = "Virgo" if (day < 23) else "Libra"
elif month == "10":
sign = "Libra" if (day < 23) else "Scorpion"
elif month == "11":
sign = "Scorpio" if (day < 22) else "Sagittarius"
sign = f"{sign}"
params = (("sign", sign), ("today", day))
response = requests.post("https://aztro.sameerkumar.website/", params=params)
json = response.json()
dd = json.get("current_date")
ds = json.get("description")
lt = json.get("lucky_time")
md = json.get("mood")
cl = json.get("color")
ln = json.get("lucky_number")
await event.delete()
await event.client.send_message(
event.chat_id,
f"""
Name -: {name}
D.O.B -: {paida}
Lived -: {saal}yr, {mahina}m, {din}d, {ghanta}hr, {mi}min, {slive}sec
Birthday -: {hp}
Zodiac -: {sign}
**Horoscope On {dd} -**
`{ds}`
Lucky Time :- {lt}
Lucky Number :- {ln}
Lucky Color :- {cl}
Mood :- {md}
""",
reply_to=event.reply_to_msg_id,
)
@ultroid_cmd(pattern="sticker ?(.*)")
async def _(event):
x = event.pattern_match.group(1)
if not x:
return await eor(event, "`Give something to search`")
uu = await eor(event, "`Processing...`")
z = requests.get("https://combot.org/telegram/stickers?q=" + x).text
xx = b(z, "lxml")
title = xx.find_all("div", "sticker-pack__title")
link = xx.find_all("a", {"class": "sticker-pack__btn"})
if not link:
return await uu.edit("Found Nothing")
a = "SᴛɪᴄᴋEʀs Aᴡᴀɪʟᴀʙʟᴇ ~"
for xxx, yyy in zip(title, link):
v = xxx.get_text()
w = yyy["href"]
d = f"\n\n[{v}]({w})"
if d not in a:
a += d
await uu.edit(a)
@ultroid_cmd(pattern="wall ?(.*)")
async def wall(event):
inp = event.pattern_match.group(1)
if not inp:
return await eor(event, "`Give me something to search..`")
nn = await eor(event, "`Processing Keep Patience...`")
query = f"hd {inp}"
gi = googleimagesdownload()
args = {
"keywords": query,
"limit": 10,
"format": "jpg",
"output_directory": "./resources/downloads/",
}
gi.download(args)
xx = choice(os.listdir(os.path.abspath(f"./resources/downloads/{query}/")))
await event.client.send_file(event.chat_id, f"./resources/downloads/{query}/{xx}")
rmtree(f"./resources/downloads/{query}/")
await nn.delete()
HELP.update({f"{__name__.split('.')[1]}": f"{__doc__.format(i=Var.HNDLR)}"})