File size: 1,125 Bytes
11fa042
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pyrogram import Client, filters
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from ..utils.helper import check_chat
from ..svcs.settings_svc import settings_svc
from ..svcs.user_svc import add_user_if_new

async def dm_only_message(message, bot_username):
    keyboard = InlineKeyboardMarkup([
        [InlineKeyboardButton("Open Settings in DM", url=f"https://t.me/{bot_username}?start=settings")]
    ])
    await message.reply(
        "▸ <b>Settings</b>\n"
        "Status: ● Private Only\n\n"
        "<blockquote>Settings can only be configured in private chat.\n"
        "Please DM me to manage your encoding preferences.</blockquote>",
        reply_markup=keyboard
    )

@Client.on_message(filters.command("settings"))
async def settings_command_handler(bot: Client, message):
    if message.chat.type != "private":
        bot_info = await bot.get_me()
        await dm_only_message(message, bot_info.username)
        return
        
    await add_user_if_new(bot, message)
    text, markup = await settings_svc.get_main_menu()
    await message.reply(text, reply_markup=markup)