Skip to content

TechUnRestricted/Kufar-Telegram-Notifier

Repository files navigation

Kufar Telegram Notifier

Kufar Telegram Notifier - бот, который раз в заданное время ведет опрос официального Kufar API для поиска новых объявлений по заданным ключевым словам для последующей отправки результатов в Telegram чат.
Использование данного бота предусматривается только для ознакомительных целей.

Если Вы являетесь администрацией Kufar и у Вас имеются претензии к данному проекту - обращайтесь в раздел «Issues» для обратной связи.

Инструкция по сборке

Linux

  1. Установите g++: sudo apt-get install g++
  2. Установите curl: sudo apt-get install curl libcurl4-gnutls-dev
  3. Установите make и cmake: sudo apt-get install make cmake
  4. Загрузите исходный код последней версии программы:
  5. Распакуйте архив с исходным кодом программы
  6. С помощью cd перейдите в директорию c проектом
  7. Соберите исполняемый файл с помощью:
    cmake .
    make

macOS

Через Xcode (через графический интерфейс)
  1. Загрузите исходный код последней версии программы:
  2. Распакуйте архив с исходным кодом программы
  3. Откройте Kufar Telegram Notifier.xcodeproj в Xcode
  4. В верхнем меню-баре выберите "Product" -> "Archive"
  5. В новом открывшемся окне нажмите "Distribute Content" -> "Built Products" -> "Next" -> "Export"
Через Xcode Command Line Tools (через консольный интерфейс)
  1. Установите Xcode Command Line Tools: xcode-select —install
  2. Загрузите исходный код последней версии программы
  3. Распакуйте архив с исходным кодом программы
  4. С помощью cd перейдите в директорию c проектом
  5. Соберите исполняемый файл с помощью:
    cmake .
    make

Конфигурация программы

Настройка kufar-configuration.json
Telegram bot-token - токен вашего бота, который будет отправлять сообщения.
chat-id - идентификатор чата, в который будут отправляться сообщения.
Queries tag - поисковой запрос. (Опционально)
only-title-search - осуществление поиска только в заголовках. (Опционально)
Price (Опционально) min - минимальная цена (целочисленное значение в BYN). (Опционально)
max - максимальная цена (целочисленное значение в BYN). (Опционально)
language - язык. (Опционально)
limit - ограничение на количество получаемых объявлений за один запрос. (Опционально)
currency - валюта (Опционально)
condition - состояние (новое / б/y). (Опционально)
seller-type - тип продавца (частное лицо / компания). (Опционально)
kufar-delivery-required - только с Kufar Доставкой. (Опционально)
kufar-payment-required - только с Kufar Оплатой. (Опционально)
kufar-halva-required - только с Kufar Рассрочкой (Халва). (Опционально)
only-with-photos - только с фото. (Опционально)
only-with-videos - только с видео. (Опционально)
only-with-exchange-available - только с возможностью обмена. (Опционально)
sort-type - тип сортировки. (Опционально)
category - категория. (Опционально)
sub-category - подкатегория. (Опционально)
region - номер региона для поиска объявлений. (Опционально)
areas - номера областей для поиска объявлений. (Опционально)
Delays query - задержка (в секундах) перед переходом к следующему поисковому запросу.
loop - задержка (в секундах) перед повторением поиска по очереди с начала.
Настройка cached-data.json Настраивать данный файл не нужно.
Достаточно убедиться в том, что он представляет из себя валидный JSON файл со структурой [] (массив).
Предназначение: хранит в себе идентификаторы отправленных объявлений для предотвращения повторной отправки при перезапуске программы.

Запуск:

Вариант с указанием путей к файлам конфигурации и кеша. bin/Kufar-Telegram-Notifier --config="/путь/к/kufar-configuration.json" --cache="/путь/к/cached-data.json"
Вариант с автоматическим поиском файлов конфигурации (kufar-configuration.json) и кеша (cached-data.json) в папке с программой.
(Необходимо поместить kufar-configuration.json и cached-data.json в папку с программой)
bin/Kufar-Telegram-Notifier