[fix]: Fix paths
This commit is contained in:
parent
f5644666be
commit
a61b74c608
@ -7,6 +7,7 @@ from os import mkdir, rmdir, remove
|
|||||||
|
|
||||||
from cairosvg import svg2png
|
from cairosvg import svg2png
|
||||||
|
|
||||||
|
dir = "tmp"
|
||||||
|
|
||||||
class FileExt(commands.Cog):
|
class FileExt(commands.Cog):
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
@ -16,42 +17,42 @@ class FileExt(commands.Cog):
|
|||||||
async def on_message(self, message):
|
async def on_message(self, message):
|
||||||
if message.attachments:
|
if message.attachments:
|
||||||
files = []
|
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)):
|
if list(filter(lambda x: splitext(x.filename)[1] in ('.mkv', '.svg'), message.attachments)):
|
||||||
m = await message.reply("Конвертация...")
|
m = await message.reply("Конвертация...")
|
||||||
|
|
||||||
|
|
||||||
# MKV
|
# MKV
|
||||||
for at in filter(lambda x: x.filename.endswith('.mkv'), message.attachments):
|
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
|
import ffmpeg
|
||||||
(
|
(
|
||||||
ffmpeg
|
ffmpeg
|
||||||
.input(joinpath("/home/pi/Koteika/tmp", str(message.id), at.filename))
|
.input(joinpath(dir, str(message.id), at.filename))
|
||||||
.output(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.mp4'))
|
.output(joinpath(dir, str(message.id), splitext(at.filename)[0]+'.mp4'))
|
||||||
.run()
|
.run()
|
||||||
)
|
)
|
||||||
remove(joinpath("/home/pi/Koteika/tmp", str(message.id), at.filename))
|
remove(joinpath(dir, str(message.id), at.filename))
|
||||||
with open(joinpath("/home/pi/Koteika/tmp", str(message.id), splitext(at.filename)[0]+'.mp4'), 'rb') as f:
|
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') )
|
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
|
# SVG
|
||||||
for at in filter(lambda x: x.filename.endswith('.svg'), message.attachments):
|
for at in filter(lambda x: x.filename.endswith('.svg'), message.attachments):
|
||||||
code = await at.read()
|
code = await at.read()
|
||||||
code = code.decode("utf-8")
|
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') )
|
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:
|
if files:
|
||||||
await message.reply(files=files)
|
await message.reply(files=files)
|
||||||
await m.delete()
|
await m.delete()
|
||||||
|
|
||||||
rmdir(joinpath("/home/pi/Koteika/tmp", str(message.id)))
|
rmdir(joinpath(dir, str(message.id)))
|
||||||
|
|
||||||
async def setup(bot):
|
async def setup(bot):
|
||||||
await bot.add_cog(FileExt(bot))
|
await bot.add_cog(FileExt(bot))
|
||||||
|
@ -4,7 +4,9 @@ from discord import app_commands
|
|||||||
from discord.app_commands import Choice
|
from discord.app_commands import Choice
|
||||||
from discord.ext import commands, tasks
|
from discord.ext import commands, tasks
|
||||||
from os import listdir
|
from os import listdir
|
||||||
from os.path import splitext
|
from os.path import splitext, join
|
||||||
|
|
||||||
|
dir = "Stickers"
|
||||||
|
|
||||||
class Stickers(commands.Cog, name="Стикеры"):
|
class Stickers(commands.Cog, name="Стикеры"):
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
@ -20,7 +22,7 @@ class Stickers(commands.Cog, name="Стикеры"):
|
|||||||
color = discord.Color(0xaaffaa)
|
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)
|
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)
|
await ctx.send(embed=embed)
|
||||||
|
|
||||||
@ -35,7 +37,7 @@ class Stickers(commands.Cog, name="Стикеры"):
|
|||||||
|
|
||||||
embed = discord.Embed(color=color)
|
embed = discord.Embed(color=color)
|
||||||
embed.set_author(name=ctx.author.name, icon_url=ctx.author.avatar)
|
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)
|
await ctx.send(content, file=discord.File(f), embed=embed, reference=ctx.message.reference)
|
||||||
try: await ctx.message.delete()
|
try: await ctx.message.delete()
|
||||||
except: pass
|
except: pass
|
||||||
@ -43,9 +45,9 @@ class Stickers(commands.Cog, name="Стикеры"):
|
|||||||
@app_commands.command(name="sticker", description="Отправляет стикер")
|
@app_commands.command(name="sticker", description="Отправляет стикер")
|
||||||
@app_commands.guilds(discord.Object(822157545622863902))
|
@app_commands.guilds(discord.Object(822157545622863902))
|
||||||
@app_commands.describe(sticker="Стикер")
|
@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]):
|
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))
|
await inter.response.send_message(file=discord.File(f))
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user