diff options
| author | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-26 10:32:29 +0500 | 
|---|---|---|
| committer | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-26 10:32:29 +0500 | 
| commit | eea88e5f236638862c94ce3e8cc958309a8a7d8b (patch) | |
| tree | f26c76f224673ce07d334f73a908ff575e119cb1 /src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery | |
| parent | 59f54892f90eda23bcca45cc07d466c105db75ef (diff) | |
Change path
Diffstat (limited to 'src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery')
| -rw-r--r-- | src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java | 95 | 
1 files changed, 95 insertions, 0 deletions
| diff --git a/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java b/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java new file mode 100644 index 0000000..1169ec0 --- /dev/null +++ b/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java @@ -0,0 +1,95 @@ +package com.mavlushechka.animarfo.telegram.user.callbackquery; + +import com.mavlushechka.animarfo.anime.Anime; +import com.mavlushechka.animarfo.telegram.bot.Bot; +import com.mavlushechka.animarfo.telegram.user.keyboard.UserKeyboard; +import com.mavlushechka.animarfo.telegram.user.message.UserMessage; +import com.pengrad.telegrambot.model.CallbackQuery; +import com.pengrad.telegrambot.model.User; +import com.pengrad.telegrambot.model.request.Keyboard; +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 java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class UserCallbackQuery extends com.pengrad.telegrambot.model.CallbackQuery { +    public static CallbackQuery callbackQuery; +    public static String data; +    public static User user; +    public static long userId; +    public static int messageId; +    public static long chatId; +    private static final Logger LOGGER = Logger.getLogger(UserCallbackQuery.class.getName()); + +    static { +        LOGGER.setLevel(Level.ALL); +    } + +    public static void setInformation(CallbackQuery _callbackQuery) { +        callbackQuery = _callbackQuery; +        data = _callbackQuery.data(); +        user = _callbackQuery.from(); +        userId = _callbackQuery.from().id(); +        messageId = _callbackQuery.message().messageId(); +        chatId = _callbackQuery.message().chat().id(); +    } + +    public static void execute(CallbackQuery callbackQuery) throws IOException { +        UserCallbackQuery.setInformation(callbackQuery); + +        switch (data) { +            case "previous" -> { +                if (Anime.index == 0) { +                    Anime.setIndex((byte) (Anime.size-1)); +                } else { +                    Anime.decreaseIndexOfAnime(); +                } +                Bot.sendAnimeByCallBackQuery(); +            } +            case "next" -> { +                if (Anime.index == Anime.size-1) { +                    Anime.setIndex((byte) 0); +                } else { +                    Anime.increaseIndexOfAnime(); +                } +                Bot.sendAnimeByCallBackQuery(); +            } +            case "watchOrDownload" -> { +                Anime[] anime = Anime.list; +                byte index = Anime.index; +                Keyboard anidub = UserKeyboard.getAnidub(); +                if (UserKeyboard.seriesSize > 0) { +                    Bot.TELEGRAM_BOT.execute(new SendPhoto(UserMessage.chatId, anime[index].getImage()).caption(anime[index].showInfo()).parseMode(ParseMode.HTML).replyMarkup(anidub)); +                } else { +                    Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Прости, но я не смог найти серии для этого аниме... :(")); +                } +            } +            case "anidub" -> { +                Anime.dub = "Anidub"; +                String url = null; +                if (Anime.type != null) { +                    switch (Anime.type) { +                        case "Ongoing" -> url = "https://online.anidub.com/anime/anime_ongoing/"; +                        case "Serials" -> url = "https://online.anidub.com/anime/full/"; +                        case "Films" -> url = "https://online.anidub.com/anime_movie/"; +                    } +                } +                Anime.setIndex((byte) 0); +                if (!Anime.isSearching) { +                    Bot.sendAnime(url); +                } else { +                    Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Введи название аниме")); +                } +                Anime.type = null; +            } +        } + +        DeleteMessage deleteMessage = new DeleteMessage(chatId, messageId); +        Bot.TELEGRAM_BOT.execute(deleteMessage); +        LOGGER.fine("CallbackQuery is executed"); +    } +} |