From 31e068369989a0841261c2df054eabc37096ef75 Mon Sep 17 00:00:00 2001 From: FlorianDahn Date: Mon, 1 Mar 2021 22:13:40 +0100 Subject: [PATCH] FIX: for using ButtonGrid within AutoCleanForm can cause to no message --- TelegramBotBase/Controls/Hybrid/ButtonGrid.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/TelegramBotBase/Controls/Hybrid/ButtonGrid.cs b/TelegramBotBase/Controls/Hybrid/ButtonGrid.cs index 99c96b4..ba652ca 100644 --- a/TelegramBotBase/Controls/Hybrid/ButtonGrid.cs +++ b/TelegramBotBase/Controls/Hybrid/ButtonGrid.cs @@ -396,14 +396,20 @@ namespace TelegramBotBase.Controls.Hybrid case eKeyboardType.InlineKeyBoard: + //Try to edit message if message id is available + //When the returned message is null then the message has been already deleted, resend it if (this.MessageId != null) { m = await this.Device.Edit(this.MessageId.Value, this.Title, (InlineKeyboardMarkup)form); + if (m != null) + { + this.MessageId = m.MessageId; + return; + } } - else - { - m = await this.Device.Send(this.Title, (InlineKeyboardMarkup)form, disableNotification: true, parseMode: MessageParseMode, MarkdownV2AutoEscape: false); - } + + //When no message id is available or it has been deleted due the use of AutoCleanForm re-render automatically + m = await this.Device.Send(this.Title, (InlineKeyboardMarkup)form, disableNotification: true, parseMode: MessageParseMode, MarkdownV2AutoEscape: false); break; }