summaryrefslogtreecommitdiff
path: root/src/main/java/files/App.java
blob: 23bf8598d699d52a3098af8bb66d490f1ecf77d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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.Properties;

public class App {
    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"));

        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 java.text.SimpleDateFormat("dd.MM.yyyy HH:mm:ss").format(new java.util.Date(update.message().date() * 1000L));
                    if (update.message().chat().lastName() != null) fullName += " " + update.message().chat().lastName();
                    System.out.println(update.message().from().firstName() + " " + 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();
                }
                bot.execute(new SendMessage(update.message().chat().id(), telegramId.toString()));
            });
            return UpdatesListener.CONFIRMED_UPDATES_ALL;
        });
    }
}