Skip to content

Leonid-Sarmatov/universal-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

universal-telegram-bot

Небольшой проект универсального телеграм бота, которого можно гибко настроить под различные задачи.

Класс Automate

Функционал бота прописывается в методе createAutomate() класса Automate. Метод создает HashMap<String, SendMessageInterface>, Где ключ - это каллбек сообщения или само сообщение по которому будет вызываться определенное действие бота.

Вы можете добавлять в список функционал по обзазцу

automate.put("/start", (update, chatId) -> {

  // List with message objects
  ArrayList<Answer> list = new ArrayList<>();

  // Text message object
  SendMessage msg = new SendMessage();
  msg.setChatId(chatId);
  msg.setText("Greetings!");

  // Create keyboard
  msg.setReplyMarkup(InlineKeyboardMaker
          .oneColumnKeyboard(new String[] {"Pizza!", "Lays!"}, new String[] {"Call1", "Call2"}));

  // Adding a text message to the message list
  Answer answer = new Answer();
  answer.setSendMessage(msg);
  list.add(answer);
  return list;
});

automate.put("Call2", ((update, chatId) -> {

    // List with message objects
    ArrayList<Answer> list = new ArrayList<>();
    SendPhoto sendPhoto = new SendPhoto();
    SendMessage sendMessage = new SendMessage();

    // Text message
    sendMessage.setChatId(chatId);
    sendMessage.setText("In addition to photos, you can send text right away.");

    // Image message
    sendPhoto.setChatId(chatId);
    sendPhoto.setPhoto(new InputFile(new File("./src/main/resources/images/image.jpeg")));
    sendPhoto.setCaption("Here are your chips!");

    // Adding a text message and a message with an image to the message list
    Answer answer = new Answer();
    answer.setSendMessage(sendMessage);
    answer.setSendPhoto(sendPhoto);

    list.add(answer);
    return list;
}));

Пакет KeyboardMaker

Пакет содержит слассы для создания различных клавиатур. Каждый метод создает клавиатуру определенного вида

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages