سلام
نمونه کد زیر ،برای ویرایش پیام حاوی inline keyboard به کار میره
وقتی کد زیر رو اجرا می کنم متد setText متن شیء dk1 از نوع InlineKeyboardButton رو برای بار اول تغییر میده (در loop قابل اجرا نیست)
if(update.hasCallbackQuery()){
String call_data = update.getCallbackQuery().getData();
long message_id = update.getCallbackQuery().getMessage().getMessageI d();
long chat_id = update.getCallbackQuery().getMessage().getChatId() ;
String inline_message_id = update.getCallbackQuery().getInlineMessageId();
if (call_data.equals(i+"up")) {
EditMessageReplyMarkup new_message = new EditMessageReplyMarkup() .setChatId(chat_id).setMessageId(toIntExact(messag e_id)) .setInlineMessageId(inline_message_id);
InlineKeyboardButton dk1=new InlineKeyboardButton(); dk1.setText(i+"up"); ;
dk1.setCallbackData(k+"up");
InlineKeyboardMarkup markupInline = new InlineKeyboardMarkup();
List<List<InlineKeyboardButton>> rowsInline = new ArrayList<>();
List<InlineKeyboardButton> rowInline = new ArrayList<>(); rowInline.add(dk1);
rowsInline.add(rowInline); markupInline.setKeyboard(rowsInline);
new_message.setReplyMarkup(markupInline);
try {editMessageReplyMarkup(new_message);
} catch (TelegramApiException e) {
e.printStackTrace(); }
اما بعد از اجرا این ارورو میده:
org.telegram.telegrambots.exceptions.TelegramApiRe questException: Error editing message reply markup: [400] Bad Request: message is not modified at org.telegram.telegrambots.api.methods.updatingmess ages.EditMessageReplyMarkup.deserializeResponse(Ed itMessageReplyMarkup.java:111)
at org.telegram.telegrambots.bots.DefaultAbsSender.se ndApiMethod(DefaultAbsSender.java:690)
at org.telegram.telegrambots.bots.AbsSender.editMessa geReplyMarkup(AbsSender.java:206)
at javatelbot4.Myinkey.editinline1(Myinkey.java:83)
at javatelbot4.Inline1.onUpdateReceived(Inline1.java: 30)
at java.util.ArrayList.forEach(ArrayList.java:1255)
at org.telegram.telegrambots.generics.LongPollingBot. onUpdatesReceived(LongPollingBot.java:27)
at org.telegram.telegrambots.updatesreceivers.Default BotSession$HandlerThread.run(DefaultBotSession.jav a:311)