fix: combine session image and text into single Telegram message
When creating a session with an image, send it as a single SendPhoto with the schedule text as caption (+ reply markup), instead of two separate messages. Falls back to two messages if caption exceeds Telegram's 1024-char limit. Also adds BatchMessageEditor helper that transparently handles EditMessageText vs EditMessageCaption depending on whether the batch message is a text or photo message. Updated all handlers and web service to use this helper. Version bump to 1.9.7.
This commit is contained in:
@@ -138,13 +138,13 @@ public sealed class JoinSessionHandler(
|
||||
// 4. Перерисовываем сообщение
|
||||
var renderResult = SessionBatchRenderer.Render(batchInfo.Title, batchSessions.ToList(), batchParticipants.ToList());
|
||||
|
||||
await bot.EditMessageText(
|
||||
await BatchMessageEditor.EditBatchMessageAsync(
|
||||
bot,
|
||||
chatId: command.ChatId,
|
||||
messageId: command.MessageId,
|
||||
text: renderResult.Text,
|
||||
parseMode: Telegram.Bot.Types.Enums.ParseMode.Html,
|
||||
replyMarkup: renderResult.Markup,
|
||||
cancellationToken: ct);
|
||||
ct);
|
||||
|
||||
var callbackText = registrationStatus == ParticipantRegistrationStatus.Waitlisted
|
||||
? "Основной состав заполнен. Вы добавлены в лист ожидания."
|
||||
|
||||
Reference in New Issue
Block a user