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): async def select_provider_callback(callback: CallbackQuery):
current_user_id = str(callback.from_user.id) current_user_id = str(callback.from_user.id)
data = callback.data.split("%", 3) 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: if user_id != current_user_id:
await callback.answer("не для тебя.") await callback.answer("не для тебя.")
return return
config = get_user_config(user_id)
user_model = config.get("model")
buttons = [] buttons = []
for model in MODELS.get(provider): for model in MODELS.get(provider):
@@ -28,6 +31,10 @@ async def select_provider_callback(callback: CallbackQuery):
text = f"{model} ✅" text = f"{model} ✅"
else: else:
text = model text = model
if MODELS[provider][model].get("alias"):
model = MODELS[provider][model].get("alias")
buttons.append( buttons.append(
[ [
InlineKeyboardButton( InlineKeyboardButton(
@@ -63,7 +70,6 @@ async def models_callback(callback: CallbackQuery):
user_id = data[1] user_id = data[1]
if user_id == current_user_id: if user_id == current_user_id:
config = get_user_config(user_id) config = get_user_config(user_id)
model = config.get("model")
buttons = [] buttons = []
@@ -72,7 +78,7 @@ async def models_callback(callback: CallbackQuery):
[ [
InlineKeyboardButton( InlineKeyboardButton(
text=PROVIDERS.get(provider).get("name"), 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) current_user_id = str(callback.from_user.id)
data = callback.data.split("%", 2) data = callback.data.split("%", 2)
user_id, new_model = data[1], data[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: if user_id == current_user_id:
current_config = get_user_config(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")) set_user_config(user_id, new_model, current_config.get("stream", True), current_config.get("call"), current_config.get("prompt"), current_config.get("notify"))