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 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(); 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; } }