You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Discord bot that hunts deals from marktguru.de and posts them in your server — on demand or on a schedule. Supports pagination, savings display, product images, and per-server configuration.
git clone https://github.com/N0tMaggi/OFFHUNTER.git
cd OFFHUNTER
npm install
cp .env.example .env # fill in DISCORD_TOKEN and set LOCALE=en
npm run db:migrate
npm run dev
Commands
/deals
Searches marktguru.de and returns a paginated embed. All options fall back to your server's saved configuration.
Option
Description
query
Search term — e.g. Red Bull
zip
German postal code
retailers
Comma-separated filter — e.g. lidl,rewe,aldi-sued
max_price
Price ceiling in €
Each result shows the current price, original price with savings percentage if on sale, per-unit reference price, validity dates, and a loyalty card notice where required. Use Prev / Next to page through results and Refresh to re-fetch live data.
/setup — requires Manage Server
Subcommand
Description
Example
channel #ch
Channel for automatic posts
/setup channel #deals
keywords <terms>
Comma-separated search terms
/setup keywords red bull, monster
schedule <cron>
Posting schedule
/setup schedule 0 8 * * *
zip <code>
Postal code
/setup zip 10115
retailers <list>
Retailer allowlist
/setup retailers lidl, aldi-sued
maxprice <price>
Max price in € — 0 for no limit
/setup maxprice 1.50
deallink <true|false>
Show "View Deal" button (off by default — links route through ad trackers)
git clone https://github.com/N0tMaggi/OFFHUNTER.git
cd OFFHUNTER
npm install
cp .env.example .env # DISCORD_TOKEN eintragen und LOCALE=de setzen
npm run db:migrate
npm run dev
Befehle
/angebote
Durchsucht marktguru.de und gibt ein seitenweises Embed zurück. Alle Optionen fallen auf die gespeicherte Serverkonfiguration zurück.
Option
Beschreibung
query
Suchbegriff — z.B. Red Bull
zip
Postleitzahl
retailers
Kommagetrennte Händlerliste — z.B. lidl,rewe,aldi-sued
max_price
Maximaler Preis in €
Jedes Ergebnis zeigt den aktuellen Preis, den Originalpreis mit Ersparnis in Prozent (falls im Angebot), Referenzpreis pro Einheit, Gültigkeitszeitraum und einen Hinweis auf erforderliche Kundenkarte. Zurück / Weiter zum Blättern, Aktualisieren für neue Live-Daten.
/einstellungen — erfordert Server verwalten
Unterbefehl
Beschreibung
Beispiel
kanal #kanal
Kanal für automatische Beiträge
/einstellungen kanal #angebote
suchbegriffe <begriffe>
Kommagetrennte Suchbegriffe
/einstellungen suchbegriffe red bull, monster
zeitplan <cron>
Posting-Zeitplan
/einstellungen zeitplan 0 8 * * *
plz <code>
Postleitzahl
/einstellungen plz 10115
haendler <liste>
Händler-Zulassliste
/einstellungen haendler lidl, aldi-sued
maxpreis <preis>
Max-Preis in € — 0 = kein Limit
/einstellungen maxpreis 1.50
deallink <true|false>
"Angebot ansehen"-Button (standard aus — Links laufen über Ad-Tracker)
git clone https://github.com/N0tMaggi/OFFHUNTER.git
cd OFFHUNTER
npm install
cp .env.example .env # DISCORD_TOKEN invullen en LOCALE=nl instellen
npm run db:migrate
npm run dev
Commando's
/aanbiedingen
Doorzoekt marktguru.de en geeft een gepagineerde embed terug. Alle opties vallen terug op de opgeslagen serverconfiguratie.
Elk resultaat toont de huidige prijs, de originele prijs met besparingspercentage (indien in aanbieding), referentieprijs per eenheid, geldigheidsdatum en een melding over loyaliteitskaart indien vereist. Gebruik Vorige / Volgende om te bladeren en Vernieuwen voor verse live-data.
/instellingen — vereist Server beheren
Subcommando
Beschrijving
Voorbeeld
kanaal #kanaal
Kanaal voor automatische berichten
/instellingen kanaal #aanbiedingen
zoektermen <termen>
Kommagescheiden zoektermen
/instellingen zoektermen red bull, monster
planning <cron>
Berichtschema
/instellingen planning 0 8 * * *
postcode <code>
Postcode
/instellingen postcode 10115
winkels <lijst>
Winkel-allowlist
/instellingen winkels lidl, aldi-sued
maxprijs <prijs>
Max. prijs in € — 0 = geen limiet
/instellingen maxprijs 1.50
deallink <true|false>
"Aanbieding bekijken"-knop (standaard uit — links lopen via ad-trackers)