Java 电报api,can';我找不到电话号码
在代码中我写了一些注释。 我需要得到用户的电话号码。Api telegraph允许您使用Java 电报api,can';我找不到电话号码,java,telegram,telegram-bot,Java,Telegram,Telegram Bot,在代码中我写了一些注释。 我需要得到用户的电话号码。Api telegraph允许您使用keyboardButton.setText(“共享您的号码>”).setRequestContact(true)来完成此操作用户收到一条消息,只需单击一下即可发送联系人。之后,我尝试在控制台中显示contactSystem.out.println(update.getMessage().getContact()),但我总是得到null public void onUpdateReceived(Update
keyboardButton.setText(“共享您的号码>”).setRequestContact(true)来完成此操作代码>用户收到一条消息,只需单击一下即可发送联系人。之后,我尝试在控制台中显示contactSystem.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("#############");
}
}
}
public void onUpdateReceived(更新){
if(update.hasMessage()&&update.getMessage().hasText()){
long chat_id=update.getMessage().getChatId();
if(update.getMessage().getText().equals(“/start”)){
SendMessage SendMessage=新建SendMessage()
.setChatId(聊天室id)
.setText(“您发送/启动”);
//创建键盘
ReplyKeyboardMarkup ReplyKeyboardMarkup=新建ReplyKeyboardMarkup();
setReplyMarkup(replyKeyboardMarkup);
replyKeyboardMarkup.setSelective(true);
replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboard(true);
//新名单
列表键盘=新建ArrayList();
//键盘第一行
KeyboardRow keyboardFirstRow=新键盘行();
KeyboardButton KeyboardButton=新键盘按钮();
keyboardButton.setText(“共享您的号码>”).setRequestContact(true);
键盘第一行。添加(键盘按钮);
//将数组添加到列表中
键盘。添加(键盘第一行);
//将列表添加到我们的键盘
replyKeyboardMarkup.setKeyboard(键盘);
试一试{
sendMessage(sendMessage);
}捕获(e){
e、 printStackTrace();
}
System.out.println(“###################”;
System.out.println(update.getMessage().getContact());
System.out.println(“###################”;
}
}
}
当用户按下“共享您的号码”按钮时,对象update.getMessage().getContact()不为空
尝试按以下方式更改代码:
if(update.getMessage().getText().equals(“/start”)){
SendMessage SendMessage=newsendmessage()
.setChatId(聊天室id)
.setText(“您发送/启动”);
//创建键盘
ReplyKeyboardMarkup ReplyKeyboardMarkup=新建ReplyKeyboardMarkup();
setReplyMarkup(replyKeyboardMarkup);
replyKeyboardMarkup.setSelective(true);
replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboard(true);
//新名单
列表键盘=新建ArrayList();
//键盘第一行
KeyboardRow keyboardFirstRow=新键盘行();
KeyboardButton KeyboardButton=新键盘按钮();
keyboardButton.setText(“共享您的号码>”).setRequestContact(true);
键盘第一行。添加(键盘按钮);
//将数组添加到列表中
键盘。添加(键盘第一行);
//将列表添加到我们的键盘
replyKeyboardMarkup.setKeyboard(键盘);
试一试{
sendMessage(sendMessage);
}捕获(e){
e、 printStackTrace();
}
}否则{
System.out.println(“###################”;
System.out.println(update.getMessage().getContact());
System.out.println(“###################”;
}删除此行以进行检查
if(update.hasMessage() && update.getMessage().hasText())
共享联系人回复没有文本
if(update.hasMessage() && update.getMessage().hasText())