Answer the question
In order to leave comments, you need to log in
How can I do it?
How can I implement so that the bot after the message "Game" guessed a number and the user tried to guess a number from 1 to 10, and if he wrote something wrong, then the bot wrote to him so that he wrote the number and also ignored other commands (for example: "About the bot ")
Here is the code:
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 "Тут мой токен";
}
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question