Files
2026-10-11 19:13:20 +03:00

193 lines
8.7 KiB
Python

import string
from random import choices
from vars import *
from config import *
from helpers import get_user_config, set_user_setting, set_group_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']}"
),
],
]
)
)
elif alo_command[user_id]["action"] == "g_prompt":
alo_command[user_id]["action"] = None
set_group_setting(alo_command[user_id]["group_id"], post_prompt=message.text[:1000])
return await bot.edit_message_text(
text="промпт для постов канала обновлён✅",
chat_id=alo_command[user_id]["chat_id"],
message_id=alo_command[user_id]["message_id"],
reply_markup=InlineKeyboardMarkup(
inline_keyboard=[
[
InlineKeyboardButton(
text="⬅️ назад", callback_data=f"gcancel%{alo_command[user_id]['group_id']}%{user_id}", style="primary"
),
],
]
)
)
elif alo_command[user_id]["action"] == "calling":
alo_command[user_id]["action"] = None
words = [w.strip() for w in message.text.split(",") if w.strip()][:10]
set_user_setting(user_id, calling=words)
return await bot.edit_message_text(
text="свои слова отклика сохранены✅",
chat_id=alo_command[user_id]["chat_id"],
message_id=alo_command[user_id]["message_id"],
reply_markup=InlineKeyboardMarkup(
inline_keyboard=[
[
InlineKeyboardButton(
text="⬅️ назад", callback_data=f"call%{user_id}", style="primary"
),
],
]
)
)
return None