【发布时间】:2018-03-01 02:29:17
【问题描述】:
在代码中我写了一些 cmets。
我需要获取用户的电话号码。 Api 电报允许您使用keyboardButton.setText("Share your number>").setRequestContact(true); 执行此操作,用户收到一条消息,然后他一键发送联系人。之后我尝试在控制台中显示联系人System.out.println(update.getMessage().getContact());,但我总是得到null
public void onUpdateReceived(Update update) {
if (update.hasMessage() && update.getMessage().hasText()) {
long chat_id = update.getMessage().getChatId();
if (update.getMessage().getText().equals("/start")) {
SendMessage sendMessage = new SendMessage()
.setChatId(chat_id)
.setText("You send /start");
// create keyboard
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
sendMessage.setReplyMarkup(replyKeyboardMarkup);
replyKeyboardMarkup.setSelective(true);
replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboard(true);
// new list
List<KeyboardRow> keyboard = new ArrayList<>();
// first keyboard line
KeyboardRow keyboardFirstRow = new KeyboardRow();
KeyboardButton keyboardButton = new KeyboardButton();
keyboardButton.setText("Share your number >").setRequestContact(true);
keyboardFirstRow.add(keyboardButton);
// add array to list
keyboard.add(keyboardFirstRow);
// add list to our keyboard
replyKeyboardMarkup.setKeyboard(keyboard);
try {
sendMessage(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
System.out.println("#############");
System.out.println(update.getMessage().getContact());
System.out.println("#############");
}
}
}
【问题讨论】:
标签: java telegram telegram-bot