diff options
| -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")) |