summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery
diff options
context:
space:
mode:
authormavlonerkinboev <mavlonbek.ibragimov007@gmail.com>2021-08-26 10:32:29 +0500
committermavlonerkinboev <mavlonbek.ibragimov007@gmail.com>2021-08-26 10:32:29 +0500
commiteea88e5f236638862c94ce3e8cc958309a8a7d8b (patch)
treef26c76f224673ce07d334f73a908ff575e119cb1 /src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery
parent59f54892f90eda23bcca45cc07d466c105db75ef (diff)
Change path
Diffstat (limited to 'src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery')
-rw-r--r--src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java b/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java
new file mode 100644
index 0000000..1169ec0
--- /dev/null
+++ b/src/main/java/com/mavlushechka/animarfo/telegram/user/callbackquery/UserCallbackQuery.java
@@ -0,0 +1,95 @@
+package com.mavlushechka.animarfo.telegram.user.callbackquery;
+
+import com.mavlushechka.animarfo.anime.Anime;
+import com.mavlushechka.animarfo.telegram.bot.Bot;
+import com.mavlushechka.animarfo.telegram.user.keyboard.UserKeyboard;
+import com.mavlushechka.animarfo.telegram.user.message.UserMessage;
+import com.pengrad.telegrambot.model.CallbackQuery;
+import com.pengrad.telegrambot.model.User;
+import com.pengrad.telegrambot.model.request.Keyboard;
+import com.pengrad.telegrambot.model.request.ParseMode;
+import com.pengrad.telegrambot.request.DeleteMessage;
+import com.pengrad.telegrambot.request.SendMessage;
+import com.pengrad.telegrambot.request.SendPhoto;
+
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class UserCallbackQuery extends com.pengrad.telegrambot.model.CallbackQuery {
+ public static CallbackQuery callbackQuery;
+ public static String data;
+ public static User user;
+ public static long userId;
+ public static int messageId;
+ public static long chatId;
+ private static final Logger LOGGER = Logger.getLogger(UserCallbackQuery.class.getName());
+
+ static {
+ LOGGER.setLevel(Level.ALL);
+ }
+
+ public static void setInformation(CallbackQuery _callbackQuery) {
+ callbackQuery = _callbackQuery;
+ data = _callbackQuery.data();
+ user = _callbackQuery.from();
+ userId = _callbackQuery.from().id();
+ messageId = _callbackQuery.message().messageId();
+ chatId = _callbackQuery.message().chat().id();
+ }
+
+ public static void execute(CallbackQuery callbackQuery) throws IOException {
+ UserCallbackQuery.setInformation(callbackQuery);
+
+ switch (data) {
+ case "previous" -> {
+ if (Anime.index == 0) {
+ Anime.setIndex((byte) (Anime.size-1));
+ } else {
+ Anime.decreaseIndexOfAnime();
+ }
+ Bot.sendAnimeByCallBackQuery();
+ }
+ case "next" -> {
+ if (Anime.index == Anime.size-1) {
+ Anime.setIndex((byte) 0);
+ } else {
+ Anime.increaseIndexOfAnime();
+ }
+ Bot.sendAnimeByCallBackQuery();
+ }
+ case "watchOrDownload" -> {
+ Anime[] anime = Anime.list;
+ byte index = Anime.index;
+ Keyboard anidub = UserKeyboard.getAnidub();
+ if (UserKeyboard.seriesSize > 0) {
+ Bot.TELEGRAM_BOT.execute(new SendPhoto(UserMessage.chatId, anime[index].getImage()).caption(anime[index].showInfo()).parseMode(ParseMode.HTML).replyMarkup(anidub));
+ } else {
+ Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Прости, но я не смог найти серии для этого аниме... :("));
+ }
+ }
+ case "anidub" -> {
+ Anime.dub = "Anidub";
+ String url = null;
+ if (Anime.type != null) {
+ switch (Anime.type) {
+ case "Ongoing" -> url = "https://online.anidub.com/anime/anime_ongoing/";
+ case "Serials" -> url = "https://online.anidub.com/anime/full/";
+ case "Films" -> url = "https://online.anidub.com/anime_movie/";
+ }
+ }
+ Anime.setIndex((byte) 0);
+ if (!Anime.isSearching) {
+ Bot.sendAnime(url);
+ } else {
+ Bot.TELEGRAM_BOT.execute(new SendMessage(UserMessage.chatId, "Введи название аниме"));
+ }
+ Anime.type = null;
+ }
+ }
+
+ DeleteMessage deleteMessage = new DeleteMessage(chatId, messageId);
+ Bot.TELEGRAM_BOT.execute(deleteMessage);
+ LOGGER.fine("CallbackQuery is executed");
+ }
+}