summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/animarfo/telegram/user/message/UserMessage.java
blob: 8a606dd1608c3adde51749d18a6366a7f41230e6 (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
package com.mavlushechka.animarfo.telegram.user.message;

import com.mavlushechka.animarfo.anime.Anime;
import com.mavlushechka.animarfo.telegram.user.keyboard.UserKeyboard;
import com.mavlushechka.animarfo.database.Database;
import com.mavlushechka.animarfo.telegram.bot.Bot;
import com.pengrad.telegrambot.model.Message;
import com.pengrad.telegrambot.model.request.ParseMode;
import com.pengrad.telegrambot.request.SendMessage;

import java.io.IOException;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;

public class UserMessage {
    public static Message message;
    public static String text;
    public static long chatId;
    private static final HashMap<String, String> animeTypes = new HashMap<>();
    private static final Logger LOGGER = Logger.getLogger(UserMessage.class.getName());

    static {
        LOGGER.setLevel(Level.ALL);

        animeTypes.put("Онгоинги", "Ongoing");
        animeTypes.put("Сериалы", "Serials");
        animeTypes.put("Фильмы", "Films");
    }

    public static void setInformation(Message message) {
        UserMessage.message = message;
        UserMessage.text = message.text();
        UserMessage.chatId = message.chat().id();
    }

    public static void execute(Message message) throws IOException {
        UserMessage.setInformation(message);

        if (animeTypes.get(UserMessage.text) != null || UserMessage.text.equals("Поиск")) {
            if (UserMessage.text.equals("Поиск")) {
                Anime.isSearching = true;
            } else {
                Anime.isSearching = false;
                Anime.type = animeTypes.get(UserMessage.text);
            }
            Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "В какой озвучке будем смотреть?").replyMarkup(UserKeyboard.getDub()));
        } else if (UserMessage.text.equals("/start") || UserMessage.text.equals("Информация")) {
            Anime.isSearching = false;
            Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, ("Приветик, меня звать AniMarfo. Благодаря мне тебе не надо будет самому искать в интернете аниме-тайтлы и подходящую тебе озвучку или же субтитры. \n\nНа данный момент я умею искать аниме по названию, а также находить недавние онгоинги, сериалы и фильмы.\nДоступные озвучки: Anidub.\n\nВыбери одну из команд на твоей клавиатуре, для того чтобы начать увлекательное путешествие в мир аниме :3")).replyMarkup(UserKeyboard.getMain()));
        } else if (UserMessage.text.equals("Помощь")) {
            Anime.isSearching = false;
            Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, ("<b>Вопрос</b>: Как скачать аниме с телефона?\n<b>Ответ</b>: Воспроизведи видео, удерживай палец на видео и после появления окна с действиями, нажми на кнопку \"Сохранить файл на устройстве\".\n\n<b>Вопрос</b>: Как скачать аниме с компьютера?\n<b>Ответ</b>: Воспроизведи видео, нажми на правую кнопку мышки по видео и после появления окна с действиями, нажми левой кнопкой мышки на кнопку \"Сохранить Видео как...\", после чего тебе необходимо будет указать путь для загрузки.")).parseMode(ParseMode.HTML).replyMarkup(UserKeyboard.getMain()));
        } else {
            if (Anime.isSearching && Anime.dub != null) {
                Anime.setSearched(UserMessage.text);
                try {
                    Bot.sendAnime();
                } catch (IOException ioException) {
                    ioException.printStackTrace();
                }
                Anime.isSearching = false;
            } else {
                Anime.isSearching = false;
                Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Прости, но я тебя не понимаю, воспользуйся командами на твоей клавиатуре.").replyMarkup(UserKeyboard.getMain()));
            }
        }
        LOGGER.fine("Message is executed");

        Database.saveUser(Bot.telegramUser);
    }
}