Skip to content

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

subot

A marketplace watcher for Subito.it and Vinted.it that sends newly discovered listings to ntfy, optionally filtering them with an LLM.

The search_urls list accepts Subito.it and Vinted.it search-result URLs. Copy the filtered URL directly from the marketplace.

The first normal poll of each URL establishes a baseline, so listings already present are not notified. Set use_llm to false to notify every newly found listing without LLM filtering.

Setup

Create and edit the configuration:

cp config.example.json config.json
chmod 600 config.json

Create your local notification rules, then edit the new file to set the listings you want to receive:

cp prompts/rules.example.md prompts/rules.md

prompts/system.md contains the fixed model behavior and safety policy.

Create a virtual environment and install the dependencies:

python3 -m venv .venv
. .venv/bin/activate
pip install .

Test the configuration without sending notifications:

python subot.py --once --dry-run

Run the bot continuously:

python subot.py

Optional: user-level systemd service

Copy the user-service template (no root required):

mkdir -p ~/.config/systemd/user
cp systemd/subot.service ~/.config/systemd/user/subot.service

Replace /absolute/path/to/subot in the copied file, then enable it:

systemctl --user daemon-reload
systemctl --user enable --now subot.service

Keep the service running after logout. Enabling lingering normally requires administrator privileges:

sudo loginctl enable-linger "$USER"

Check its status:

systemctl --user status subot.service

About

A Subito.it and Vinted.it watcher that sends newly discovered listings to ntfy, optionally filtering them with an LLM.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages