diff options
| author | huker667 <huker@tuta.io> | 2026-07-09 17:59:26 +0300 |
|---|---|---|
| committer | huker667 <huker@tuta.io> | 2026-07-09 17:59:26 +0300 |
| commit | b3f345838899498eee98e16e86e7c3dcba092864 (patch) | |
| tree | a6d62f5c5aad300677672d198fab212eaf4bde0f /callbacks.py | |
| parent | d7ed3d46341b2debc0c807789d609e66e44a0509 (diff) | |
| download | uzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.tar.gz uzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.tar.bz2 uzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.zip | |
Diffstat (limited to 'callbacks.py')
| -rw-r--r-- | callbacks.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/callbacks.py b/callbacks.py index cec22ab..8a06541 100644 --- a/callbacks.py +++ b/callbacks.py @@ -15,12 +15,15 @@ from supergenerator import * async def select_provider_callback(callback: CallbackQuery): current_user_id = str(callback.from_user.id) data = callback.data.split("%", 3) - user_id, user_model, provider = data[1], data[2], data[3] + user_id, provider = data[1], data[2] if user_id != current_user_id: await callback.answer("не для тебя.") return + config = get_user_config(user_id) + user_model = config.get("model") + buttons = [] for model in MODELS.get(provider): @@ -28,6 +31,10 @@ async def select_provider_callback(callback: CallbackQuery): text = f"{model} ✅" else: text = model + + if MODELS[provider][model].get("alias"): + model = MODELS[provider][model].get("alias") + buttons.append( [ InlineKeyboardButton( @@ -63,7 +70,6 @@ async def models_callback(callback: CallbackQuery): user_id = data[1] if user_id == current_user_id: config = get_user_config(user_id) - model = config.get("model") buttons = [] @@ -72,7 +78,7 @@ async def models_callback(callback: CallbackQuery): [ InlineKeyboardButton( text=PROVIDERS.get(provider).get("name"), - callback_data=f"prov%{user_id}%{model}%{provider}", + callback_data=f"prov%{user_id}%{provider}", ) ] ) @@ -104,6 +110,15 @@ async def set_model_callback(callback: CallbackQuery): current_user_id = str(callback.from_user.id) data = callback.data.split("%", 2) user_id, new_model = data[1], data[2] + provider = data[2].split("*", 1)[0] + amodel = data[2].split("*", 1)[1] + new_model = provider + "*" + amodel + + for model in MODELS.get(provider): + nmodel = MODELS[provider][model].get("alias") or None + if nmodel == amodel: + new_model = provider + "*" + model + if user_id == current_user_id: current_config = get_user_config(user_id) set_user_config(user_id, new_model, current_config.get("stream", True), current_config.get("call"), current_config.get("prompt"), current_config.get("notify")) |