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

Download history 777/week @ 2025-04-06

777 downloads per month

MIT license

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

Crates.io License Build status Code coverage

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

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