From a4323981fbb953fca2f299c0c60387ad1767e822 Mon Sep 17 00:00:00 2001 From: profitroll Date: Sat, 18 Mar 2023 20:53:26 +0100 Subject: [PATCH] WIP: Media import/export --- modules/app.py | 3 +++ plugins/commands/photos.py | 11 ++++++++++- plugins/handlers/submission.py | 4 +++- poster.py | 3 +++ requirements-optional.txt | 2 +- requirements.txt | 3 ++- 6 files changed, 22 insertions(+), 4 deletions(-) diff --git a/modules/app.py b/modules/app.py index 91b6ecd..4216f27 100644 --- a/modules/app.py +++ b/modules/app.py @@ -1,5 +1,6 @@ from modules.utils import configGet from classes.poster_client import PosterClient +from convopyro import Conversation app = PosterClient( "duptsiaposter", @@ -7,3 +8,5 @@ app = PosterClient( api_id=configGet("api_id", "bot"), api_hash=configGet("api_hash", "bot"), ) + +Conversation(app) diff --git a/plugins/commands/photos.py b/plugins/commands/photos.py index 7b7dbc0..20963fb 100644 --- a/plugins/commands/photos.py +++ b/plugins/commands/photos.py @@ -1,5 +1,6 @@ from pyrogram import filters from pyrogram.types import Message +from convopyro import listen_message from classes.poster_client import PosterClient from modules.app import app @@ -8,7 +9,15 @@ from modules.app import app @app.on_message(~filters.scheduled & filters.command(["import"], prefixes=["", "/"])) async def cmd_import(app: PosterClient, msg: Message): if msg.from_user.id in app.admins: - pass + print("Listening to file...", flush=True) + answer = await app.listen.Message( + filters.document, id=filters.user(msg.from_user.id), timeout=None + ) + if answer is None: + return + print("Gotcha", flush=True) + await answer.reply_text("Gotcha") + return @app.on_message(~filters.scheduled & filters.command(["export"], prefixes=["", "/"])) diff --git a/plugins/handlers/submission.py b/plugins/handlers/submission.py index fd06049..244bf67 100644 --- a/plugins/handlers/submission.py +++ b/plugins/handlers/submission.py @@ -49,7 +49,9 @@ async def get_submission(app: PosterClient, msg: Message): ) if msg.document.mime_type not in configGet("mime_types", "submission"): await msg.reply_text( - locale("mime_not_allowed", "message", locale=user_locale), + locale("mime_not_allowed", "message", locale=user_locale).format( + ", ".join(configGet("mime_types", "submission")) + ), quote=True, ) return diff --git a/poster.py b/poster.py index faa6624..f314a48 100644 --- a/poster.py +++ b/poster.py @@ -64,6 +64,9 @@ if configGet("submit", "mode"): from plugins.commands.mode_submit import * from plugins.handlers.submission import * +if configGet("post", "mode"): + from plugins.commands.photos import * + # if configGet("api_based", "mode"): # from modules.api_client import authorize # =========================================================================================================================================== diff --git a/requirements-optional.txt b/requirements-optional.txt index 717d475..c5a65b8 100644 --- a/requirements-optional.txt +++ b/requirements-optional.txt @@ -1 +1 @@ -tgcrypto~=1.2.5 \ No newline at end of file +tgcrypto==1.2.5 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 6ca7494..87314de 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ apscheduler~=3.10.1 -pyrogram~=2.0.102 pytimeparse~=1.1.8 +convopyro==0.5 +pyrogram~=2.0.102 aiofiles~=23.1.0 aiohttp~=3.8.4 psutil~=5.9.4