diff --git a/misskaty/plugins/dev.py b/misskaty/plugins/dev.py index 8486be01..91275f55 100644 --- a/misskaty/plugins/dev.py +++ b/misskaty/plugins/dev.py @@ -20,13 +20,14 @@ from psutil import virtual_memory from pyrogram import enums, filters, Client from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message +from pyrogram.raw.types import UpdateBotStopped from misskaty import app, user, botStartTime, BOT_NAME from misskaty.helper.http import http from misskaty.helper.eval_helper import meval, format_exception from misskaty.helper.localization import use_chat_lang from misskaty.helper.human_read import get_readable_file_size, get_readable_time -from misskaty.vars import COMMAND_HANDLER, SUDO +from misskaty.vars import COMMAND_HANDLER, SUDO, LOG_CHANNEL __MODULE__ = "DevCommand" __HELP__ = """ @@ -297,6 +298,12 @@ async def update_restart(self: Client, ctx: Message, strings) -> "Message": pickle.dump([ctx.chat.id, msg.id], status) os.execvp(sys.executable, [sys.executable, "-m", "misskaty"]) + +@app.on_raw_update(group=-99) +async def updtebot(client, update, users, chats): + if isinstance(update, UpdateBotStopped): + user = users[update.user_id] + await client.send_msg(LOG_CHANNEL, f"{user.mention} ({user.id}) " f"{'BLOCKED' if update.stopped else 'UNBLOCKED'} the bot at " f"{datetime.fromtimestamp(update.date)}") async def aexec(code, c, m): exec("async def __aexec(c, m): " + "\n p = print" + "\n replied = m.reply_to_message" + "".join(f"\n {l_}" for l_ in code.split("\n")))