add alias to fix callback max 64 bytes data

This commit is contained in:
huker667 committed 2026-07-09 17:59:26 +03:00
1 parent d7ed3d4634
commit b3f3458388
1 file changed
+18 -3
+18 -3
View File
@@ -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"))