From affa90bfec4d21c27702c04c4e1d2450e9201baa Mon Sep 17 00:00:00 2001 From: mavlonerkinboev Date: Sun, 25 Jul 2021 18:15:07 +0500 Subject: seventeenth commit --- src/main/java/files/MyKeyboard.java | 71 +++++++++++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 6 deletions(-) (limited to 'src/main/java/files/MyKeyboard.java') diff --git a/src/main/java/files/MyKeyboard.java b/src/main/java/files/MyKeyboard.java index 8beb6e2..6212542 100644 --- a/src/main/java/files/MyKeyboard.java +++ b/src/main/java/files/MyKeyboard.java @@ -4,22 +4,81 @@ 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 MyKeyboard { public static Keyboard getMain() { return new ReplyKeyboardMarkup( new String[]{"Поиск аниме"}, - new String[]{"Недавно добавленные аниме"}, - new String[]{"Новинки аниме"}, - new String[]{"Случайное аниме"}) + new String[]{"Онгоинги"}, + new String[]{"Аниме сериалы"}, + new String[]{"Аниме фильмы"}) .oneTimeKeyboard(true) .resizeKeyboard(true) .selective(true); } public static Keyboard getCarousel(String typeOfAnime) { - return new InlineKeyboardMarkup( - new InlineKeyboardButton("<").callbackData("previous" + typeOfAnime), - new InlineKeyboardButton(">").callbackData("next" + typeOfAnime)); + InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup(); + + inlineKeyboardMarkup.addRow(new InlineKeyboardButton("Смотреть / Скачать").callbackData("watchOrDownload")); + inlineKeyboardMarkup.addRow(new InlineKeyboardButton("Пред.").callbackData("previous" + typeOfAnime), new InlineKeyboardButton("След.").callbackData("next" + typeOfAnime)); + + 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.indexOfAnime]; + + Elements seriesList = Parse.getPage(thisAnime.getUrl()).select("div[class=tabs-b video-box]").next().select("span"); + ArrayList series = new ArrayList<>(); + ArrayList 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(); + for (int i = 0; i < series.size(); i++) { + if (i+2 < series.size()) { + 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 < series.size()) { + 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; } } -- cgit v1.2.3