summaryrefslogtreecommitdiff
path: root/src/main/java/files/MyKeyboard.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/files/MyKeyboard.java')
-rw-r--r--src/main/java/files/MyKeyboard.java71
1 files changed, 65 insertions, 6 deletions
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<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();
+ 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;
}
}