Как мне реализовать, чтобы бот после сообщение "Игра" загадал число и пользователь пытался угадать число от 1 до 10, а если он писал не то, то бот писал ему, чтобы он написал число и еще игнорировал другие команды(например: "О боте")
Вот код:
import org.telegram.telegrambots.ApiContextInitializer;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.TelegramBotsApi;
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
import org.telegram.telegrambots.meta.api.objects.Message;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.api.objects.games.Game;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.ReplyKeyboardMarkup;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.buttons.KeyboardRow;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
import java.util.ArrayList;
import java.util.List;
public class Bot extends TelegramLongPollingBot {
public void Keyboard(SendMessage sendMessage) {
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
sendMessage.setReplyMarkup(replyKeyboardMarkup);
replyKeyboardMarkup.setSelective(true);
replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboard(false);
// Создаем список строк клавиатуры
List<KeyboardRow> keyboard = new ArrayList<>();
// Первая строчка клавиатуры
KeyboardRow keyboardFirstRow = new KeyboardRow();
// Добавляем кнопки в первую строчку клавиатуры
keyboardFirstRow.add("О боте");
keyboardFirstRow.add("Игра");
// Вторая строчка клавиатуры
// Добавляем кнопки во вторую строчку клавиатур
// Добавляем все строчки клавиатуры в список
keyboard.add(keyboardFirstRow);
// и устанваливаем этот список нашей клавиатуре
replyKeyboardMarkup.setKeyboard(keyboard);
}
public static void main(String[] args) {
//инцилизируем
ApiContextInitializer.init();
TelegramBotsApi botsApi = new TelegramBotsApi();
//регистрируем
try {
botsApi.registerBot(new Bot());
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
public void Game(Message message) {
sendMsg(message,"Попробуй угадать мое число(от 0 до 10), а я скажу: оно больше или меньше");
//Тут должно все реализовано
}
//функция для отправики сообщения
public void sendMsg(Message message, String text) {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setText(text);
Keyboard(sendMessage);
try {
//отправка
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
@Override
public void onUpdateReceived(Update update) {
Message message = update.getMessage();
if (message != null && message.hasText()) {
switch (update.getMessage().getText()) {
case "/start":
sendMsg(message, "Нажимай на кнопки, чтобы контактировать со мной");
break;
case "/help":
sendMsg(message, "Нажимай на кнопки");
break;
case "О боте":
sendMsg(message, "Меня создали 11 мая");
break;
case "Игра":
Game(message);
break;
}
}
}
@Override
public String getBotUsername() {
return "Тут мой бот";
}
@Override
public String getBotToken() {
return "Тут мой токен";
}
}