343.10. 키보드 사용자 정의
사용자에게 옵션을 작성하도록 요청하는 대신 사용자 키보드를 사용자 지정할 수 있습니다. OutgoingECDHEMessage
에는 이러한 용도로 사용할 수 있는 ReplyKeyboardMarkup
속성이 있습니다.
from("telegram:bots/123456789:insertYourAuthorizationTokenHere") .process(exchange -> { OutgoingTextMessage msg = new OutgoingTextMessage(); msg.setText("Choose one option!"); InlineKeyboardButton buttonOptionOneI = InlineKeyboardButton.builder() .text("Option One - I").build(); InlineKeyboardButton buttonOptionOneII = InlineKeyboardButton.builder() .text("Option One - II").build(); InlineKeyboardButton buttonOptionTwoI = InlineKeyboardButton.builder() .text("Option Two - I").build(); ReplyKeyboardMarkup replyMarkup = ReplyKeyboardMarkup.builder() .keyboard() .addRow(Arrays.asList(buttonOptionOneI, buttonOptionOneII)) .addRow(Arrays.asList(buttonOptionTwoI)) .close() .oneTimeKeyboard(true) .build(); msg.setReplyKeyboardMarkup(replyMarkup); exchange.getIn().setBody(msg); }) .to("telegram:bots/123456789:insertYourAuthorizationTokenHere");
from("telegram:bots/123456789:insertYourAuthorizationTokenHere")
.process(exchange -> {
OutgoingTextMessage msg = new OutgoingTextMessage();
msg.setText("Choose one option!");
InlineKeyboardButton buttonOptionOneI = InlineKeyboardButton.builder()
.text("Option One - I").build();
InlineKeyboardButton buttonOptionOneII = InlineKeyboardButton.builder()
.text("Option One - II").build();
InlineKeyboardButton buttonOptionTwoI = InlineKeyboardButton.builder()
.text("Option Two - I").build();
ReplyKeyboardMarkup replyMarkup = ReplyKeyboardMarkup.builder()
.keyboard()
.addRow(Arrays.asList(buttonOptionOneI, buttonOptionOneII))
.addRow(Arrays.asList(buttonOptionTwoI))
.close()
.oneTimeKeyboard(true)
.build();
msg.setReplyKeyboardMarkup(replyMarkup);
exchange.getIn().setBody(msg);
})
.to("telegram:bots/123456789:insertYourAuthorizationTokenHere");
이를 비활성화하려면 다음 메시지에 ReplyKeyboardMarkup
개체에 속성 removeKeyboard
가 설정되어 있어야 합니다.
from("telegram:bots/123456789:insertYourAuthorizationTokenHere") .process(exchange -> { OutgoingTextMessage msg = new OutgoingTextMessage(); msg.setText("Your answer was accepted!"); ReplyKeyboardMarkup replyMarkup = ReplyKeyboardMarkup.builder() .removeKeyboard(true) .build(); msg.setReplyKeyboardMarkup(replyMarkup); exchange.getIn().setBody(msg); }) .to("telegram:bots/123456789:insertYourAuthorizationTokenHere");
from("telegram:bots/123456789:insertYourAuthorizationTokenHere")
.process(exchange -> {
OutgoingTextMessage msg = new OutgoingTextMessage();
msg.setText("Your answer was accepted!");
ReplyKeyboardMarkup replyMarkup = ReplyKeyboardMarkup.builder()
.removeKeyboard(true)
.build();
msg.setReplyKeyboardMarkup(replyMarkup);
exchange.getIn().setBody(msg);
})
.to("telegram:bots/123456789:insertYourAuthorizationTokenHere");