From c336625749f512a90421fe980b5b7d3c287f6095 Mon Sep 17 00:00:00 2001 From: Verum Date: Thu, 2 Apr 2026 22:12:57 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BB=D0=BE=D0=BE=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- session_bot/bot.py | 14 +++++++++++--- session_bot/render.py | 9 +-------- tests/test_render.py | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/session_bot/bot.py b/session_bot/bot.py index f56f1de..cc12ae9 100644 --- a/session_bot/bot.py +++ b/session_bot/bot.py @@ -12,7 +12,7 @@ from aiogram.filters import Command, CommandStart from aiogram.fsm.context import FSMContext from aiogram.fsm.state import State, StatesGroup from aiogram.fsm.storage.memory import MemoryStorage -from aiogram.types import CallbackQuery, Message +from aiogram.types import CallbackQuery, LinkPreviewOptions, Message from aiogram.utils.keyboard import InlineKeyboardBuilder from session_bot.config import load_actor_config, load_settings @@ -205,15 +205,23 @@ async def show_actor_status_menu(callback: CallbackQuery, actor: dict[str, Any], async def update_channel_post(bot: Bot, app_config: dict, state_storage: JsonStateStorage, settings) -> None: state = state_storage.load() text = build_channel_text(app_config, state) + link_preview_options = None + if app_config.get("hidden_link_url", "").strip(): + link_preview_options = LinkPreviewOptions( + url=app_config["hidden_link_url"].strip(), + show_above_text=True, + ) try: await bot.edit_message_text( chat_id=settings.channel_id, message_id=settings.channel_message_id, text=text, parse_mode=ParseMode.HTML, - disable_web_page_preview=False, + link_preview_options=link_preview_options, ) except TelegramBadRequest as exc: + if "message is not modified" in str(exc).lower(): + return if "Invalid custom emoji identifier specified" not in str(exc): raise @@ -229,7 +237,7 @@ async def update_channel_post(bot: Bot, app_config: dict, state_storage: JsonSta message_id=settings.channel_message_id, text=fallback_text, parse_mode=ParseMode.HTML, - disable_web_page_preview=False, + link_preview_options=link_preview_options, ) diff --git a/session_bot/render.py b/session_bot/render.py index 8368a19..aa26c90 100644 --- a/session_bot/render.py +++ b/session_bot/render.py @@ -9,11 +9,7 @@ PLAIN_LINK_RE = re.compile(r"(?P