diff --git a/cogs/file_ext.py b/cogs/file_ext.py index e5f41cb..e314785 100644 --- a/cogs/file_ext.py +++ b/cogs/file_ext.py @@ -7,6 +7,7 @@ from os import mkdir, rmdir, remove from cairosvg import svg2png +dir = "tmp" class FileExt(commands.Cog): def __init__(self, bot): @@ -16,42 +17,42 @@ class FileExt(commands.Cog): async def on_message(self, message): if message.attachments: files = [] - mkdir(joinpath("/home/pi/Koteika/tmp", str(message.id))) + mkdir(joinpath(dir, str(message.id))) if list(filter(lambda x: splitext(x.filename)[1] in ('.mkv', '.svg'), message.attachments)): m = await message.reply("Конвертация...") # MKV for at in filter(lambda x: x.filename.endswith('.mkv'), message.attachments): - await at.save(fp=joinpath("/home/pi/Koteika/tmp", str(message.id), at.filename)) + await at.save(fp=joinpath(dir, str(message.id), at.filename)) import ffmpeg ( ffmpeg - .input(joinpath("/home/pi/Koteika/tmp", str(message.id), at.filename)) - .output(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.mp4')) + .input(joinpath(dir, str(message.id), at.filename)) + .output(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.mp4')) .run() ) - remove(joinpath("/home/pi/Koteika/tmp", str(message.id), at.filename)) - with open(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.mp4'), 'rb') as f: + remove(joinpath(dir, str(message.id), at.filename)) + with open(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.mp4'), 'rb') as f: files.append( discord.File(f, spoiler=at.is_spoiler(), filename=splitext(at.filename)[0]+'.mp4') ) - remove(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.mp4')) + remove(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.mp4')) # SVG for at in filter(lambda x: x.filename.endswith('.svg'), message.attachments): code = await at.read() code = code.decode("utf-8") - svg2png(bytestring=code, write_to=joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.png')) + svg2png(bytestring=code, write_to=joinpath(dir, str(message.id), splitext(at.filename)[0]+'.png')) - with open(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.png'), 'rb') as f: + with open(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.png'), 'rb') as f: files.append( discord.File(f, spoiler=at.is_spoiler(), filename=splitext(at.filename)[0]+'.png') ) - remove(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.png')) + remove(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.png')) if files: await message.reply(files=files) await m.delete() - rmdir(joinpath("/home/pi/Koteika/tmp", str(message.id))) + rmdir(joinpath(dir, str(message.id))) async def setup(bot): await bot.add_cog(FileExt(bot)) diff --git a/cogs/stickers.py b/cogs/stickers.py index 534d0ce..254f3a5 100644 --- a/cogs/stickers.py +++ b/cogs/stickers.py @@ -4,7 +4,9 @@ from discord import app_commands from discord.app_commands import Choice from discord.ext import commands, tasks from os import listdir -from os.path import splitext +from os.path import splitext, join + +dir = "Stickers" class Stickers(commands.Cog, name="Стикеры"): def __init__(self, bot): @@ -20,7 +22,7 @@ class Stickers(commands.Cog, name="Стикеры"): color = discord.Color(0xaaffaa) - list_ = listdir("/home/pi/Koteika/Stickers") + list_ = listdir(dir) embed = discord.Embed(title="Стикеры", description="\n".join([f"{i+1}: {list_[i]}" for i in range(len(list_))]), color=color) await ctx.send(embed=embed) @@ -35,7 +37,7 @@ class Stickers(commands.Cog, name="Стикеры"): embed = discord.Embed(color=color) embed.set_author(name=ctx.author.name, icon_url=ctx.author.avatar) - with open(f"/home/pi/Koteika/Stickers/{listdir('/home/pi/Koteika/Stickers')[sticker-1]}", 'rb') as f: + with open(join(dir, listdir(dir)[sticker-1]), 'rb') as f: await ctx.send(content, file=discord.File(f), embed=embed, reference=ctx.message.reference) try: await ctx.message.delete() except: pass @@ -43,9 +45,9 @@ class Stickers(commands.Cog, name="Стикеры"): @app_commands.command(name="sticker", description="Отправляет стикер") @app_commands.guilds(discord.Object(822157545622863902)) @app_commands.describe(sticker="Стикер") - @app_commands.choices(sticker=[Choice(name=splitext(i)[0], value=i) for i in listdir("/home/pi/Koteika/Stickers")]) + @app_commands.choices(sticker=[Choice(name=splitext(i)[0], value=i) for i in listdir(dir)]) async def send_sticker(self, inter, sticker: Choice[str]): - with open(f"/home/pi/Koteika/Stickers/{sticker.value}", 'rb') as f: + with open(join(dir, sticker.value), 'rb') as f: await inter.response.send_message(file=discord.File(f))