пиздец обнова конечно
This commit is contained in:
1 parent
e3116d490e
commit
a14713a286
7 files changed
+962
-65
No files matched your search
+581
-15
@@ -1,4 +1,5 @@
|
||||
# from aiogram.methods import SendMessageDraft
|
||||
import random
|
||||
|
||||
from aiogram import F
|
||||
from aiogram.types import (
|
||||
CallbackQuery,
|
||||
@@ -149,7 +150,8 @@ async def set_model_callback(callback: CallbackQuery):
|
||||
current_config.get("call"),
|
||||
current_config.get("prompt"),
|
||||
current_config.get("notify"),
|
||||
current_config.get("markdown")
|
||||
current_config.get("markdown"),
|
||||
current_config.get("prompts")
|
||||
)
|
||||
await callback.message.edit_text(f"выбрана модель: `{new_model}`")
|
||||
await callback.answer(f"выбрано: {new_model}")
|
||||
@@ -157,9 +159,491 @@ async def set_model_callback(callback: CallbackQuery):
|
||||
await callback.answer("нет, не трогай")
|
||||
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("prompts%"))
|
||||
async def prompts_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 1)
|
||||
user_id = data[1]
|
||||
if user_id == current_user_id:
|
||||
config = get_user_config(user_id)
|
||||
|
||||
user_prompts_count = len(config["prompts"])
|
||||
system_prompts_count = len(SYSTEM_PROMPTS)
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(text=f"✅ стандартные промпты ({system_prompts_count})", callback_data=f"system_prompts%{user_id}"),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text=f"🤝 твои промпты ({user_prompts_count})", callback_data=f"user_prompts%{user_id}"),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text="⬅️ назад", callback_data=f"settings%{user_id}"),
|
||||
]
|
||||
]
|
||||
|
||||
await callback.message.edit_text(
|
||||
"da:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
await callback.answer()
|
||||
else:
|
||||
await callback.answer("не тыкай. это не для тебя.")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("vps%"))
|
||||
async def view_system_prompt_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 3)
|
||||
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("pashol naxxuy")
|
||||
return
|
||||
|
||||
config = get_user_config(user_id)
|
||||
prompt = config.get("prompt", "")
|
||||
|
||||
if prompt_id in SYSTEM_PROMPTS:
|
||||
p = SYSTEM_PROMPTS.get(prompt_id)
|
||||
else:
|
||||
await callback.answer("не нашёл такого промпта!")
|
||||
return
|
||||
|
||||
prompt_name = p.get("name")
|
||||
prompt_text = p.get("text")
|
||||
|
||||
if prompt == prompt_id:
|
||||
prompt_apply_t = "✅ установлен"
|
||||
else:
|
||||
prompt_apply_t = "✅ установить"
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(text=prompt_apply_t, callback_data=f"sp%{user_id}%0%{prompt_id}%3"),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text="⬅️ назад", callback_data=f"system_prompts%{user_id}"),
|
||||
]
|
||||
]
|
||||
|
||||
await callback.message.edit_text(
|
||||
f"название: `{prompt_name}`\n"
|
||||
f"id: `{prompt_id}`\n"
|
||||
f"```prompt\n{prompt_text}\n```",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
await callback.answer()
|
||||
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("vp%"))
|
||||
async def view_prompt_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
data = data.split("%", 2)
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("pashol naxxuy")
|
||||
return
|
||||
|
||||
config = get_user_config(user_id)
|
||||
prompt = config.get("prompt", "")
|
||||
prompts = config.get("prompts", {})
|
||||
|
||||
if prompt_id in prompts:
|
||||
p = prompts.get(prompt_id)
|
||||
else:
|
||||
await callback.answer("промпта нет у тебя такого")
|
||||
return
|
||||
|
||||
prompt_pub = p.get("public")
|
||||
prompt_f = p.get("filer")
|
||||
prompt_name = p.get("name")
|
||||
|
||||
if prompt == prompt_id:
|
||||
prompt_apply_t = "✅ установлен"
|
||||
else:
|
||||
prompt_apply_t = "✅ установить"
|
||||
|
||||
if prompt_pub:
|
||||
prompt_pub_t = "✅ публичный"
|
||||
prompt_pub_t2 = "🚫 сделать приватным"
|
||||
else:
|
||||
prompt_pub_t = "🚫 приватный"
|
||||
prompt_pub_t2 = "✅ сделать публичным"
|
||||
|
||||
if prompt_f:
|
||||
prompt_f_t = "как файл"
|
||||
else:
|
||||
prompt_f_t = "как сообщение"
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(text="✏️ изменить", callback_data=f"ed%{user_id}%{prompt_id}"),
|
||||
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text=prompt_pub_t2, callback_data=f"eds%{user_id}%{prompt_id}"),
|
||||
InlineKeyboardButton(text=f"📂 {prompt_f_t}", callback_data=f"edf%{user_id}%{prompt_id}"),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text="💬 текст", callback_data=f"vt%{user_id}%{prompt_id}"),
|
||||
InlineKeyboardButton(text=prompt_apply_t, callback_data=f"sp%{user_id}%0%{prompt_id}%1"),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(text="⬅️ назад", callback_data=f"user_prompts%{user_id}"),
|
||||
]
|
||||
]
|
||||
|
||||
try:
|
||||
await callback.message.edit_text(
|
||||
f"название: `{prompt_name}`\n"
|
||||
f"id: `{prompt_id}`\n"
|
||||
f"url: `t.me/{BOT_USERNAME}?start=prompt-{user_id}-{prompt_id}`\n"
|
||||
f"отправка: `{prompt_f_t}`\n"
|
||||
f"статус: `{prompt_pub_t}`\n",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
except:
|
||||
pass
|
||||
await callback.answer()
|
||||
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("user_prompts%"))
|
||||
async def user_prompts_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 1)
|
||||
|
||||
user_id = data[1]
|
||||
if user_id == current_user_id:
|
||||
config = get_user_config(user_id)
|
||||
prompt = config.get("prompt", "")
|
||||
prompts = config.get("prompts", {})
|
||||
|
||||
buttons = []
|
||||
i = 0
|
||||
|
||||
for name in prompts:
|
||||
alo = name
|
||||
name = prompts[name].get("name") + " (" + alo[:4] + ")"
|
||||
i += 1
|
||||
text = name
|
||||
if prompt == alo:
|
||||
text += " ✅"
|
||||
|
||||
if not i % 2:
|
||||
buttons[len(buttons)-1] +=[
|
||||
InlineKeyboardButton(
|
||||
text=f"{text}",
|
||||
callback_data=f"vp%{user_id}%{alo}"
|
||||
)
|
||||
]
|
||||
else:
|
||||
buttons.append(
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=f"{text}",
|
||||
callback_data=f"vp%{user_id}%{alo}",
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
if not buttons:
|
||||
buttons.append(
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="🚫 нет промптов!", callback_data=f"prompts%{user_id}"
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
buttons.append(
|
||||
[
|
||||
InlineKeyboardButton(text="⬅️ назад", callback_data=f"prompts%{user_id}"),
|
||||
InlineKeyboardButton(text="📝 создать", callback_data=f"create%{user_id}"),
|
||||
]
|
||||
)
|
||||
|
||||
await callback.message.edit_text(
|
||||
"выбери пользовательский системный промпт:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
await callback.answer()
|
||||
else:
|
||||
await callback.answer("не тыкай. это не для тебя.")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("p_cancel%"))
|
||||
async def cancel_prompt_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 1)
|
||||
user_id = data[1]
|
||||
if user_id != current_user_id:
|
||||
return await callback.answer("pashol naxxuy. иди наxuy.")
|
||||
|
||||
alo_command[int(user_id)] = {"action": None, "chat_id": callback.message.chat.id, "message_id": callback.message.message_id}
|
||||
|
||||
await user_prompts_callback(callback, dataalo=f"user_prompts%{user_id}")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("vt%"))
|
||||
async def view_text_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 2)
|
||||
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("нет, не трогай это не твое")
|
||||
return
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
prompts = config["prompts"]
|
||||
|
||||
prompt = prompts.get(prompt_id)
|
||||
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="⬅️ назад", callback_data=f"vp%{user_id}%{prompt_id}"
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
await callback.message.edit_text(
|
||||
f"текст промпта `{prompt['name']}`:\n```prompt\n{prompt['text'][:3980]}\n```",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("edf%"))
|
||||
async def edit_filer_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 2)
|
||||
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("нет, не трогай это не твое")
|
||||
return
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
prompts = config["prompts"]
|
||||
|
||||
prompt = prompts.get(prompt_id)
|
||||
|
||||
if prompt["filer"]:
|
||||
prompt["filer"] = False
|
||||
else:
|
||||
prompt["filer"] = True
|
||||
|
||||
new_prompts = prompts | {prompt_id: prompt}
|
||||
|
||||
set_user_config(
|
||||
user_id,
|
||||
config.get("model"),
|
||||
config.get("stream"),
|
||||
config.get("call"),
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
new_prompts
|
||||
)
|
||||
|
||||
return await view_prompt_callback(callback, dataalo=f"0%{user_id}%{prompt_id}")
|
||||
|
||||
@router.callback_query(F.data.startswith("eds%"))
|
||||
async def edit_status_callback(callback: CallbackQuery, dataalo=""):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 2)
|
||||
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("нет, не трогай это не твое")
|
||||
return
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
prompts = config["prompts"]
|
||||
|
||||
prompt = prompts.get(prompt_id)
|
||||
|
||||
if prompt["public"]:
|
||||
prompt["public"] = False
|
||||
else:
|
||||
prompt["public"] = True
|
||||
|
||||
new_prompts = prompts | {prompt_id: prompt}
|
||||
|
||||
set_user_config(
|
||||
user_id,
|
||||
config.get("model"),
|
||||
config.get("stream"),
|
||||
config.get("call"),
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
new_prompts
|
||||
)
|
||||
|
||||
return await view_prompt_callback(callback, dataalo=f"0%{user_id}%{prompt_id}")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("edn%"))
|
||||
async def edit_prompt_name_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 2)
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
return await callback.answer("pashol naxxuy. иди наxuy.")
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="❌ отменить", callback_data=f"p_cancel%{user_id}"
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
alo_command[int(user_id)] = {"action": "p_e_name", "chat_id": callback.message.chat.id, "message_id": callback.message.message_id, "prompt_id": prompt_id}
|
||||
|
||||
await callback.message.edit_text(
|
||||
"установи новое название:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("edp%"))
|
||||
async def edit_prompt_prompt_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 2)
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
return await callback.answer("pashol naxxuy. иди наxuy.")
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="❌ отменить", callback_data=f"p_cancel%{user_id}"
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
alo_command[int(user_id)] = {"action": "p_e_prompt", "chat_id": callback.message.chat.id, "message_id": callback.message.message_id, "prompt_id": prompt_id}
|
||||
|
||||
await callback.message.edit_text(
|
||||
"установи новый промпт:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("ed%"))
|
||||
async def edit_prompt_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 2)
|
||||
user_id = data[1]
|
||||
prompt_id = data[2]
|
||||
if user_id != current_user_id:
|
||||
return await callback.answer("pashol naxxuy. иди наxuy.")
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="💬 промпт", callback_data=f"edp%{user_id}%{prompt_id}"
|
||||
),
|
||||
InlineKeyboardButton(
|
||||
text="📝 название", callback_data=f"edn%{user_id}%{prompt_id}"
|
||||
),
|
||||
],
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="⬅️ назад", callback_data=f"vp%{user_id}%{prompt_id}"
|
||||
),
|
||||
]
|
||||
]
|
||||
|
||||
alo_command[int(user_id)] = {"action": "p_e_name", "chat_id": callback.message.chat.id, "message_id": callback.message.message_id, "prompt_id": prompt_id}
|
||||
|
||||
await callback.message.edit_text(
|
||||
"установи новый промпт:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("create%"))
|
||||
async def create_prompt_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 1)
|
||||
user_id = data[1]
|
||||
if user_id != current_user_id:
|
||||
return await callback.answer("pashol naxxuy. иди наxuy.")
|
||||
|
||||
config = get_user_config(user_id)
|
||||
if len(config["prompts"]) >= MAX_PROMPTS:
|
||||
return await callback.answer("ты превысил максимальное количество промптов!!!")
|
||||
|
||||
buttons = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="❌ отменить", callback_data=f"p_cancel%{user_id}"
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
alo_command[int(user_id)] = {"action": "p_name", "chat_id": callback.message.chat.id, "message_id": callback.message.message_id}
|
||||
|
||||
await callback.message.edit_text(
|
||||
"установи отображаемое имя промпта:",
|
||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=buttons),
|
||||
)
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("system_prompts%"))
|
||||
async def system_prompts_callback(callback: CallbackQuery):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 1)
|
||||
user_id = data[1]
|
||||
@@ -171,16 +655,18 @@ async def prompts_callback(callback: CallbackQuery):
|
||||
i = 0
|
||||
|
||||
for name in SYSTEM_PROMPTS:
|
||||
alo = name
|
||||
name = SYSTEM_PROMPTS[name].get("name")
|
||||
i += 1
|
||||
text = name
|
||||
if prompt == name:
|
||||
if prompt == alo:
|
||||
text += " ✅"
|
||||
|
||||
if not i % 2:
|
||||
buttons[len(buttons)-1] +=[
|
||||
InlineKeyboardButton(
|
||||
text=text,
|
||||
callback_data=f"set_prompt%{user_id}%{name}"
|
||||
callback_data=f"vps%{user_id}%{alo}"
|
||||
)
|
||||
]
|
||||
else:
|
||||
@@ -188,7 +674,7 @@ async def prompts_callback(callback: CallbackQuery):
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=text,
|
||||
callback_data=f"set_prompt%{user_id}%{name}",
|
||||
callback_data=f"vps%{user_id}%{alo}",
|
||||
)
|
||||
]
|
||||
)
|
||||
@@ -197,13 +683,15 @@ async def prompts_callback(callback: CallbackQuery):
|
||||
buttons.append(
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text="🚫 нет промптов!", callback_data=f"settings%{user_id}"
|
||||
text="🚫 нет промптов!", callback_data=f"prompts%{user_id}"
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
buttons.append(
|
||||
[InlineKeyboardButton(text="⬅️ назад", callback_data=f"settings%{user_id}")]
|
||||
[
|
||||
InlineKeyboardButton(text="⬅️ назад", callback_data=f"prompts%{user_id}"),
|
||||
]
|
||||
)
|
||||
|
||||
await callback.message.edit_text(
|
||||
@@ -216,17 +704,31 @@ async def prompts_callback(callback: CallbackQuery):
|
||||
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("set_prompt%"))
|
||||
@router.callback_query(F.data.startswith("sp%"))
|
||||
async def set_prompt_callback(callback: CallbackQuery):
|
||||
# КАЛбек: sp%айди%промпт_айди%промпт%тип
|
||||
# 0 - answer + настройки
|
||||
# 1 - answer + открыть prompt view
|
||||
# 2 - answer
|
||||
# 3 - answer + открыть system prompt view
|
||||
|
||||
current_user_id = str(callback.from_user.id)
|
||||
data = callback.data.split("%", 2)
|
||||
data = callback.data.split("%", 4)
|
||||
user_id = data[1]
|
||||
prompt_user_id = int(data[2])
|
||||
msg_type = 0
|
||||
new_status = data[3]
|
||||
|
||||
if len(data) == 5:
|
||||
msg_type = int(data[4])
|
||||
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("нет, не трогай это не твое")
|
||||
return
|
||||
|
||||
new_status = callback.data.split("%")[2]
|
||||
|
||||
if prompt_user_id != 0:
|
||||
await add_prompt_callback(callback, f"0%{user_id}%{prompt_user_id}%{data[3]}", alo=False)
|
||||
|
||||
config = get_user_config(user_id)
|
||||
set_user_config(
|
||||
user_id,
|
||||
@@ -235,10 +737,67 @@ async def set_prompt_callback(callback: CallbackQuery):
|
||||
config.get("call"),
|
||||
new_status,
|
||||
config.get("notify"),
|
||||
config.get("markdown")
|
||||
config.get("markdown"),
|
||||
config.get("prompts")
|
||||
)
|
||||
await callback.answer("da поменял на " + new_status)
|
||||
await settings_handler(callback)
|
||||
if msg_type == 0:
|
||||
await callback.answer("da поменял на " + new_status)
|
||||
await settings_handler(callback)
|
||||
elif msg_type == 1:
|
||||
await callback.answer("установил промпт " + new_status)
|
||||
await view_prompt_callback(callback, dataalo=f"0%{user_id}%{new_status}")
|
||||
elif msg_type == 2:
|
||||
await callback.answer("установил " + new_status)
|
||||
elif msg_type == 3:
|
||||
await callback.answer("установил промпт " + new_status)
|
||||
await view_system_prompt_callback(callback, dataalo=f"0%{user_id}%{new_status}")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("ap%"))
|
||||
async def add_prompt_callback(callback: CallbackQuery, dataalo="", alo=True):
|
||||
current_user_id = str(callback.from_user.id)
|
||||
if dataalo != "":
|
||||
data = dataalo
|
||||
else:
|
||||
data = callback.data
|
||||
|
||||
data = data.split("%", 3)
|
||||
|
||||
user_id = data[1]
|
||||
prompt_user_id = int(data[2])
|
||||
if user_id != current_user_id:
|
||||
await callback.answer("нет, не трогай это не твое")
|
||||
return
|
||||
|
||||
if prompt_user_id == 0:
|
||||
return await callback.answer("это стандартный промпт suka.")
|
||||
|
||||
config = get_user_config(user_id)
|
||||
|
||||
new_prompts = config["prompts"]
|
||||
|
||||
prompt = get_user_config(prompt_user_id)["prompts"].get(data[3], {})
|
||||
if not prompt:
|
||||
return await callback.answer("pashol naxxuy промпта нет")
|
||||
prompt_pub = prompt.get("public", False)
|
||||
if not prompt_pub:
|
||||
return await callback.answer("pashol naxxuy промпт стал приватным")
|
||||
new_prompt = prompt
|
||||
new_prompt["public"] = False
|
||||
new_prompts = new_prompts | {data[3]: new_prompt}
|
||||
|
||||
set_user_config(
|
||||
user_id,
|
||||
config.get("model"),
|
||||
config.get("stream"),
|
||||
config.get("call"),
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
new_prompts
|
||||
)
|
||||
if alo:
|
||||
return await callback.answer("добавил твой промпт da.")
|
||||
|
||||
|
||||
@router.callback_query(F.data.startswith("settings%"))
|
||||
@@ -274,6 +833,7 @@ async def set_stream_callback(callback: CallbackQuery):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
config.get("prompts"),
|
||||
)
|
||||
else:
|
||||
set_user_config(
|
||||
@@ -284,6 +844,7 @@ async def set_stream_callback(callback: CallbackQuery):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
config.get("prompts"),
|
||||
)
|
||||
await settings_handler(callback)
|
||||
|
||||
@@ -308,6 +869,7 @@ async def set_call_callback(callback: CallbackQuery):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
config.get("markdown"),
|
||||
config.get("prompts")
|
||||
)
|
||||
await settings_handler(callback)
|
||||
|
||||
@@ -332,6 +894,7 @@ async def set_notify_callback(callback: CallbackQuery):
|
||||
config.get("prompt"),
|
||||
new_status,
|
||||
config.get("markdown"),
|
||||
config.get("prompts")
|
||||
)
|
||||
await settings_handler(callback)
|
||||
|
||||
@@ -356,6 +919,7 @@ async def set_markdown_callback(callback: CallbackQuery):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
new_status,
|
||||
config.get("prompts")
|
||||
)
|
||||
await settings_handler(callback)
|
||||
|
||||
@@ -377,6 +941,7 @@ async def set_markdown_callback(callback: CallbackQuery, message=None):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
"new",
|
||||
config.get("prompts")
|
||||
)
|
||||
if message:
|
||||
await message.delete()
|
||||
@@ -401,6 +966,7 @@ async def set_markdown_callback(callback: CallbackQuery, message=None):
|
||||
config.get("prompt"),
|
||||
config.get("notify"),
|
||||
"old",
|
||||
config.get("prompts")
|
||||
)
|
||||
if message:
|
||||
await message.delete()
|
||||
|
||||
Reference in new issue
Block a user