From 680515bc0cc2c81ad0460aa7bf445e0565cbf00d Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 18 Oct 2025 11:41:28 +0200 Subject: upload to server if file too big for conv --- cogs/conversion.py | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/cogs/conversion.py b/cogs/conversion.py index 2bfd3e9..6566ece 100644 --- a/cogs/conversion.py +++ b/cogs/conversion.py @@ -1,4 +1,5 @@ import discord +import requests from discord.ext import commands import logging import os @@ -64,7 +65,56 @@ class Conversion(commands.Cog): try: subprocess.run(ffmpeg_command, check=True, shell=True) # Upload the compressed file - await ctx.respond(file=discord.File(output_path)) + if os.path.getsize(output_path) > 1024*1024*10: + try: + + # Upload to Copyparty + with open(output_path, 'rb') as f: + files = { + 'f': (output_path, f, 'application/octet-stream') + } + headers = { + 'Cookie': f'cppwd={os.getenv("COPYPARTY_PASSWORD")}' + } + params = { + 'j': '1', # Return JSON response + 'ck': 'b2' # Use blake2b checksum + } + + # Ensure the URL ends with a single slash + base_url = "https://catbox.2137697.xyz/sperma/" + + response = requests.post( + base_url, + files=files, + headers=headers, + params=params + ) + + if response.status_code == 200 or response.status_code == 201: + try: + result = response.json() + if 'fileurl' in result: + dl_url = result['fileurl'] + await ctx.followup.send( + f"wysyłon\n" + f"{dl_url}\n" + ) + else: + await ctx.followup.send( + f"Odpowiedź serwera nie zawiera wymaganych danych: {result}") + except ValueError: + await ctx.followup.send(f"Nieprawidłowa odpowiedź z serwera: {response.text}") + else: + error_msg = response.text if response.text else 'Unknown error' + await ctx.followup.send( + f"nie udało się wysłać pliku (HTTP {response.status_code}): {error_msg}") + + except Exception as upload_error: + await ctx.followup.send(f"copyparty mnie nienawidzi :cccc\n {str(upload_error)}") + logger.error(f"copyparty upload error: {upload_error}", exc_info=True) + else: + await ctx.respond(file=discord.File(output_path)) logger.info(f"Conversion completed for: {file_type}") # Delete compressed file os.remove(input_path) -- cgit v1.2.3