diff options
| author | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-21 00:50:25 +0500 | 
|---|---|---|
| committer | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-21 00:50:25 +0500 | 
| commit | 3da7019a3f216e044e6ffc66e7c0e6e340279bc4 (patch) | |
| tree | 33ac21e9ff485e1dcdb127c2812da417cee6bbd7 /src/main/java/com/mavlonerkinboev/animarfo/telegram | |
| parent | bfe7931611dea30fdae6508e356dff19b8b6f6a5 (diff) | |
Removed main function
Diffstat (limited to 'src/main/java/com/mavlonerkinboev/animarfo/telegram')
| -rw-r--r-- | src/main/java/com/mavlonerkinboev/animarfo/telegram/bot/Bot.java | 90 | 
1 files changed, 90 insertions, 0 deletions
| diff --git a/src/main/java/com/mavlonerkinboev/animarfo/telegram/bot/Bot.java b/src/main/java/com/mavlonerkinboev/animarfo/telegram/bot/Bot.java new file mode 100644 index 0000000..9cc831a --- /dev/null +++ b/src/main/java/com/mavlonerkinboev/animarfo/telegram/bot/Bot.java @@ -0,0 +1,90 @@ +package com.mavlonerkinboev.animarfo.telegram.bot; + +import com.mavlonerkinboev.animarfo.App; +import com.mavlonerkinboev.animarfo.anime.Anime; +import com.mavlonerkinboev.animarfo.parser.Parser; +import com.mavlonerkinboev.animarfo.telegram.user.TelegramUser; +import com.mavlonerkinboev.animarfo.telegram.user.callbackquery.UserCallbackQuery; +import com.mavlonerkinboev.animarfo.telegram.user.keyboard.UserKeyboard; +import com.mavlonerkinboev.animarfo.telegram.user.message.UserMessage; +import com.pengrad.telegrambot.TelegramBot; +import com.pengrad.telegrambot.UpdatesListener; +import com.pengrad.telegrambot.model.User; +import com.pengrad.telegrambot.model.request.ParseMode; +import com.pengrad.telegrambot.request.SendMessage; +import com.pengrad.telegrambot.request.SendPhoto; + +import java.io.IOException; +import java.text.SimpleDateFormat; + +// TODO: 7/25/21 Добавить Аниме OVA, аниме по жанру, Дорамы, случайное аниме + +public class Bot { +    public final static TelegramBot TELEGRAM_BOT = new TelegramBot(App.PROPERTIES.getProperty("BOT_TOKEN")); +    public static TelegramUser telegramUser = new TelegramUser(); + +    public static void start() { +        TELEGRAM_BOT.setUpdatesListener(updates -> { +            updates.forEach(update -> { +                if (update.callbackQuery() != null) { +                    try { +                        UserCallbackQuery.execute(update.callbackQuery()); +                    } catch (IOException e) { +                        e.printStackTrace(); +                    } +                } +                if (update.message() != null) { +                    User user = update.message().from(); +                    SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("dd.MM.yyyy HH:mm:ss z"); +                    simpleDateFormat.setTimeZone(java.util.TimeZone.getTimeZone("GMT+5")); +                    String formattedDate = simpleDateFormat.format(new java.util.Date(update.message().date() * 1000L)); +                    telegramUser = new TelegramUser(user.id(), user.isBot(), user.firstName(), user.lastName(), user.username(), formattedDate); +                    try { +                        UserMessage.execute(update.message()); +                    } catch (IOException e) { +                        e.printStackTrace(); +                    } +                } +            }); +            return UpdatesListener.CONFIRMED_UPDATES_ALL; +        }); +    } + +    public static void sendAnime(String url) { +        Anime[] anime = new Anime[28]; +        byte index = Anime.index; +        try { +            anime = Parser.getAnime(url); +        } catch (IOException e) { +            e.printStackTrace(); +        } +        Anime.setList(anime); +        TELEGRAM_BOT.execute(new SendPhoto(UserMessage.chatId, anime[index].getImage()).caption(anime[index].showInfo()).parseMode(ParseMode.HTML).replyMarkup(UserKeyboard.getCarousel())); +    } + +    public static void sendAnimeByCallBackQuery() { +        Anime[] anime = Anime.list; +        byte index = Anime.index; +        TELEGRAM_BOT.execute(new SendPhoto(UserCallbackQuery.chatId, anime[index].getImage()).caption(anime[index].showInfo()).parseMode(ParseMode.HTML).replyMarkup(UserKeyboard.getCarousel())); +    } + +    public static void sendSearchedAnime() throws IOException { +        String searchedAnime = Anime.searched; +        byte index = Anime.index; +        byte animeAtSearchSize = Parser.getSizeOfSearchedAnime("https://anime.anidub.life/?do=search&mode=advanced&subaction=search&titleonly=3&story=" + searchedAnime); +        if (animeAtSearchSize > 0) { +            Anime[] anime = new Anime[animeAtSearchSize]; +            try { +                anime = Parser.getAnime("https://anime.anidub.life/?do=search&mode=advanced&subaction=search&titleonly=3&story=" + searchedAnime); +            } catch (IOException e) { +                e.printStackTrace(); +            } +            Anime.size = animeAtSearchSize; +            Anime.setList(anime); +            TELEGRAM_BOT.execute(new SendPhoto(UserMessage.chatId, anime[index].getImage()).caption(anime[index].showInfo()).parseMode(ParseMode.HTML).replyMarkup(UserKeyboard.getCarousel())); +        } else { +            TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Прости, но я не смог найти аниме с таким названием...\nДавай поищем другое аниме!")); +            Anime.isSearching = true; +        } +    } +} |