2222
This commit is contained in:
@@ -213,6 +213,10 @@ def save_post_template(state_storage: JsonStateStorage, template: str) -> None:
|
||||
state_storage.save(payload)
|
||||
|
||||
|
||||
def count_actor_placeholders(template: str) -> int:
|
||||
return normalize_template_placeholders(template).count("{{actors}}")
|
||||
|
||||
|
||||
@router.message(CommandStart())
|
||||
@router.message(Command("panel"))
|
||||
async def start_handler(message: Message, state: FSMContext, app_config: dict, actor_lookup: dict, settings) -> None:
|
||||
@@ -277,12 +281,25 @@ async def post_handler(
|
||||
normalized = normalize_template_placeholders(template)
|
||||
save_post_template(state_storage, normalized)
|
||||
await state.clear()
|
||||
if "{{actors}}" not in normalized:
|
||||
placeholder_count = count_actor_placeholders(normalized)
|
||||
if placeholder_count == 0:
|
||||
await message.answer(
|
||||
"Шаблон сохранен, но в нем нет {{actors}}.\n"
|
||||
"Плейсхолдер должен быть именно {{actors}} в любом регистре."
|
||||
)
|
||||
return
|
||||
if placeholder_count > 1:
|
||||
await message.answer(
|
||||
"Шаблон сохранен, но в нем несколько {{actors}}.\n"
|
||||
"Нужен только один общий {{actors}} на месте всего блока актеров, иначе список будет дублироваться."
|
||||
)
|
||||
return
|
||||
if message.text and message.text.startswith("/post "):
|
||||
await message.answer(
|
||||
"Шаблон сохранен.\n"
|
||||
"Но если нужна разметка, ссылки и premium emoji, лучше использовать /post ответом на уже оформленное сообщение, а не вставлять шаблон текстом после команды."
|
||||
)
|
||||
return
|
||||
await message.answer("Шаблон поста сохранен.")
|
||||
return
|
||||
|
||||
@@ -493,12 +510,19 @@ async def post_template_handler(
|
||||
save_post_template(state_storage, normalized)
|
||||
await state.clear()
|
||||
|
||||
if "{{actors}}" not in normalized:
|
||||
placeholder_count = count_actor_placeholders(normalized)
|
||||
if placeholder_count == 0:
|
||||
await message.answer(
|
||||
"Шаблон сохранен, но в нем нет {{actors}}.\n"
|
||||
"Плейсхолдер должен быть именно {{actors}} в любом регистре."
|
||||
)
|
||||
return
|
||||
if placeholder_count > 1:
|
||||
await message.answer(
|
||||
"Шаблон сохранен, но в нем несколько {{actors}}.\n"
|
||||
"Нужен только один общий {{actors}} на месте всего блока актеров, иначе список будет дублироваться."
|
||||
)
|
||||
return
|
||||
|
||||
await message.answer("Шаблон поста сохранен.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user