Spaces:
Running
Running
| from pyrogram import Client, filters | |
| from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup | |
| from mfinder.db.settings_sql import get_search_settings, change_search_settings | |
| from mfinder.utils.constants import SET_MSG | |
| async def user_settings(bot, update): | |
| from mfinder.plugins.serve import verify_force_sub | |
| if not await verify_force_sub(bot, update): | |
| return | |
| user_id = update.from_user.id | |
| set_kb = await find_search_settings(user_id) | |
| await bot.send_message( | |
| chat_id=user_id, | |
| text=SET_MSG, | |
| reply_markup=set_kb, | |
| ) | |
| async def set_precise_mode(bot, query): | |
| from mfinder.plugins.serve import verify_force_sub | |
| if not await verify_force_sub(bot, query): | |
| return | |
| user_id = query.from_user.id | |
| prsc_mode = query.data.split()[1] | |
| if prsc_mode == "on": | |
| await change_search_settings(user_id, precise_mode=True) | |
| if prsc_mode == "off": | |
| await change_search_settings(user_id, precise_mode=False) | |
| if prsc_mode == "md": | |
| await query.answer(text="Toggle Precise Search ON/OFF", show_alert=False) | |
| return | |
| set_kb = await find_search_settings(user_id) | |
| await query.message.edit( | |
| text=SET_MSG, | |
| reply_markup=set_kb, | |
| ) | |
| async def set_list_mode(bot, query): | |
| from mfinder.plugins.serve import verify_force_sub | |
| if not await verify_force_sub(bot, query): | |
| return | |
| user_id = query.from_user.id | |
| result_mode = query.data.split()[1] | |
| if result_mode == "btnn": | |
| await change_search_settings( | |
| user_id, button_mode=True, link_mode=False, list_mode=False | |
| ) | |
| if result_mode == "link": | |
| await change_search_settings( | |
| user_id, button_mode=False, link_mode=True, list_mode=False | |
| ) | |
| if result_mode == "list": | |
| await change_search_settings( | |
| user_id, button_mode=False, link_mode=False, list_mode=True | |
| ) | |
| if result_mode == "mode": | |
| await query.answer(text="Toggle Button/Link/List Mode", show_alert=False) | |
| return | |
| set_kb = await find_search_settings(user_id) | |
| await query.message.edit( | |
| text=SET_MSG, | |
| reply_markup=set_kb, | |
| ) | |
| async def find_search_settings(user_id): | |
| search_settings = await get_search_settings(user_id) | |
| kb = [ | |
| InlineKeyboardButton("[Precise Mode]:", callback_data="prec md"), | |
| ] | |
| on_kb = InlineKeyboardButton("β Disabled", callback_data="prec on") | |
| off_kb = InlineKeyboardButton("β Enabled", callback_data="prec off") | |
| if search_settings: | |
| precise_mode = search_settings.precise_mode | |
| if precise_mode: | |
| precise_mode = "Enabled" | |
| kb.append(off_kb) | |
| else: | |
| precise_mode = "Disabled" | |
| kb.append(on_kb) | |
| else: | |
| await change_search_settings(user_id) | |
| precise_mode = "Disabled" | |
| kb.append(on_kb) | |
| bkb = [ | |
| InlineKeyboardButton("[Result Mode]:", callback_data="res mode"), | |
| ] | |
| btn_kb = InlineKeyboardButton("π List", callback_data="res btnn") | |
| link_kb = InlineKeyboardButton("π³ Button", callback_data="res link") | |
| list_kb = InlineKeyboardButton("π HyperLink", callback_data="res list") | |
| if search_settings: | |
| button_mode = search_settings.button_mode | |
| link_mode = search_settings.link_mode | |
| list_mode = search_settings.list_mode | |
| if button_mode: | |
| bkb.append(link_kb) | |
| elif link_mode: | |
| bkb.append(list_kb) | |
| elif list_mode: | |
| bkb.append(btn_kb) | |
| else: | |
| await change_search_settings(user_id, link_mode=True) | |
| bkb.append(list_kb) | |
| else: | |
| await change_search_settings(user_id, link_mode=True) | |
| bkb.append(list_kb) | |
| set_kb = InlineKeyboardMarkup([kb, bkb]) | |
| return set_kb | |