from datetime import datetime from pyrogram import filters from pyrogram.types import Message from classes.pyroclient import PyroClient from modules import custom_filters from modules.utils import from_utc @PyroClient.on_message( ~filters.scheduled & filters.private & filters.command(["toggle"], prefixes=["/"]) & ~custom_filters.context # type: ignore ) async def command_toggle(app: PyroClient, message: Message): user = await app.find_user(message.from_user) await user.update_state(not user.enabled) if user.enabled: await message.reply_text( app._("toggle_disabled", "messages", locale=user.locale) ) return user_time = from_utc( datetime(1970, 1, 1, user.time_hour, user.time_minute), None if user.location is None else user.location.timezone.zone, ).strftime(app._("time", "formats")) if user.location is None: await message.reply_text( app._("toggle_enabled", "messages", locale=user.locale).format( offset=user.offset, time=user_time, ), ) return await message.reply_text( app._("toggle_enabled_location", "messages", locale=user.locale).format( offset=user.offset, time=user_time, name=user.location.name, ) )