diff --git a/bot/helper/mirror_utils/download_utils/telegram_downloader.py b/bot/helper/mirror_utils/download_utils/telegram_downloader.py index 8f8a671..4531681 100644 --- a/bot/helper/mirror_utils/download_utils/telegram_downloader.py +++ b/bot/helper/mirror_utils/download_utils/telegram_downloader.py @@ -68,7 +68,12 @@ class TelegramDownloadHelper(DownloadHelper): _message = self.__user_bot.get_messages(bot.get_me().id, message.message_id) else: _message = self.__user_bot.get_messages(message.chat.id, message.message_id) - media = _message.document + media = None + media_array = [_message.document, _message.video, _message.audio] + for i in media_array: + if i is not None: + media = i + break if media is not None: with global_lock: # For avoiding locking the thread lock for long time unnecessarily diff --git a/bot/modules/mirror.py b/bot/modules/mirror.py index ed45311..31538e6 100644 --- a/bot/modules/mirror.py +++ b/bot/modules/mirror.py @@ -1,23 +1,25 @@ +import os +import pathlib + +import requests from telegram.ext import CommandHandler, run_async -from bot.helper.mirror_utils.status_utils import listeners -from bot.helper.mirror_utils.upload_utils import gdriveTools -from bot.helper.mirror_utils.download_utils import aria2_download -from bot.helper.mirror_utils.status_utils.upload_status import UploadStatus -from bot.helper.mirror_utils.status_utils.tar_status import TarStatus + +from bot import Interval, INDEX_URL from bot import dispatcher, DOWNLOAD_DIR, DOWNLOAD_STATUS_UPDATE_INTERVAL, download_dict, download_dict_lock from bot.helper.ext_utils import fs_utils, bot_utils -from bot import Interval, INDEX_URL -from bot.helper.telegram_helper.message_utils import * from bot.helper.ext_utils.bot_utils import setInterval -from bot.helper.telegram_helper.filters import CustomFilters -from bot.helper.telegram_helper.bot_commands import BotCommands -import pathlib -import os +from bot.helper.ext_utils.exceptions import DirectDownloadLinkException +from bot.helper.mirror_utils.download_utils import aria2_download from bot.helper.mirror_utils.download_utils.direct_link_generator import direct_link_generator from bot.helper.mirror_utils.download_utils.telegram_downloader import TelegramDownloadHelper -from bot.helper.ext_utils.exceptions import DirectDownloadLinkException -import requests -import threading +from bot.helper.mirror_utils.status_utils import listeners +from bot.helper.mirror_utils.status_utils.tar_status import TarStatus +from bot.helper.mirror_utils.status_utils.upload_status import UploadStatus +from bot.helper.mirror_utils.upload_utils import gdriveTools +from bot.helper.telegram_helper.bot_commands import BotCommands +from bot.helper.telegram_helper.filters import CustomFilters +from bot.helper.telegram_helper.message_utils import * + class MirrorListener(listeners.MirrorListeners): def __init__(self, bot, update, isTar=False, tag=None): @@ -142,12 +144,18 @@ def _mirror(bot, update, isTar=False): link = link.strip() reply_to = update.message.reply_to_message if reply_to is not None: + file = None tag = reply_to.from_user.username - document = reply_to.document + media_array = [reply_to.document, reply_to.video, reply_to.audio] + for i in media_array: + if i is not None: + file = i + break + if len(link) == 0: - if document is not None: - if document.file_size <= 20 * 1024 * 1024: - link = document.get_file().file_path + if file is not None: + if file.file_size <= 20 * 1024 * 1024: + link = file.get_file().file_path else: listener = MirrorListener(bot, update, isTar, tag) tg_downloader = TelegramDownloadHelper(listener)