Spring boot Telegram bot

Пишу бота который активно работает с Service spring-а. Только подключил proxy, но spring boot хочет 2 раз к нему подключиться... Вот код ошибки:

public class TelegramBotService extends TelegramLongPollingBot {

    private UserTelegramLinkService userTelegramLinkService;

    private UserService userService;
    private SettingsService settingsService;

    private PasswordEncoder passwordEncoder;

    private final static String START_COMMAND = "/start";
    private final static String EXIT_COMMAND = "/exit";

    static {
        ApiContextInitializer.init();
    }
    @Autowired
    public TelegramBotService(UserService userService, UserTelegramLinkService userTelegramLinkService,
                              SettingsService settingsService, PasswordEncoder passwordEncoder) {
        this.userService = userService;
        this.userTelegramLinkService = userTelegramLinkService;
        this.settingsService = settingsService;
        this.passwordEncoder = passwordEncoder;

        log.info("BOT REGISTERING2");

    }

    public TelegramBotService(DefaultBotOptions defaultBotOptions) {
        super(defaultBotOptions);
        log.info("BOT REGISTERING1");
    }

    @PostConstruct
    public void registerBot() {
        log.info("BOT REGISTERING");

        TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        // Set up Http proxy
        DefaultBotOptions botOptions = ApiContext.getInstance(DefaultBotOptions.class);
        botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);
        botOptions.setProxyHost("192.168.30.2");
        botOptions.setProxyPort(3128);
        try {
            telegramBotsApi.registerBot(this);
            log.info("bot successfully register");

        } catch (TelegramApiException e) {
            log.error("Error while registering bot in TelegramBotService error: {}", e.getLocalizedMessage());
        }
    }
}

А также ошибка:

Telegram Bots Api                        : BOTSESSION

org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException: Error getting updates

Я предполагаю что мое приложение Spring подключается к нему два раза, но не знаю почему, скажем он как то подключился первый раз, а второй раз уже не может к нему подключиться потому что бот уже занят. Но, когда я убираю этот кусок кода, ошибки нет:

public TelegramBotService(DefaultBotOptions defaultBotOptions) {
        super(defaultBotOptions);
        log.info("BOT REGISTERING1");
    }

    @PostConstruct
    public void registerBot() {
        log.info("BOT REGISTERING");

        TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
        // Set up Http proxy
        DefaultBotOptions botOptions = ApiContext.getInstance(DefaultBotOptions.class);
        botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);
        botOptions.setProxyHost("192.168.30.2");
        botOptions.setProxyPort(3128);
        try {
            telegramBotsApi.registerBot(this);
            log.info("bot successfully register");

        } catch (TelegramApiException e) {
            log.error("Error while registering bot in TelegramBotService error: {}", e.getLocalizedMessage());
        }
    }

Как сделать чтобы работал корректно с прокси и без ошибки BOTSESSION? Помогите, спасибо!


Ответы (0 шт):