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/keyboard | |
| parent | 59f54892f90eda23bcca45cc07d466c105db75ef (diff) | |
Change path
Diffstat (limited to 'src/main/java/com/mavlushechka/animarfo/telegram/user/keyboard')
| -rw-r--r-- | src/main/java/com/mavlushechka/animarfo/telegram/user/keyboard/UserKeyboard.java | 88 | 
1 files changed, 88 insertions, 0 deletions
| diff --git a/src/main/java/com/mavlushechka/animarfo/telegram/user/keyboard/UserKeyboard.java b/src/main/java/com/mavlushechka/animarfo/telegram/user/keyboard/UserKeyboard.java new file mode 100644 index 0000000..5b43f25 --- /dev/null +++ b/src/main/java/com/mavlushechka/animarfo/telegram/user/keyboard/UserKeyboard.java @@ -0,0 +1,88 @@ +package com.mavlushechka.animarfo.telegram.user.keyboard; + +import com.mavlushechka.animarfo.anime.Anime; +import com.mavlushechka.animarfo.parser.Parser; +import com.pengrad.telegrambot.model.request.Keyboard; +import com.pengrad.telegrambot.model.request.InlineKeyboardButton; +import com.pengrad.telegrambot.model.request.InlineKeyboardMarkup; +import com.pengrad.telegrambot.model.request.ReplyKeyboardMarkup; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.io.IOException; +import java.util.ArrayList; + +public class UserKeyboard { +    public static short seriesSize; + +    public static Keyboard getMain() { +        return new ReplyKeyboardMarkup( +                new String[]{"Поиск", "Онгоинги"}, +                new String[]{"Сериалы", "Фильмы"}, +                new String[]{"Помощь", "Информация"}) +                .oneTimeKeyboard(true) +                .resizeKeyboard(true) +                .selective(true); +    } + +    public static Keyboard getCarousel() { +        InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup(); + +        inlineKeyboardMarkup.addRow(new InlineKeyboardButton("Смотреть / Скачать").callbackData("watchOrDownload")); +        inlineKeyboardMarkup.addRow(new InlineKeyboardButton("Пред.").callbackData("previous"), new InlineKeyboardButton("След.").callbackData("next")); + +        return inlineKeyboardMarkup; +    } + +    public static Keyboard getDub() { +        return new InlineKeyboardMarkup(new InlineKeyboardButton("Anidub").callbackData("anidub")); +    } + +    public static Keyboard getAnidub() throws IOException { +        Anime[] anime = Anime.list; +        Anime thisAnime = anime[Anime.index]; + +        Elements seriesList = Parser.getPage(thisAnime.getUrl()).select("div[class=tabs-b video-box]").next().select("span"); +        ArrayList<String> series = new ArrayList<>(); +        ArrayList<String> seriesUrls = new ArrayList<>(); + +        for (Element seriesTemp : seriesList) { +            series.add(Jsoup.parse(String.valueOf(seriesTemp)).text()); +        } + +        for (Element seriesTemp : seriesList) { +            String text = seriesTemp.toString(); +            int start = text.indexOf("=\"") + 2; +            int end = text.indexOf("\" "); +            char[] dst = new char[end - start]; +            text.getChars(start, end, dst, 0); +            seriesUrls.add(String.valueOf(dst)); +        } + +        InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup(); +        seriesSize = (short) series.size(); +        for (int i = 0; i < seriesSize; i++) { +            if (i+2 < seriesSize) { +                inlineKeyboardMarkup.addRow( +                    new InlineKeyboardButton(series.get(i)).url(seriesUrls.get(i)), +                    new InlineKeyboardButton(series.get(i+1)).url(seriesUrls.get(i+1)), +                    new InlineKeyboardButton(series.get(i+2)).url(seriesUrls.get(i+2)) +                ); +                i += 2; +            } else if (i+1 < seriesSize) { +                inlineKeyboardMarkup.addRow( +                    new InlineKeyboardButton(series.get(i)).url(seriesUrls.get(i)), +                    new InlineKeyboardButton(series.get(i+1)).url(seriesUrls.get(i+1)) +                ); +                i++; +            } else { +                inlineKeyboardMarkup.addRow( +                    new InlineKeyboardButton(series.get(i)).url(seriesUrls.get(i)) +                ); +            } +        } + +        return inlineKeyboardMarkup; +    } +} |