diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/files/App.java | 43 | ||||
-rw-r--r-- | src/main/java/files/entity/User.java | 31 | ||||
-rw-r--r-- | src/main/resources/META-INF/persistence.xml | 20 |
3 files changed, 92 insertions, 2 deletions
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 @@ +<?xml version="1.0" encoding="utf-8"?> +<persistence xmlns="http://java.sun.com/xml/ns/persistence" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" + version="2.0"> + + <persistence-unit name="animarfo" transaction-type="RESOURCE_LOCAL"> + <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider> + + <class>files.entity.User</class> + + <properties> + <property name="hibernate.ogm.datastore.provider" value="mongodb"/> + <property name="hibernate.ogm.datastore.database" value="animarfo"/> + <property name="hibernate.ogm.datastore.host" value="localhost"/> + <property name="hibernate.ogm.datastore.create_database" value="true"/> + </properties> + </persistence-unit> + +</persistence>
\ No newline at end of file |