summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/files/App.java43
-rw-r--r--src/main/java/files/entity/User.java31
-rw-r--r--src/main/resources/META-INF/persistence.xml20
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