diff options
Diffstat (limited to 'src/main/java/files/UserCallbackQuery.java')
-rw-r--r-- | src/main/java/files/UserCallbackQuery.java | 150 |
1 files changed, 100 insertions, 50 deletions
diff --git a/src/main/java/files/UserCallbackQuery.java b/src/main/java/files/UserCallbackQuery.java index 7a297a8..553f6fd 100644 --- a/src/main/java/files/UserCallbackQuery.java +++ b/src/main/java/files/UserCallbackQuery.java @@ -2,81 +2,131 @@ package files; import com.pengrad.telegrambot.TelegramBot; import com.pengrad.telegrambot.model.CallbackQuery; +import com.pengrad.telegrambot.model.Update; import com.pengrad.telegrambot.model.User; +import com.pengrad.telegrambot.model.request.ParseMode; import com.pengrad.telegrambot.request.DeleteMessage; +import com.pengrad.telegrambot.request.SendMessage; +import com.pengrad.telegrambot.request.SendPhoto; +import files.entity.TelegramUser; + +import java.io.IOException; public class UserCallbackQuery extends com.pengrad.telegrambot.model.CallbackQuery { - private static CallbackQuery callbackQuery; - private static String data; - private static User user; - private static int messageId; - private static long chatId; + public static CallbackQuery callbackQuery; + public static String data; + public static User user; + public static long userId; + public static String fullName; + public static int messageId; + public static long chatId; public static void setInformation(CallbackQuery callbackQuery) { UserCallbackQuery.callbackQuery = callbackQuery; UserCallbackQuery.data = callbackQuery.data(); UserCallbackQuery.user = callbackQuery.from(); + UserCallbackQuery.userId = callbackQuery.from().id(); + UserCallbackQuery.fullName = callbackQuery.from().firstName() + TelegramUser.checkIfHasLastName(user); UserCallbackQuery.messageId = callbackQuery.message().messageId(); UserCallbackQuery.chatId = callbackQuery.message().chat().id(); } + public static String getInformation() { + return "callbackQuery: " + callbackQuery + System.lineSeparator() + + "data: " + data + System.lineSeparator() + + "userId: " + userId + System.lineSeparator() + + "fullName: " + fullName + System.lineSeparator() + + "messageId: " + messageId + System.lineSeparator() + + "chatId: " + chatId + "\n\n"; + } + public static boolean checkIfNotNull(CallbackQuery callbackQuery) { return (callbackQuery != null); } - public static void execute(TelegramBot telegramBot) { - if (data.equals("previousRecentlyAddedAnime")) { - if (Anime.getIndexOfAnime() == 0) { - Anime.setIndexOfAnime((byte) 19); - } else { - Anime.decreaseIndexOfAnime(); + public static void execute(CallbackQuery callbackQuery) throws IOException { + UserCallbackQuery.setInformation(callbackQuery); + + Bot.log.write(UserCallbackQuery.getInformation()); + Bot.log.flush(); + + switch (data) { + case "previousOngoing" -> { + if (Anime.indexOfAnime == 0) { + Anime.setIndexOfAnime((byte) 27); + } else { + Anime.decreaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("Ongoing"); } - Bot.showRecentlyAddedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime()); - } - if (data.equals("nextRecentlyAddedAnime")) { - if (Anime.getIndexOfAnime() == 19) { - Anime.setIndexOfAnime((byte) 0); - } else { - Anime.increaseIndexOfAnime(); + case "nextOngoing" -> { + if (Anime.indexOfAnime == 27) { + Anime.setIndexOfAnime((byte) 0); + } else { + Anime.increaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("Ongoing"); } - Bot.showRecentlyAddedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime()); - } - - if (data.equals("previousRecentlyReleasedAnime")) { - if (Anime.getIndexOfAnime() == 0) { - Anime.setIndexOfAnime((byte) 19); - } else { - Anime.decreaseIndexOfAnime(); + case "previousAnimeSerials" -> { + if (Anime.indexOfAnime == 0) { + Anime.setIndexOfAnime((byte) 27); + } else { + Anime.decreaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("AnimeSerials"); } - Bot.showRecentlyReleasedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime()); - } - if (data.equals("nextRecentlyReleasedAnime")) { - if (Anime.getIndexOfAnime() == 19) { - Anime.setIndexOfAnime((byte) 0); - } else { - Anime.increaseIndexOfAnime(); + case "nextAnimeSerials" -> { + if (Anime.indexOfAnime == 27) { + Anime.setIndexOfAnime((byte) 0); + } else { + Anime.increaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("AnimeSerials"); } - Bot.showRecentlyReleasedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime()); - } - - if (data.equals("previousSearchedAnime")) { - if (Anime.getIndexOfAnime() == 0) { - Anime.setIndexOfAnime((byte) (Anime.getSearchedAnimeSize() - 1)); - } else { - Anime.decreaseIndexOfAnime(); + case "previousAnimeFilms" -> { + if (Anime.indexOfAnime == 0) { + Anime.setIndexOfAnime((byte) 27); + } else { + Anime.decreaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("AnimeFilms"); } - Bot.showSearchedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime(), Anime.getList()); - } - if (data.equals("nextSearchedAnime")) { - if (Anime.getIndexOfAnime() == Anime.getSearchedAnimeSize() - 1) { - Anime.setIndexOfAnime((byte) 0); - } else { - Anime.increaseIndexOfAnime(); + case "nextAnimeFilms" -> { + if (Anime.indexOfAnime == 27) { + Anime.setIndexOfAnime((byte) 0); + } else { + Anime.increaseIndexOfAnime(); + } + Bot.sendAnimeAtMainMenuByCallBackQuery("AnimeFilms"); + } + case "previousSearchedAnime" -> { + if (Anime.indexOfAnime == 0) { + Anime.setIndexOfAnime((byte) (Anime.searchedAnimeSize - 1)); + } else { + Anime.decreaseIndexOfAnime(); + } + Bot.sendSearchedAnimeByCallBackQuery(callbackQuery, Anime.indexOfAnime, Anime.list); + } + case "nextSearchedAnime" -> { + if (Anime.indexOfAnime == Anime.searchedAnimeSize - 1) { + Anime.setIndexOfAnime((byte) 0); + } else { + Anime.increaseIndexOfAnime(); + } + Bot.sendSearchedAnimeByCallBackQuery(callbackQuery, Anime.indexOfAnime, Anime.list); + } + case "watchOrDownload" -> { + Bot.telegramBot.execute(new SendMessage(UserMessage.chatId, "Какую озвучку выберем?").replyMarkup(MyKeyboard.getDub())); + } + case "anidub" -> { + Anime[] anime = Anime.list; + byte index = Anime.indexOfAnime; + Anime thisAnime = anime[index]; + Bot.telegramBot.execute(new SendPhoto(UserMessage.chatId, anime[index].getImage()).caption(anime[index].showInfo("Anidub")).parseMode(ParseMode.HTML).replyMarkup(MyKeyboard.getAnidub())); } - Bot.showSearchedAnimeByCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime(), Anime.getList()); } DeleteMessage deleteMessage = new DeleteMessage(chatId, messageId); - telegramBot.execute(deleteMessage); + Bot.telegramBot.execute(deleteMessage); } } |