# Ultroid - UserBot
# Copyright (C) 2021 TeamUltroid
#
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
# PLease read the GNU Affero General Public License in
# .
"""
✘ Commands Available -
• `{i}deez `
Download songs from Deezer
"""
import os
import time
from json.decoder import JSONDecodeError
import requests as r
from telethon.tl.types import DocumentAttributeAudio
from . import *
@ultroid_cmd(
pattern="deez ?(.*)",
)
async def siesace(e):
song = e.pattern_match.group(1)
if not song:
return await eod(e, "Give me Something to Search")
quality = "mp3"
if "| flac" in song:
try:
song = song.split("|")[0]
quality = "flac"
except Exception as ex:
await eod(e, f"`{str(ex)}`")
hmm = time.time()
lol = await eor(e, "`Searching on Deezer...`")
sung = song.replace(" ", "%20")
url = f"https://jostapi.herokuapp.com/deezer?query={sung}&quality={quality}&count=1"
try:
k = (r.get(url)).json()[0]
except IndexError:
return await eod(lol, "`Song Not Found.. `")
except JSONDecodeError:
return await eod(
lol, f"`Tell `[sɪᴘᴀᴋ](tg://user?id=1303895686)`to turn on API.`"
)
try:
title = k["title"]
urrl = k["raw_link"]
img = k["album"]["cover_xl"]
duration = k["duration"]
singers = k["artist"]["name"]
except Exception as ex:
return await eod(lol, f"`{str(ex)}`")
await download_file(urrl, title + "." + quality)
await download_file(img, title + ".jpg")
okk = await uploader(
title + "." + quality,
title + "." + quality,
hmm,
lol,
"Uploading " + title + "...",
)
await e.reply(
"`" + title + "`" + "\n`From Deezer`",
file=okk,
attributes=[
DocumentAttributeAudio(
duration=int(duration),
title=title,
performer=singers,
)
],
supports_streaming=True,
thumb=title + ".jpg",
)
await lol.delete()
os.remove(title + "." + quality)
os.remove(title + ".jpg")