add alias to fix callback max 64 bytes data
This commit is contained in:
1 parent
d7ed3d4634
commit
b3f3458388
1 file changed
+18
-3
+18
-3
@@ -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"))
|
||||
|
||||
Reference in new issue
Block a user