Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
kovatelj
7 лет назад

Телеграмм бот на Java. Часть 6

Доброго времени суток уважаемые Голосяне!

Спешу вас обрадовать, что работа над ботом не прекращается. Бот потихоньку обрастает новыми функциями. Процесс идет долго, потому как я всего лишь новичок в Java. 

На этот раз, к перечисленным в предыдущем посте, добавилась функция отслеживания открытия и закрытия ордера на бирже. Бот делает запрос на биржу раз в минуту (чаще не получается, сервер блокирует более частые запросы)  и потом сверяет ордера из базы данных со списком полученным с биржи. Для этого я создал отдельный класс CheckOrdersService.java, который располагается в папке service. Если схематично, то работа класса состоит из следующих шагов:

  1. Запрашиваем список ордеров с биржи
  2. Запрашиваем список сохраненных ордеров из БД, отсортированных по колонке closed.
  3. Сравниваем эти ордера по uuid, ищем новые и старые ордера
  4. Новые ордера заносим в БД
  5. Закрытые ордера метим в БД как закрытые

В класс DataBaseService.java добавлен метод для обновления БД:

public void uprdateDb(String uuid, String closed)
     throws ClassNotFoundException, SQLException {
  if (connection != null) {
     Statement statement = null;
     try {
        statement = connection.createStatement();
        statement.execute("UPDATE bittrex SET closed='"
              + closed + "' WHERE order_uuid='" + uuid + "';");

     } catch (Exception e) {
        System.out.println(e.getMessage());
     } finally {
        if (statement != null) {
           statement.close();
        }
     }
  } else {
     System.out.println("Error writeDb is null");
  }

}

Пока что это все усовершенствования в моем боте. Следующим шагом будет выдача сообщений от закрытии/открытии ордеров в чат телеграмм, пока что эти сообщения выводятся в консоль.

Исходный код выложен на GitHub для всех желающих. Код периодически обновляется мной и @onixred. За что ему большое спасибо. Без его помощи я бы еще долго топтался на месте :)

Всем спасибо за внимание и не забывайте подписываться на мой блог!

PS В исходниках еще много мусора и много закомментировано. Периодически стараюсь избавляться от мусора, но бывает что он нужен для отладки .

14
148.121 GOLOS
На Golos с October 2016
Комментарии (3)
Сортировать по:
Сначала старые