46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
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,
|
|
)
|
|
)
|