from .. import loader, utils import os __version__ = (1, 0, 0) # meta developer: @kmodules @loader.tds class GPMToolMod(loader.Module): """Модуль позволяет пересылать сообщение из канала, где это запрещено.""" strings = { "name": "GPMTool", "no_args": "🚫 Укажите ссылку правильно.\n\n
Пример: .gpm https://t.me/channel/9
", "invalid_args": "🚫 Неверный формат ссылки.", "msg_not_found": "🚫 Сообщение не найдено.", "no_premium": "👎 У вас нету Telegram Premium. \n\n
Сообщение будет отправлено без премиум эмоджи.
", "loading": "🤑 Загрузка..." } async def client_ready(self, client, db): self.client = client @loader.command() async def gpm(self, message): """<ссылка: https://t.me/канал/номер_поста> Переслать сообщения из канала, где запрещено.""" args = utils.get_args_raw(message) if not args: await utils.answer(message, self.strings["no_args"]) return try: if not args.startswith('https://t.me/'): await utils.answer(message, self.strings["invalid_args"]) return channel = args.split('https://t.me/')[1].split('/')[0] msg_id = int(args.split('/')[-1]) except ValueError: await utils.answer(message, self.strings["invalid_args"]) return await utils.answer(message, self.strings["loading"]) me = await self.client.get_me() has_premium = getattr(me, 'premium', False) copied_message = await self.client.get_messages(channel, ids=msg_id) if not copied_message: await utils.answer(message, self.strings["msg_not_found"]) return media = None caption = copied_message.message file_path = None if copied_message.media: file_path = await copied_message.download_media() if hasattr(copied_message.media, 'photo'): media = 'photo' elif hasattr(copied_message.media, 'document'): media = 'document' elif hasattr(copied_message.media, 'audio'): media = 'audio' elif hasattr(copied_message.media, 'video'): media = 'video' elif hasattr(copied_message.media, 'voice'): media = 'voice' elif hasattr(copied_message.media, 'video_note'): media = 'video_note' elif hasattr(copied_message.media, 'sticker'): media = 'sticker' if media: if media == 'photo': await self.client.send_file( message.chat_id, file_path, caption=caption, parse_mode='html', formatting_entities=copied_message.entities ) else: await self.client.send_file( message.chat_id, file_path, caption=caption, parse_mode='html', formatting_entities=copied_message.entities, voice_note=(media == 'voice'), video_note=(media == 'video_note') ) if file_path: os.remove(file_path) await message.delete() else: await utils.answer( message, copied_message.message, parse_mode='html' ) if not has_premium and message.chat_id != "me": await self.client.send_message(message.chat_id, self.strings["no_premium"])