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; + } +} |