156 lines
6.8 KiB
Python
156 lines
6.8 KiB
Python
import string
|
|
|
|
from random import choices
|
|
|
|
from vars import *
|
|
from config import *
|
|
from helpers import get_user_config, set_user_setting
|
|
|
|
from aiogram.types import (
|
|
InlineKeyboardButton,
|
|
InlineKeyboardMarkup,
|
|
InlineQueryResultArticle,
|
|
InputTextMessageContent,
|
|
Message,
|
|
)
|
|
|
|
async def da(bot, message, user_id):
|
|
config = get_user_config(user_id)
|
|
if user_id in alo_command:
|
|
if message.chat.id == alo_command[user_id]["chat_id"]:
|
|
if alo_command[user_id]["action"] == "p_name":
|
|
alo_command[user_id]["action"] = "p_prompt"
|
|
alo_command[user_id]["name"] = message.text[:16]
|
|
return await bot.edit_message_text(
|
|
text=f"установи промпт для `{alo_command[user_id]['name']}`:",
|
|
chat_id=alo_command[user_id]["chat_id"],
|
|
message_id=alo_command[user_id]["message_id"],
|
|
reply_markup=InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[
|
|
InlineKeyboardButton(
|
|
text=f"❌ отменить", callback_data=f"p_cancel%{user_id}"
|
|
),
|
|
],
|
|
]
|
|
)
|
|
)
|
|
elif alo_command[user_id]["action"] == "p_prompt":
|
|
alo_command[user_id]["action"] = None
|
|
alo_command[user_id]["prompt"] = message.text
|
|
|
|
if len(config["prompts"]) >= MAX_PROMPTS:
|
|
return await bot.edit_message_text(
|
|
text=f"невозможно создать новый промпт так как ты превысил лимит промптов da.",
|
|
chat_id=alo_command[user_id]["chat_id"],
|
|
message_id=alo_command[user_id]["message_id"],
|
|
reply_markup=InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[
|
|
InlineKeyboardButton(
|
|
text=f"ок", callback_data=f"user_prompts%{user_id}"
|
|
),
|
|
],
|
|
]
|
|
)
|
|
)
|
|
|
|
while 1:
|
|
alo_command[user_id]["id"] = ''.join(choices(string.ascii_letters, k=10))
|
|
if alo_command[user_id]["id"] not in config["prompts"]:
|
|
break
|
|
|
|
config["prompts"] = config["prompts"] | {
|
|
alo_command[user_id]["id"]: {
|
|
"name": alo_command[user_id]["name"],
|
|
"text": alo_command[user_id]["prompt"],
|
|
"filer": False,
|
|
"public": False
|
|
}
|
|
}
|
|
|
|
set_user_setting(
|
|
user_id,
|
|
prompts=config["prompts"]
|
|
)
|
|
|
|
return await bot.edit_message_text(
|
|
text=f"промпт `{alo_command[user_id]['name']}` создан!",
|
|
chat_id=alo_command[user_id]["chat_id"],
|
|
message_id=alo_command[user_id]["message_id"],
|
|
reply_markup=InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[
|
|
InlineKeyboardButton(
|
|
text=f"✅ посмотреть", callback_data=f"vp%{user_id}%{alo_command[user_id]['id']}"
|
|
),
|
|
],
|
|
]
|
|
)
|
|
)
|
|
elif alo_command[user_id]["action"] == "p_e_name":
|
|
alo_command[user_id]["action"] = None
|
|
alo_command[user_id]["name"] = message.text[:16]
|
|
|
|
config["prompts"] = config["prompts"] | {
|
|
alo_command[user_id]["prompt_id"]: {
|
|
"name": alo_command[user_id]["name"],
|
|
"text": config["prompts"][alo_command[user_id]["prompt_id"]]["text"],
|
|
"filer": config["prompts"][alo_command[user_id]["prompt_id"]]["filer"],
|
|
"public": config["prompts"][alo_command[user_id]["prompt_id"]]["public"],
|
|
}
|
|
}
|
|
|
|
set_user_setting(
|
|
user_id,
|
|
prompts = config["prompts"]
|
|
)
|
|
|
|
return await bot.edit_message_text(
|
|
text=f"имя промпта было изменено на `{alo_command[user_id]['name']}`.",
|
|
chat_id=alo_command[user_id]["chat_id"],
|
|
message_id=alo_command[user_id]["message_id"],
|
|
reply_markup=InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[
|
|
InlineKeyboardButton(
|
|
text=f"✅ посмотреть", callback_data=f"vp%{user_id}%{alo_command[user_id]['prompt_id']}"
|
|
),
|
|
],
|
|
]
|
|
)
|
|
)
|
|
elif alo_command[user_id]["action"] == "p_e_prompt":
|
|
alo_command[user_id]["action"] = None
|
|
alo_command[user_id]["prompt"] = message.text
|
|
|
|
config["prompts"] = config["prompts"] | {
|
|
alo_command[user_id]["prompt_id"]: {
|
|
"name": config["prompts"][alo_command[user_id]["prompt_id"]]["name"],
|
|
"text": alo_command[user_id]["prompt"],
|
|
"filer": config["prompts"][alo_command[user_id]["prompt_id"]]["filer"],
|
|
"public": config["prompts"][alo_command[user_id]["prompt_id"]]["public"],
|
|
}
|
|
}
|
|
|
|
set_user_setting(
|
|
user_id,
|
|
prompts=config["prompts"]
|
|
)
|
|
|
|
return await bot.edit_message_text(
|
|
text=f"текст промпта был изменён.",
|
|
chat_id=alo_command[user_id]["chat_id"],
|
|
message_id=alo_command[user_id]["message_id"],
|
|
reply_markup=InlineKeyboardMarkup(
|
|
inline_keyboard=[
|
|
[
|
|
InlineKeyboardButton(
|
|
text=f"✅ посмотреть", callback_data=f"vp%{user_id}%{alo_command[user_id]['prompt_id']}"
|
|
),
|
|
],
|
|
]
|
|
)
|
|
)
|
|
return None
|