TelegramBot/plugins/commands/toggle.py

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,
)
)