Не редактируется сообщение с кнопками телеграм
У меня стоит ивент на нажатие кнопки 1 и 2, при нажатии кнопки 2 раза, последнее сообщение бота должно редактироваться, но у меня не редактируется
В консоли при отправке сообщения, я записываю в message_id, далее я его использую для редактирования, но оно не редактируется.
Может баг какой-то есть с этим связанный, т.к чат айди тот, мессадж айди тоже, может из-за кнопок проблемма
Редактирую сообщение:
var id = TgBot.EditMessageTextAsync(chat, message_id, "Выберите", replyMarkup: buttons);
message_id = id.Id; //message_id глобальная переменная
Полный код:
if (ev.CallbackQuery.Data == "1 group")
{
var chat_id = ev.CallbackQuery.Message.Chat.Id;
foreach (var a in Arr)
{
Console.WriteLine(a.Key + " == " + chat_id);
if (a.Key == chat_id)
{
message_id = a.Value;
Console.WriteLine(a.Value);
ListGroups.Edit_Buttons_On_Message(message.Chat.Id, 1);
global_bool = true;
break;
}
}
if (global_bool == false)
{
try
{
Arr.Remove(chat_id, out message_id);
}
catch (Exception) { }
ListGroups.Buttons_On_Message(message.Chat.Id, 1);
Arr.Add(chat_id, message_id);
global_bool = true;
}
}
Buttons on message
List<string> Courses = new List<string>();
List<InlineKeyboardButton[]> list = new List<InlineKeyboardButton[]>();
int i = 0;
Local_Group_bd.whose_Cours(Cours, ref Courses);
Console.WriteLine(Courses.Count());
for (; i < Courses.Count(); i++)
{
try
{
list.Add(new[] { InlineKeyboardButton.WithCallbackData(Courses[i], Courses[i]),
InlineKeyboardButton.WithCallbackData(Courses[i + 1], Courses[i + 1]),
InlineKeyboardButton.WithCallbackData(Courses[i + 2], Courses[i + 2]),
InlineKeyboardButton.WithCallbackData(Courses[i + 3], Courses[i + 3])
});
}
catch (Exception)
{
int Ostatok = Courses.Count() % 4;
InlineKeyboardButton[] a = new InlineKeyboardButton[Ostatok];
for (int cout = 0; cout < Courses.Count() % 4; cout++)
a[cout] = InlineKeyboardButton.WithCallbackData(Courses[cout], Courses[cout]);
list.Add(a);
}
i = i + 3;
}
Courses.Clear();
InlineKeyboardMarkup buttons = new InlineKeyboardMarkup(list);
var id = TgBot.SendTextMessageAsync(chat, "Выберите свою группу", replyMarkup: buttons);
message_id = id.Id;
} // в общем, тут создается кнопки с названием групп и отправляется сообщение
Edit_Buttons_On_Message
List<string> Courses = new List<string>();
List<InlineKeyboardButton[]> list = new List<InlineKeyboardButton[]>();
int i = 0;
Local_Group_bd.whose_Cours(Cours, ref Courses);
Console.WriteLine(Courses.Count());
for (; i < Courses.Count(); i++)
{
try
{
list.Add(new[] { InlineKeyboardButton.WithCallbackData(Courses[i], Courses[i]),
InlineKeyboardButton.WithCallbackData(Courses[i + 1], Courses[i + 1]),
InlineKeyboardButton.WithCallbackData(Courses[i + 2], Courses[i + 2]),
InlineKeyboardButton.WithCallbackData(Courses[i + 3], Courses[i + 3])
});
}
catch (Exception)
{
int Ostatok = Courses.Count() % 4;
InlineKeyboardButton[] a = new InlineKeyboardButton[Ostatok];
for (int cout = 0; cout < Courses.Count() % 4; cout++)
a[cout] = InlineKeyboardButton.WithCallbackData(Courses[cout], Courses[cout]);
list.Add(a);
}
i = i + 3;
}
Courses.Clear();
InlineKeyboardMarkup buttons = new InlineKeyboardMarkup(list);
Console.WriteLine(message_id + "SSSSSS");
var id = TgBot.EditMessageTextAsync(chat, message_id, "Выберите свою группуi");
message_id = id.Id;
} // Тоже самое, но редактирует сообщение
Как мне кажется, после отправки сообщения, оно мне отдает не тот id