import os from .. import loader, utils from asyncio import sleep def register(cb): cb(ReplyDownloaderMod()) class ReplyDownloaderMod(loader.Module): """Скачать файлом реплай.""" strings = {'name': 'Reply Downloader'} async def dlrcmd(self, message): """Команда .dlr <реплай на файл> <название (по желанию)> скачивает файл, либо сохраняет текст в файл на который был сделан реплай.""" name = utils.get_args_raw(message) reply = await message.get_reply_message() if reply: await message.edit('Скачиваем...') if reply.text: text = reply.text fname = f'{name or message.id+reply.id}.txt' file = open(fname, 'w') file.write(text) file.close() await message.edit(f'Файл сохранён как: {fname}.\n\nВы можете отправить его в этот чат с помощью команды .ulf {fname}.') else: ext = reply.file.ext fname = f'{name or message.id+reply.id}{ext}' await message.client.download_media(reply, fname) await message.edit(f'Этот файл сохранён как: {fname}.\n\nВы можете отправить его в этот чат с помощью команды .ulf {fname}.') else: return await message.edit('Нет реплая.') async def ulfcmd(self, message): """Команда .ulf * <название файла> отправляет файл в чат.\n* - удалить файл после отправки.""" name = utils.get_args_raw(message) d = False if('d ' in name): d = True if name: try: name = name.replace('d ', '') await message.edit(f'Отправляем {name}...') if d == True: await message.client.send_file(message.to_id, f'{name}') await message.edit(f'Отправляем {name}... Успешно!\nУдаляем {name}...') os.remove(name) await message.edit(f'Отправляем {name}... Успешно!\nУдаляем {name}... Успешно!') await sleep(0.5) else: await message.client.send_file(message.to_id, name) except: return await message.edit('Такой файл не существует.') await message.delete() else: return await message.edit('Нет аргументов.')