# -- version --
__version__ = (1, 0, 0)
# -- version --
# ███╗░░░███╗███████╗░█████╗░██████╗░░█████╗░░██╗░░░░░░░██╗░██████╗░██████╗
# ████╗░████║██╔════╝██╔══██╗██╔══██╗██╔══██╗░██║░░██╗░░██║██╔════╝██╔════╝
# ██╔████╔██║█████╗░░███████║██║░░██║██║░░██║░╚██╗████╗██╔╝╚█████╗░╚█████╗░
# ██║╚██╔╝██║██╔══╝░░██╔══██║██║░░██║██║░░██║░░████╔═████║░░╚═══██╗░╚═══██╗
# ██║░╚═╝░██║███████╗██║░░██║██████╔╝╚█████╔╝░░╚██╔╝░╚██╔╝░██████╔╝██████╔╝
# ╚═╝░░░░░╚═╝╚══════╝╚═╝░░╚═╝╚═════╝░░╚════╝░░░░╚═╝░░░╚═╝░░╚═════╝░╚═════╝░
# © Copyright 2025
# ✈ https://t.me/mead0wssMods
# meta developer: @mead0wssMods
# -- main --
from .. import loader, utils
import io
import requests
import json
# -- main --
@loader.tds
class tmpfilesMod(loader.Module): # initialization
"""Модуль для загрузки файлов на tmpfiles.org"""
strings = {
"name": "tmpfiles",
"uploading": "🫥 Uploading file...",
"reply_to_file": "❌ Reply to file!",
"uploaded": "❤️ Successful! File uploaded!\n\n🔗 URL: {}",
"error": "❌ Error while uploading: {}"
}
# стринги (не мои)
strings_ru = {
"name": "tmpfiles",
"uploading": "🫥 Загружаю файл...",
"reply_to_file": "❌ Ответьте на файл!",
"uploaded": "️❤️ Файл успешно загружен!\n\n🔗 URL: {}",
"error": "❌ Ошибка при загрузке: {}"
}
async def _get_file(self, message): # helper
"""Helper to get file from message"""
reply = await message.get_reply_message()
if not reply:
await utils.answer(message, self.strings["reply_to_file"])
return None
if reply.media:
file = io.BytesIO(await self.client.download_media(reply.media, bytes))
if hasattr(reply.media, "document"):
file.name = reply.file.name or f"file_{reply.file.id}"
else:
file.name = f"file_{reply.id}.jpg"
else:
file = io.BytesIO(bytes(reply.raw_text, "utf-8"))
file.name = "text.txt"
return file
@loader.command(
ru_doc = "Загрузка ваших файлов на tmpfiles.org", #loader
en_doc = "Uploading your files to tmpfiles.org"
)
async def tmpfilescmd(self, message): # upload files
await utils.answer(message, self.strings["uploading"])
file = await self._get_file(message)
if not file:
return
try:
response = requests.post(
"https://tmpfiles.org/api/v1/upload", # requests
files={"file": file}
)
if response.ok:
data = json.loads(response.text)
url = data["data"]["url"]
await utils.answer(message, self.strings["uploaded"].format(url))
else:
await utils.answer(message, self.strings["error"].format(response.status_code))
except Exception as e:
await utils.answer(message, self.strings["error"].format(str(e)))
# Структура модуля (да и сама логика) взята с K:Uploader <3