Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 电报api,can';我找不到电话号码_Java_Telegram_Telegram Bot - Fatal编程技术网

Java 电报api,can';我找不到电话号码

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

在代码中我写了一些注释。 我需要得到用户的电话号码。Api telegraph允许您使用
keyboardButton.setText(“共享您的号码>”).setRequestContact(true)来完成此操作用户收到一条消息,只需单击一下即可发送联系人。之后,我尝试在控制台中显示contact
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("#############");

    }
 }
}
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())