aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhuker667 <huker@tuta.io>2026-07-09 17:59:26 +0300
committerhuker667 <huker@tuta.io>2026-07-09 17:59:26 +0300
commitb3f345838899498eee98e16e86e7c3dcba092864 (patch)
treea6d62f5c5aad300677672d198fab212eaf4bde0f
parentd7ed3d46341b2debc0c807789d609e66e44a0509 (diff)
downloaduzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.tar.gz
uzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.tar.bz2
uzbekgpt-b3f345838899498eee98e16e86e7c3dcba092864.zip
add alias to fix callback max 64 bytes dataHEADmain
-rw-r--r--callbacks.py21
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"))