Spaces:
Running
Running
File size: 4,129 Bytes
5dc4327 | 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | 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
@Client.on_message(filters.command(["settings"]))
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,
)
@Client.on_callback_query(filters.regex(r"^prec (.+)$"))
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,
)
@Client.on_callback_query(filters.regex(r"^res (.+)$"))
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
|