fix: quick topup buttons include device/server/traffic costs, broadcast button crash on media messages
- Quick amount buttons now calculate full renewal cost (base + devices + servers + traffic with discounts) - Tariff mode uses tariff-specific device pricing (device_price_kopeks, device_limit) - Broadcast inline buttons no longer crash with "no text in message to edit" on photo/video messages - Media messages are now handled in _edit_with_photo: delete old message + send new text
This commit is contained in:
@@ -189,6 +189,19 @@ async def _edit_with_photo(self: Message, text: str, **kwargs):
|
||||
# Уважаем флаг в рантайме: если логотип выключен — не подменяем редактирование
|
||||
if not settings.ENABLE_LOGO_MODE:
|
||||
kwargs.setdefault('disable_web_page_preview', True)
|
||||
# Медиа-сообщения (фото/видео из рассылки и т.д.) не имеют text — edit_text упадёт.
|
||||
# Удаляем старое сообщение и отправляем новое.
|
||||
if self.text is None:
|
||||
try:
|
||||
await self.delete()
|
||||
except TelegramBadRequest:
|
||||
pass
|
||||
try:
|
||||
return await _original_answer(self, text, **kwargs)
|
||||
except TelegramBadRequest as error:
|
||||
if is_topic_required_error(error):
|
||||
return None
|
||||
raise
|
||||
return await _original_edit_text(self, text, **kwargs)
|
||||
if self.photo:
|
||||
language = _get_language(self)
|
||||
@@ -242,6 +255,19 @@ async def _edit_with_photo(self: Message, text: str, **kwargs):
|
||||
if is_topic_required_error(inner_error):
|
||||
return None
|
||||
raise
|
||||
# Не-фото медиа (видео, анимация и т.д.) с включённым логотипом — удаляем и отправляем с фото
|
||||
if self.text is None:
|
||||
try:
|
||||
await self.delete()
|
||||
except TelegramBadRequest:
|
||||
pass
|
||||
try:
|
||||
return await _answer_with_photo(self, text, **kwargs)
|
||||
except TelegramBadRequest as error:
|
||||
if is_topic_required_error(error):
|
||||
return None
|
||||
raise
|
||||
|
||||
# Обработка ошибок MESSAGE_ID_INVALID для сообщений без фото
|
||||
try:
|
||||
return await _text_edit(self, text, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user