summaryrefslogtreecommitdiff
path: root/src/main/java/files
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/files')
-rw-r--r--src/main/java/files/Anime.java18
-rw-r--r--src/main/java/files/Bot.java92
-rw-r--r--src/main/java/files/entity/TelegramUser.java22
3 files changed, 95 insertions, 37 deletions
diff --git a/src/main/java/files/Anime.java b/src/main/java/files/Anime.java
index 6fd72b8..db2fcbf 100644
--- a/src/main/java/files/Anime.java
+++ b/src/main/java/files/Anime.java
@@ -6,7 +6,7 @@ public class Anime {
private final String[] genres;
private final String year;
private final String image;
- private static byte indexOfRecentlyAddedAnime = 0;
+ private static byte indexOfAnime = 0;
public Anime(String name, String description, String[] genres, String year, String image) {
this.name = name;
@@ -26,19 +26,19 @@ public class Anime {
return image;
}
- public static byte getIndexOfRecentlyAddedAnime() {
- return indexOfRecentlyAddedAnime;
+ public static byte getIndexOfAnime() {
+ return indexOfAnime;
}
- public static void setIndexOfRecentlyAddedAnime(byte number) {
- indexOfRecentlyAddedAnime = number;
+ public static void setIndexOfAnime(byte number) {
+ indexOfAnime = number;
}
- public static void decreaseIndexOfRecentlyAddedAnime() {
- indexOfRecentlyAddedAnime--;
+ public static void decreaseIndexOfAnime() {
+ indexOfAnime--;
}
- public static void increaseIndexOfRecentlyAddedAnime() {
- indexOfRecentlyAddedAnime++;
+ public static void increaseIndexOfAnime() {
+ indexOfAnime++;
}
}
diff --git a/src/main/java/files/Bot.java b/src/main/java/files/Bot.java
index 59190df..0a7975c 100644
--- a/src/main/java/files/Bot.java
+++ b/src/main/java/files/Bot.java
@@ -25,40 +25,65 @@ public class Bot {
properties.load(new FileInputStream("app.properties"));
// Creating telegram bot
- TelegramBot telegramBot = new TelegramBot(properties.getProperty("telegram_token"));
+ TelegramBot telegramBot = new TelegramBot(properties.getProperty("TELEGRAM_TOKEN"));
telegramBot.setUpdatesListener(updates -> {
updates.forEach(update -> {
- byte indexOfRecentlyAddedAnime = Anime.getIndexOfRecentlyAddedAnime();
-
- if (update.callbackQuery() != null && update.message() != null) {
+ if (update.callbackQuery() != null) {
CallbackQuery callbackQuery = update.callbackQuery();
String data = callbackQuery.data();
User user = callbackQuery.from();
int messageId = callbackQuery.message().messageId();
long chatId = callbackQuery.message().chat().id();
- System.out.println(callbackQuery.toString());
+ if (data.equals("previousRecentlyAddedAnime")) {
+ if (Anime.getIndexOfAnime() == 0) {
+ Anime.setIndexOfAnime((byte) 19);
+ } else {
+ Anime.decreaseIndexOfAnime();
+ }
+ Bot.showRecentlyAddedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime());
+ }
+ if (data.equals("nextRecentlyAddedAnime")) {
+ if (Anime.getIndexOfAnime() == 19) {
+ Anime.setIndexOfAnime((byte) 0);
+ } else {
+ Anime.increaseIndexOfAnime();
+ }
+ Bot.showRecentlyAddedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime());
+ }
- if (data.equals("previous")) {
- Anime.decreaseIndexOfRecentlyAddedAnime();
- if (indexOfRecentlyAddedAnime == -1) Anime.setIndexOfRecentlyAddedAnime((byte) 19);
- Bot.showRecentlyAddedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfRecentlyAddedAnime());
+ if (data.equals("previousRecentlyReleasedAnime")) {
+ if (Anime.getIndexOfAnime() == 0) {
+ Anime.setIndexOfAnime((byte) 19);
+ } else {
+ Anime.decreaseIndexOfAnime();
+ }
+ Bot.showRecentlyReleasedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime());
}
- if (data.equals("next")) {
- Anime.increaseIndexOfRecentlyAddedAnime();
- if (indexOfRecentlyAddedAnime == 20) Anime.setIndexOfRecentlyAddedAnime((byte) 0);
- Bot.showRecentlyAddedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfRecentlyAddedAnime());
+ if (data.equals("nextRecentlyReleasedAnime")) {
+ if (Anime.getIndexOfAnime() == 19) {
+ Anime.setIndexOfAnime((byte) 0);
+ } else {
+ Anime.increaseIndexOfAnime();
+ }
+ Bot.showRecentlyReleasedAnimeCallBackQuery(telegramBot, callbackQuery, Anime.getIndexOfAnime());
}
DeleteMessage deleteMessage = new DeleteMessage(chatId, messageId);
BaseResponse response = telegramBot.execute(deleteMessage);
+ } else if (update.message() != null && update.message().text().equals("Недавно добавленные аниме")) {
+ Anime.setIndexOfAnime((byte) 0);
+ Bot.showRecentlyAddedAnime(telegramBot, update, Anime.getIndexOfAnime());
+ } else if (update.message() != null && update.message().text().equals("Новинки аниме")) {
+ Anime.setIndexOfAnime((byte) 0);
+ Bot.showRecentlyReleasedAnime(telegramBot, update, Anime.getIndexOfAnime());
+ } else if (update.message() != null && update.message().text().equals("/start")) {
+// DataBase.saveUser(update);
+ telegramBot.execute(new SendMessage(update.message().chat().id(), ("Приветики " + update.message().from().firstName() + ", меня звать AniMarfo!\nЯ помогу тебе найти аниме, скачать его или же смотреть прямо тут.")).replyMarkup(getMainKeyboard()));
+ } else if (update.message() != null) {
+ telegramBot.execute(new SendMessage(update.message().chat().id(), "Прости, но я тебя не понимаю...\nВоспользуйся командами на твоей клавлиатуре!").replyMarkup(getMainKeyboard()));
}
- DataBase.saveUser(update);
-
- indexOfRecentlyAddedAnime = 0;
- Anime.setIndexOfRecentlyAddedAnime((byte) 0);
- Bot.showRecentlyAddedAnime(telegramBot, update, (byte) indexOfRecentlyAddedAnime);
});
return UpdatesListener.CONFIRMED_UPDATES_ALL;
});
@@ -68,16 +93,17 @@ public class Bot {
return new ReplyKeyboardMarkup(
new String[]{"Поиск аниме"},
new String[]{"Недавно добавленные аниме"},
+ new String[]{"Новинки аниме"},
new String[]{"Случайное аниме"})
.oneTimeKeyboard(true)
.resizeKeyboard(true)
.selective(true);
}
- public static Keyboard getCarouselKeyboard() {
+ public static Keyboard getCarouselKeyboard(String typeOfAnime) {
return new InlineKeyboardMarkup(
- new InlineKeyboardButton("<-").callbackData("previous"),
- new InlineKeyboardButton("->").callbackData("next"));
+ new InlineKeyboardButton("<").callbackData("previous" + typeOfAnime),
+ new InlineKeyboardButton(">").callbackData("next" + typeOfAnime));
}
public static void showRecentlyAddedAnime(TelegramBot telegramBot, Update update, byte index) {
@@ -87,7 +113,7 @@ public class Bot {
} catch (IOException e) {
e.printStackTrace();
}
- telegramBot.execute(new SendPhoto(update.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard()));
+ telegramBot.execute(new SendPhoto(update.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard("RecentlyAddedAnime")));
}
public static void showRecentlyAddedAnimeCallBackQuery(TelegramBot telegramBot, CallbackQuery callbackQuery, byte index) {
@@ -97,6 +123,26 @@ public class Bot {
} catch (IOException e) {
e.printStackTrace();
}
- telegramBot.execute(new SendPhoto(callbackQuery.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard()));
+ telegramBot.execute(new SendPhoto(callbackQuery.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard("RecentlyAddedAnime")));
+ }
+
+ public static void showRecentlyReleasedAnime(TelegramBot telegramBot, Update update, byte index) {
+ Anime[] anime = new Anime[20];
+ try {
+ anime = Parser.getAnimeAtMainMenu("https://animego.org/anime?sort=a.startDate&direction=desc");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ telegramBot.execute(new SendPhoto(update.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard("RecentlyReleasedAnime")));
+ }
+
+ public static void showRecentlyReleasedAnimeCallBackQuery(TelegramBot telegramBot, CallbackQuery callbackQuery, byte index) {
+ Anime[] anime = new Anime[20];
+ try {
+ anime = Parser.getAnimeAtMainMenu("https://animego.org/anime?sort=a.startDate&direction=desc");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ telegramBot.execute(new SendPhoto(callbackQuery.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard("RecentlyReleasedAnime")));
}
}
diff --git a/src/main/java/files/entity/TelegramUser.java b/src/main/java/files/entity/TelegramUser.java
index d32189a..5c0d6af 100644
--- a/src/main/java/files/entity/TelegramUser.java
+++ b/src/main/java/files/entity/TelegramUser.java
@@ -8,11 +8,11 @@ import javax.persistence.Id;
@Entity
public class TelegramUser {
@Id
- private Long id;
- private String username;
- private Boolean isBot;
- private String fullName;
- private String date;
+ private static Long id;
+ private static String username;
+ private static Boolean isBot;
+ private static String fullName;
+ private static String date;
public TelegramUser() {}
@@ -28,4 +28,16 @@ public class TelegramUser {
String lastName = user.lastName();
return (lastName != null) ? (" " + lastName) : ("");
}
+
+ public static Long getId() {
+ return id;
+ }
+
+ public static String getUsername() {
+ return username;
+ }
+
+ public static String getFullName() {
+ return fullName;
+ }
}