package files; import com.pengrad.telegrambot.TelegramBot; import com.pengrad.telegrambot.UpdatesListener; import com.pengrad.telegrambot.model.Message; import com.pengrad.telegrambot.request.SendMessage; import com.pengrad.telegrambot.request.SendPhoto; import files.entity.User; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import java.io.FileInputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; public class App { public static void main(String[] args) throws IOException { // Loading properties Properties properties = new Properties(); properties.load(new FileInputStream("app.properties")); // Creating telegram bot TelegramBot bot = new TelegramBot(properties.getProperty("telegram_token")); bot.setUpdatesListener(updates -> { updates.forEach(update -> { Long telegramId = update.message().from().id(); EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("animarfo"); EntityManager manager = entityManagerFactory.createEntityManager(); if(manager.find(User.class, telegramId) == null) { String fullName = update.message().from().firstName(); Boolean isBot = update.message().from().isBot(); String username = update.message().from().username(); String date = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new Date(update.message().date() * 1000L)); if (update.message().chat().lastName() != null) fullName += " " + update.message().chat().lastName(); bot.execute(new SendMessage(update.message().chat().id(), "Привет!")); User user = new User(telegramId, isBot, fullName, date); System.out.println(user.getFullName()); manager.getTransaction().begin(); manager.merge(user); manager.getTransaction().commit(); manager.close(); entityManagerFactory.close(); } 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[0].getImage()).caption(anime[0].showInfo())); }); return UpdatesListener.CONFIRMED_UPDATES_ALL; }); } }