diff options
author | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-05 19:07:22 +0500 |
---|---|---|
committer | mavlonerkinboev <mavlonbek.ibragimov007@gmail.com> | 2021-08-05 19:07:22 +0500 |
commit | adcf7dc85bd09a704e2e751256be0efa80a06760 (patch) | |
tree | ac8b7d472b68180119b60ed42b7edacc6078ac2a /src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java | |
parent | 177553c320a8572206bd28dcb1a718b9b1192b85 (diff) |
changed directory
Diffstat (limited to 'src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java')
-rw-r--r-- | src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java b/src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java new file mode 100644 index 0000000..0db27c1 --- /dev/null +++ b/src/main/java/com/mavlonerkinboev/animarfo/telegram/user/keyboard/UserKeyboard.java @@ -0,0 +1,89 @@ +package com.mavlonerkinboev.animarfo.telegram.user.keyboard; + +import com.mavlonerkinboev.animarfo.anime.Anime; +import com.mavlonerkinboev.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[]{"Аниме сериалы"}, + 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; + } +} |