from .. import loader, utils from telethon import events from telethon.errors.rpcerrorlist import YouBlockedUserError from asyncio.exceptions import TimeoutError def register(cb): cb(KKTextMod()) class KKTextMod(loader.Module): """K&K Text by @ktxtBot""" strings = {'name': 'K&K Text'} async def kktcmd(self, message): """Используйте .kkt <текст или реплай>.""" try: text = utils.get_args_raw(message) reply = await message.get_reply_message() chat = "@ktxtBot" if not text and not reply: await message.edit("Нет текста или реплая.") return if text: await message.edit("Минуточку...") async with message.client.conversation(chat) as conv: try: response = conv.wait_event(events.NewMessage(incoming=True, from_users=700914652)) await message.client.send_message(chat, text) response = await response except YouBlockedUserError: await message.reply("Разблокируй бота @ktxtBot.") return if not response.text: await message.edit("<Бот ответил не текстовым форматом, попробуйте ещё раз.") return await message.delete() await message.client.send_message(message.to_id, response.text) if reply: await message.edit("Минуточку...") async with message.client.conversation(chat) as conv: try: response = conv.wait_event(events.NewMessage(incoming=True, from_users=700914652)) await message.client.send_message(chat, reply) response = await response except YouBlockedUserError: await message.reply("Разблокируй бота @ktxtBot.") return if not response.text: await message.edit("<Бот ответил не текстовым форматом, попробуйте ещё раз.") return await message.delete() await message.client.send_message(message.to_id, response.text) except TimeoutError: return await message.edit("Истекло время ожидания. Либо бот сдох, либо текст слишком большой, и бот не отвечает.")