summaryrefslogtreecommitdiff
path: root/src/main/java/files/Bot.java
diff options
context:
space:
mode:
authormavlonerkinboev <mavlonbek.ibragimov007@gmail.com>2021-07-23 05:40:57 +0500
committermavlonerkinboev <mavlonbek.ibragimov007@gmail.com>2021-07-23 05:40:57 +0500
commit6f1cc0c541b516f51787d5e5318410de0ab73cc2 (patch)
tree6d6ad02b2b4e121ebde8bbef92588398292b84cf /src/main/java/files/Bot.java
parent8c8338192cfa715980d0b6fb032f63d184ee22ab (diff)
tenth commit
Diffstat (limited to 'src/main/java/files/Bot.java')
-rw-r--r--src/main/java/files/Bot.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/files/Bot.java b/src/main/java/files/Bot.java
new file mode 100644
index 0000000..fb39ebc
--- /dev/null
+++ b/src/main/java/files/Bot.java
@@ -0,0 +1,63 @@
+package files;
+
+import com.pengrad.telegrambot.TelegramBot;
+import com.pengrad.telegrambot.UpdatesListener;
+import com.pengrad.telegrambot.model.Update;
+import com.pengrad.telegrambot.model.User;
+import com.pengrad.telegrambot.model.request.InlineKeyboardButton;
+import com.pengrad.telegrambot.model.request.InlineKeyboardMarkup;
+import com.pengrad.telegrambot.model.request.Keyboard;
+import com.pengrad.telegrambot.model.request.ReplyKeyboardMarkup;
+import com.pengrad.telegrambot.request.SendPhoto;
+import files.entity.TelegramUser;
+
+import javax.persistence.EntityManager;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Properties;
+
+public class Bot {
+ public static void main(String[] args) throws IOException {
+ // Loading properties
+ Properties properties = new Properties();
+ properties.load(new FileInputStream("app.properties"));
+
+ // Creating telegram bot
+ TelegramBot telegramBot = new TelegramBot(properties.getProperty("telegram_token"));
+
+ telegramBot.setUpdatesListener(updates -> {
+ updates.forEach(update -> {
+ DataBase.saveUser(update);
+ Bot.showRecentlyAddedAnime(telegramBot, update, (byte) 5);
+ });
+ return UpdatesListener.CONFIRMED_UPDATES_ALL;
+ });
+ }
+
+ public static Keyboard getMainKeyboard() {
+ return new ReplyKeyboardMarkup(
+ new String[]{"Поиск аниме"},
+ new String[]{"Случайное аниме"})
+ .oneTimeKeyboard(true)
+ .resizeKeyboard(true)
+ .selective(true);
+ }
+
+ public static Keyboard getCarouselKeyboard() {
+ return new InlineKeyboardMarkup(
+ new InlineKeyboardButton("<-").callbackData("callback_data"),
+ new InlineKeyboardButton("->").callbackData("callback_data"));
+ }
+
+ public static void showRecentlyAddedAnime(TelegramBot bot, Update update, byte index) {
+ Anime[] anime = new Anime[0];
+ try {
+ anime = Parser.getAnimeAtMainMenu("https://animego.org/anime?sort=a.createdAt&direction=desc");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ bot.execute(new SendPhoto(update.message().chat().id(), anime[index].getImage()).caption(anime[index].showInfo()).replyMarkup(Bot.getCarouselKeyboard()));
+ }
+}