mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-17 23:32:10 +00:00
Tag: 1.1
Intermediate commits (oldest → newest): - Coroutine fix - Pornol dl 1 - Pornol dl2
This commit is contained in:
@@ -663,7 +663,7 @@ async def get_file(ctx, source, link):
|
|||||||
url_dict["songs"] = file_list
|
url_dict["songs"] = file_list
|
||||||
url_data["urls"].append(url_dict.copy())
|
url_data["urls"].append(url_dict.copy())
|
||||||
file_name_f = youtube_download.default_filename
|
file_name_f = youtube_download.default_filename
|
||||||
youtube_download.download_songs(
|
coro = asyncio.to_thread(youtube_download.download_songs,
|
||||||
songs=url_data,
|
songs=url_data,
|
||||||
output_dir=MUSIC_FOLDER,
|
output_dir=MUSIC_FOLDER,
|
||||||
format_str="bestaudio/best",
|
format_str="bestaudio/best",
|
||||||
@@ -676,6 +676,7 @@ async def get_file(ctx, source, link):
|
|||||||
multi_core=0,
|
multi_core=0,
|
||||||
proxy="",
|
proxy="",
|
||||||
)
|
)
|
||||||
|
_ = await coro
|
||||||
dir_path = (url_dict["save_path"].resolve()).as_posix()
|
dir_path = (url_dict["save_path"].resolve()).as_posix()
|
||||||
if platform == "win32":
|
if platform == "win32":
|
||||||
dir_path = dir_path.replace("/", "\\")
|
dir_path = dir_path.replace("/", "\\")
|
||||||
@@ -728,7 +729,8 @@ async def get_file(ctx, source, link):
|
|||||||
ydl_opts["postprocessors"].append(mp3_postprocess_opts.copy())
|
ydl_opts["postprocessors"].append(mp3_postprocess_opts.copy())
|
||||||
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
|
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
|
||||||
try:
|
try:
|
||||||
ydl.download([query])
|
coro = asyncio.to_thread(ydl.download, [query])
|
||||||
|
_ = await coro
|
||||||
except Exception as exce: # pylint: disable=broad-exception-caught
|
except Exception as exce: # pylint: disable=broad-exception-caught
|
||||||
logger.error(exce)
|
logger.error(exce)
|
||||||
logger.info(
|
logger.info(
|
||||||
@@ -748,7 +750,40 @@ async def get_file(ctx, source, link):
|
|||||||
)
|
)
|
||||||
logger.error("Wrong link provided youtube: %s", link)
|
logger.error("Wrong link provided youtube: %s", link)
|
||||||
return "", None
|
return "", None
|
||||||
|
elif source == "Pornol":
|
||||||
|
|
||||||
|
dir_path = ""
|
||||||
|
file_list = []
|
||||||
|
query = link
|
||||||
|
sponsorblock_postprocessor = [
|
||||||
|
{
|
||||||
|
"key": "SponsorBlock",
|
||||||
|
"categories": ["skip_non_music_sections"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ModifyChapters",
|
||||||
|
"remove_sponsor_segments": ["music_offtopic"],
|
||||||
|
"force_keyframes": True,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
# TODO: Make sponsorblock work
|
||||||
|
sponsorblock_postprocessor = []
|
||||||
|
dir_path = "/home/pi/RetroPie/movies/porn"
|
||||||
|
ydl_opts = {
|
||||||
|
"postprocessors": sponsorblock_postprocessor,
|
||||||
|
"paths": {"home": dir_path},
|
||||||
|
}
|
||||||
|
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
|
||||||
|
try:
|
||||||
|
coro = asyncio.to_thread(ydl.download, [query])
|
||||||
|
_ = await coro
|
||||||
|
except Exception as exce: # pylint: disable=broad-exception-caught
|
||||||
|
logger.error(exce)
|
||||||
|
logger.info(
|
||||||
|
"Failed to download %s, make sure yt_dlp is up to date", link
|
||||||
|
)
|
||||||
|
file_list.append("wiadomo co wiadomo gdzie")
|
||||||
|
return dir_path, file_list
|
||||||
|
|
||||||
# define an asynchronous generator
|
# define an asynchronous generator
|
||||||
async def async_iterator_generator(range_of_iterable):
|
async def async_iterator_generator(range_of_iterable):
|
||||||
@@ -1300,8 +1335,7 @@ async def zagraj_mi_kawalek(ctx):
|
|||||||
async with ctx.typing():
|
async with ctx.typing():
|
||||||
search_time_glob = datetime.now()
|
search_time_glob = datetime.now()
|
||||||
logger.info("Zaczynam szukać timestamp %s", datetime.now())
|
logger.info("Zaczynam szukać timestamp %s", datetime.now())
|
||||||
coro = asyncio.to_thread(wyszukaj,ctx=ctx)
|
file = await wyszukaj(ctx=ctx)
|
||||||
file = await coro
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"Koniec szukania(timestamp %s zajęło %s",
|
"Koniec szukania(timestamp %s zajęło %s",
|
||||||
datetime.now(),
|
datetime.now(),
|
||||||
@@ -1651,6 +1685,40 @@ async def parametry_muzyki_mego_ludu(ctx, ile_historii=1500, ile_slow_kluczowych
|
|||||||
global MUZYKA_MOJEGO_LUDU_PLAJLISTA # pylint: disable=global-statement
|
global MUZYKA_MOJEGO_LUDU_PLAJLISTA # pylint: disable=global-statement
|
||||||
MUZYKA_MOJEGO_LUDU_PLAJLISTA = jak_dluga_plejlista
|
MUZYKA_MOJEGO_LUDU_PLAJLISTA = jak_dluga_plejlista
|
||||||
|
|
||||||
|
@client.hybrid_command(
|
||||||
|
name="krecimy_pornola",
|
||||||
|
description="Wiadomo co, dla kogo i po co",
|
||||||
|
guild=discord.Object(id=664789470779932693),
|
||||||
|
)
|
||||||
|
async def krecimy_pornola(ctx):
|
||||||
|
"""
|
||||||
|
Download a music number from youtube.
|
||||||
|
|
||||||
|
:param ctx: ctx stands for "context" and is a parameter commonly used in Discord.py commands. It
|
||||||
|
represents the context in which the command was invoked, including information such as the message,
|
||||||
|
the channel, the server, and the user who invoked the command. It allows the command to interact
|
||||||
|
with the Discord API and
|
||||||
|
"""
|
||||||
|
await ctx.send("Dej mnie chwilkę")
|
||||||
|
allowed = False
|
||||||
|
for role in ctx.author.roles:
|
||||||
|
if role.name == "Bartender":
|
||||||
|
allowed = True
|
||||||
|
if allowed:
|
||||||
|
logger.info("Pornol")
|
||||||
|
async with ctx.typing():
|
||||||
|
# wyciagnij linka z kontekstu
|
||||||
|
content = ctx.message.content.split()
|
||||||
|
for item_yt in content:
|
||||||
|
if re.match("http.*", item_yt):
|
||||||
|
sciezka, files = await get_file(ctx, "Pornol", item_yt)
|
||||||
|
if files:
|
||||||
|
logger.info("Pornol udany")
|
||||||
|
ctx.reply(f"Jest w tajnym archiwum pod adresem{sciezka})")
|
||||||
|
else:
|
||||||
|
ctx.reply("Jak ładnie szefa poprosisz.")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# *================================== Run
|
# *================================== Run
|
||||||
# trunk-ignore(mypy/arg-type)
|
# trunk-ignore(mypy/arg-type)
|
||||||
|
|||||||
Reference in New Issue
Block a user