Simple Avito new search items notifier
docker build --target avito -t avito .
docker run --rm avito check --help
docker run --rm \
-v "$(pwd):/var/lib/avito" \
-e "APP_PERSISTENCE_FILE_FILENAME=/var/lib/avito/avito.json" \
-e "APP_LOG_STDOUT_LEVEL=error" \
avito check \
-f /var/lib/avito/urls.txt
"https://www.avito.ru/rossiya/bytovaya_elektronika?q=iphone+11" \
"https://www.avito.ru/rossiya/telefony?q=iphone+12"
docker run --rm \
-v "$(pwd):/var/lib/avito" \
-e "APP_PERSISTENCE_FILE_FILENAME=/var/lib/avito/avito.json" \
-e "APP_LOG_STDOUT_LEVEL=error" \
avito check \
-f /var/lib/avito/urls1.txt \
-f /var/lib/avito/urls2.txt
echo "https://www.avito.ru/rossiya/telefony?q=iphone+12" | docker run --rm -i \
-v "$(pwd):/var/lib/avito" \
-e "APP_PERSISTENCE_FILE_FILENAME=/var/lib/avito/avito.json" \
-e "APP_LOG_STDOUT_LEVEL=error" \
avito check
go build .
APP_PERSISTENCE_DRIVER=file \
APP_PERSISTENCE_FILE_FILENAME=/tmp/avito.json \
APP_LOG_STDOUT_LEVEL=error \
APP_NOTIFIER_CHANNEL=telegram \
APP_NOTIFIER_TELEGRAM_TOKEN="MY_TELEGRAM_BOT_TOKEN" \
APP_NOTIFIER_TELEGRAM_CHAT_ID="MY_TELEGRAM_CHAT_ID" \
./avito check \
"https://www.avito.ru/rossiya/bytovaya_elektronika?q=iphone+11" \
"https://www.avito.ru/rossiya/telefony?q=iphone+12"
INFO |
---|
APP_ prefix in env vars name can be changed via MINGALEVME_AVITO_ENV_NAMESPACE env var. Log env vars name prefix can be changed via MINGALEVME_AVITO_GOLOGGER_ENV_NAMESPACE |
INFO |
---|
It is recommended to do the first run with APP_NOTIFIER_CHANNEL=null |
Default is file ($HOME/avito.json).
PERSISTENCE_DRIVER=file PERSISTENCE_FILE_FILENAME=/tmp/avito.json
PERSISTENCE_DRIVER=in-memory
Default is stdout.
APP_NOTIFIER_CHANNEL=stack APP_NOTIFIER_CHANNELS=stdout,telegram,slack # default "stdout"
APP_NOTIFIER_CHANNEL=telegram APP_NOTIFIER_TELEGRAM_TOKEN="XXX:YYY" APP_NOTIFIER_TELEGRAM_CHAT_ID="ZZZ"
APP_NOTIFIER_CHANNEL=slack APP_NOTIFIER_SLACK_WEBHOOK_URL="https://hooks.slack.com/services/XXX/YYY/ZZZ"
APP_NOTIFIER_CHANNEL=stdout
APP_NOTIFIER_CHANNEL=logger APP_NOTIFIER_LOGGER_LEVEL=info # default "info"
APP_NOTIFIER_CHANNEL=null
Default is stack.
APP_LOG_CHANNEL=stack APP_LOG_CHANNELS=stdout,sentry,rollbar # default "stdout"
APP_LOG_CHANNEL=sentry # Or APP_SENTRY_DSN APP_LOG_SENTRY_LEVEL="info" # default "warning" APP_LOG_SENTRY_DSN="https://XXX@YYY.ingest.sentry.io/ZZZ" APP_LOG_SENTRY_DEBUG="1" # default "" (an empty string -> i.e. false) APP_LOG_SENTRY_ENV="debug" # default "production"
APP_LOG_CHANNEL=rollbar APP_LOG_ROLLBAR_LEVEL="error" # default "warning" APP_LOG_ROLLBAR_TOKEN="XXX" # Or APP_ROLLBAR_TOKEN LOG_ROLLBAR_ENV="debug" # default "production"
APP_LOG_CHANNEL=stdout
APP_LOG_CHANNEL=stderr
APP_LOG_CHANNEL=array
APP_LOG_CHANNEL=null