27 releases

new 2.0.0-rc.7 Nov 20, 2024
0.4.3 Oct 23, 2024
0.4.0 Feb 16, 2024
0.3.1 Apr 21, 2022
0.2.1 Sep 2, 2020

#37 in Command line utilities

Download history 7/week @ 2024-08-02 11/week @ 2024-09-20 3/week @ 2024-09-27 372/week @ 2024-10-18 36/week @ 2024-10-25 162/week @ 2024-11-01 794/week @ 2024-11-08 564/week @ 2024-11-15

1,584 downloads per month

MIT license

200KB
2.5K SLoC

mrktpltsbot

Self-hosted Marktplaats notifications for Telegram

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.

[!WARNING] The version 2.x is not well-tested yet.

[!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

mrktpltsbot is a single binary which can be installed from crates.io:

cargo install mrktpltsbot

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

~59–94MB
~1.5M SLoC