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):
|
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"))
|
||||||
|
|||||||
Reference in new issue
Block a user