From cf3a45e8dac64da2482730309d99393826b0a300 Mon Sep 17 00:00:00 2001 From: mavlonerkinboev Date: Thu, 22 Jul 2021 18:23:31 +0500 Subject: third commit --- .gitignore | 5 ++-- build.gradle | 8 ++++-- src/main/java/files/App.java | 43 +++++++++++++++++++++++++++-- src/main/java/files/entity/User.java | 31 +++++++++++++++++++++ src/main/resources/META-INF/persistence.xml | 20 ++++++++++++++ 5 files changed, 101 insertions(+), 6 deletions(-) create mode 100644 src/main/java/files/entity/User.java create mode 100644 src/main/resources/META-INF/persistence.xml diff --git a/.gitignore b/.gitignore index b64a192..1d6e577 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .gradle -build -gradlew* .idea +build gradle +gradlew* +app.properties diff --git a/build.gradle b/build.gradle index 3677667..3f263dd 100644 --- a/build.gradle +++ b/build.gradle @@ -9,6 +9,10 @@ mainClassName = "files.App" dependencies { implementation group: 'com.github.pengrad', name: 'java-telegram-bot-api', version: '5.2.0' - implementation group: 'org.hibernate', name: 'hibernate-core', version: '5.5.4.Final' - implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.26' + implementation group: 'org.hibernate.ogm', name: 'hibernate-ogm-mongodb', version: '5.4.1.Final' + implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '3.0.1' + implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' + implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '3.0.1' + implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: '3.0.1' + implementation group: 'javax.activation', name: 'activation', version: '1.1.1' } diff --git a/src/main/java/files/App.java b/src/main/java/files/App.java index 95de264..c0e1919 100644 --- a/src/main/java/files/App.java +++ b/src/main/java/files/App.java @@ -1,7 +1,46 @@ package files; +import com.pengrad.telegrambot.TelegramBot; +import com.pengrad.telegrambot.UpdatesListener; +import com.pengrad.telegrambot.request.SendMessage; + +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.util.HashMap; +import java.util.Map; +import java.util.Properties; + public class App { - public static void main(String[] args) { - System.out.println("Testing"); + public static void main(String[] args) throws IOException { + + Properties properties = new Properties(); + properties.load(new FileInputStream("app.properties")); + TelegramBot bot = new TelegramBot(properties.getProperty("telegram_token")); + + EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("animarfo"); + EntityManager manager = entityManagerFactory.createEntityManager(); + + bot.setUpdatesListener(updates -> { + updates.forEach(update -> { + Long telegramId = update.message().from().id(); + if(manager.find(User.class, telegramId) == null) { + bot.execute(new SendMessage(update.message().chat().id(), "Привет!")); + + User user = new User(telegramId); + manager.getTransaction().begin(); + manager.merge(user); + manager.getTransaction().commit(); + } + bot.execute(new SendMessage(update.message().chat().id(), telegramId.toString())); + }); + return UpdatesListener.CONFIRMED_UPDATES_ALL; + }); +// manager.close(); +// entityManagerFactory.close(); } } diff --git a/src/main/java/files/entity/User.java b/src/main/java/files/entity/User.java new file mode 100644 index 0000000..b7660d2 --- /dev/null +++ b/src/main/java/files/entity/User.java @@ -0,0 +1,31 @@ +package files.entity; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class User { + @Id + private long id; + + private String login; + + public User() {} + + public User(long id) { + this.id = id; + } + + public long getId() { + return id; + } + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } +} diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7798194 --- /dev/null +++ b/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,20 @@ + + + + + org.hibernate.ogm.jpa.HibernateOgmPersistence + + files.entity.User + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3