summaryrefslogtreecommitdiff
path: root/src/main/java/files/UserKeyboard.java
blob: c5f2b829efc13d5e729374972f0dcbf114cffee6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package files;

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.indexOfAnime];

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