36 releases (1 stable)
Uses new Rust 2024
new 2.0.0 | Apr 11, 2025 |
---|---|
2.0.0-rc.7 | Nov 20, 2024 |
0.4.3 | Oct 23, 2024 |
0.4.0 | Feb 16, 2024 |
0.2.1 | Sep 2, 2020 |
#733 in Command line utilities
777 downloads per month
200KB
2K
SLoC
mrktpltsbot
Self-hosted Marktplaats notifications for Telegram:
- Allows authorized users to add and remove search queries
- Periodically performs a search on Marktplaats
- Sends out notifications for new search results to the subscribed user
Caution
This is an unofficial bot that uses unofficial APIs, so you take all the responsibility for any consequences of running the bot, for example, account or IP bans.
Note
I realize the documentation is not complete – this is not a deliberate choice, but rather the best I could do given the limited resources. I strive to maintain and improve it over time.
Installation
- From crates.io:
cargo install --locked mrktpltsbot
- Docker image:
docker run -it --rm ghcr.io/eigenein/mrktpltsbot:2.0.0 --help
- Pre-built binaries
Usage
Usage: mrktpltsbot [OPTIONS] --telegram-bot-token <BOT_TOKEN>
Options:
--sentry-dsn <SENTRY_DSN> Sentry DSN: <https://docs.sentry.io/concepts/key-terms/dsn-explainer/> [env: SENTRY_DSN]
--db <DB> SQLite database path [env: DB] [default: mrktpltsbot.sqlite3]
-h, --help Print help
-V, --version Print version
Telegram:
--telegram-bot-token <BOT_TOKEN>
Telegram bot token: <https://core.telegram.org/bots/api#authorizing-your-bot> [env: TELEGRAM_BOT_TOKEN]
--telegram-poll-timeout-secs <POLL_TIMEOUT_SECS>
Timeout for Telegram long polling, in seconds [env: TELEGRAM_POLL_TIMEOUT_SECS] [default: 60]
--telegram-authorize-chat-id <AUTHORIZED_CHAT_IDS>
Authorize chat ID to use the bot [env: TELEGRAM_AUTHORIZED_CHAT_IDS]
--telegram-heartbeat-url <telegram_heartbeat_url>
Heartbeat URL for the Telegram bot [env: TELEGRAM_HEARTBEAT_URL]
Marktplaats:
--marktplaats-crawl-interval-secs <CRAWL_INTERVAL_SECS>
Crawling interval, in seconds [env: MARKTPLAATS_CRAWL_INTERVAL_SECS] [default: 60]
--marktplaats-search-limit <SEARCH_LIMIT>
Limit of Marktplaats search results per query [env: MARKTPLAATS_SEARCH_LIMIT] [default: 30]
--marktplaats-heartbeat-url <marktplaats_heartbeat_url>
Heartbeat URL for the Marktplaats crawler [env: MARKTPLAATS_HEARTBEAT_URL]
Dependencies
~78MB
~1.5M SLoC