aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhuker667 <huker@tuta.io>2026-07-14 20:45:25 +0300
committerhuker667 <huker@tuta.io>2026-07-14 20:45:25 +0300
commit631fabf30dec054aa0c7561dbbbf862527096b71 (patch)
tree7982f475ec2309b423d2191f0da4aec26e94f0cc
parentb5c986f78462eb3d8415e1874a2e957e6392a602 (diff)
downloaduzbekgpt-631fabf30dec054aa0c7561dbbbf862527096b71.tar.gz
uzbekgpt-631fabf30dec054aa0c7561dbbbf862527096b71.tar.bz2
uzbekgpt-631fabf30dec054aa0c7561dbbbf862527096b71.zip
add row builder (da krutoi)
-rw-r--r--callbacks.py66
-rw-r--r--commands.py26
2 files changed, 66 insertions, 26 deletions
diff --git a/callbacks.py b/callbacks.py
index c411d75..432c0af 100644
--- a/callbacks.py
+++ b/callbacks.py
@@ -26,7 +26,10 @@ async def select_provider_callback(callback: CallbackQuery):
buttons = []
+ i = 0
+
for model in MODELS.get(provider):
+ i += 1
if f"{provider}*{model}" == user_model:
text = f"{model} ✅"
else:
@@ -34,14 +37,21 @@ async def select_provider_callback(callback: CallbackQuery):
if MODELS[provider][model].get("alias"):
model = MODELS[provider][model].get("alias")
-
- buttons.append(
- [
+
+ if not i % 2:
+ buttons[len(buttons)-1] +=[
InlineKeyboardButton(
text=text, callback_data=f"set_model%{user_id}%{provider}*{model}"
)
]
- )
+ else:
+ buttons.append(
+ [
+ InlineKeyboardButton(
+ text=text, callback_data=f"set_model%{user_id}%{provider}*{model}"
+ )
+ ]
+ )
if not buttons:
buttons = [
@@ -53,7 +63,7 @@ async def select_provider_callback(callback: CallbackQuery):
]
buttons.append(
- [InlineKeyboardButton(text="назад", callback_data=f"models%{user_id}")]
+ [InlineKeyboardButton(text="⬅️ назад", callback_data=f"models%{user_id}")]
)
await callback.message.edit_text(
@@ -72,16 +82,27 @@ async def models_callback(callback: CallbackQuery):
config = get_user_config(user_id)
buttons = []
+
+ i = 0
for provider in MODELS:
- buttons.append(
- [
+ i += 1
+ if not i % 2:
+ buttons[len(buttons)-1] +=[
InlineKeyboardButton(
- text=PROVIDERS.get(provider).get("name"),
- callback_data=f"prov%{user_id}%{provider}",
+ text=PROVIDERS.get(provider).get("name"),
+ callback_data=f"prov%{user_id}%{provider}"
)
]
- )
+ else:
+ buttons.append(
+ [
+ InlineKeyboardButton(
+ text=PROVIDERS.get(provider).get("name"),
+ callback_data=f"prov%{user_id}%{provider}",
+ )
+ ]
+ )
if not buttons:
buttons.append(
@@ -93,7 +114,7 @@ async def models_callback(callback: CallbackQuery):
)
buttons.append(
- [InlineKeyboardButton(text="назад", callback_data=f"settings%{user_id}")]
+ [InlineKeyboardButton(text="⬅️ назад", callback_data=f"settings%{user_id}")]
)
await callback.message.edit_text(
@@ -147,19 +168,30 @@ async def prompts_callback(callback: CallbackQuery):
prompt = config.get("prompt")
buttons = []
+ i = 0
for name in SYSTEM_PROMPTS:
+ i += 1
text = name
if prompt == name:
text += " ✅"
- buttons.append(
- [
+
+ if not i % 2:
+ buttons[len(buttons)-1] +=[
InlineKeyboardButton(
- text=text,
- callback_data=f"set_prompt%{user_id}%{name}",
+ text=text,
+ callback_data=f"set_prompt%{user_id}%{name}"
)
]
- )
+ else:
+ buttons.append(
+ [
+ InlineKeyboardButton(
+ text=text,
+ callback_data=f"set_prompt%{user_id}%{name}",
+ )
+ ]
+ )
if not buttons:
buttons.append(
@@ -171,7 +203,7 @@ async def prompts_callback(callback: CallbackQuery):
)
buttons.append(
- [InlineKeyboardButton(text="назад", callback_data=f"settings%{user_id}")]
+ [InlineKeyboardButton(text="⬅️ назад", callback_data=f"settings%{user_id}")]
)
await callback.message.edit_text(
diff --git a/commands.py b/commands.py
index b521ad1..27c7261 100644
--- a/commands.py
+++ b/commands.py
@@ -341,14 +341,19 @@ async def settings_handler(event: Union[Message, CallbackQuery]):
notify_status = "net"
notify_cb = "da"
+ if config["markdown"] == "new":
+ markdown_status = "новый"
+ markdown_cb = "old"
+ else:
+ markdown_status = "старый"
+ markdown_cb = "new"
+
keyboard = InlineKeyboardMarkup(
inline_keyboard=[
[
InlineKeyboardButton(
text=f"модели ({models_count})", callback_data=f"models%{user_id}"
- )
- ],
- [
+ ),
InlineKeyboardButton(
text=f"промпты ({prompts_count})", callback_data=f"prompts%{user_id}"
)
@@ -357,9 +362,7 @@ async def settings_handler(event: Union[Message, CallbackQuery]):
InlineKeyboardButton(
text=f"стрим: {stream_status}",
callback_data=f"set_stream%{user_id}%{stream_cb}",
- )
- ],
- [
+ ),
InlineKeyboardButton(
text=f"отклик: {call_status}",
callback_data=f"set_call%{user_id}%{call_cb}",
@@ -369,10 +372,15 @@ async def settings_handler(event: Union[Message, CallbackQuery]):
InlineKeyboardButton(
text=f"рассылка: {notify_status}",
callback_data=f"set_notify%{user_id}%{notify_cb}",
- )
+ ),
+ InlineKeyboardButton(
+ text=f"маркдаун: {markdown_status}",
+ callback_data=f"set_markdown%{user_id}%{markdown_cb}",
+ ),
+
],
- [InlineKeyboardButton(text="донат", callback_data=f"donate%{user_id}")],
- [InlineKeyboardButton(text="о боте", callback_data=f"about%{user_id}")],
+ [InlineKeyboardButton(text="💸 донат", callback_data=f"donate%{user_id}")],
+ [InlineKeyboardButton(text="🤖 о боте", callback_data=f"about%{user_id}")],
]
)