SK-DC-Tools.exe starten. Beim ersten Start erscheint der Seriennummer-Bildschirm: trage deine scalper-king Seriennummer ein und klicke Aktivieren. Danach öffnet sich das Hauptfenster mit dem Log über die ganze Seite.
Über das ⚙️ Zahnrad (oben rechts) öffnest du die Einstellungen. Trage dort mindestens ein:
Mit dem grünen Start-Button startest du den Bot. Der Statuspunkt wird grün und zeigt „Läuft". Eingehende Nachrichten erscheinen live im Log.
config.yaml liegt neben der .exe und kann alternativ direkt bearbeitet werden.
Änderungen im Programm (Speichern) schreiben ebenfalls dorthin.SK DC-Tools benötigt deinen persönlichen Discord-User-Token. Am einfachsten liest du ihn mit der
mitgelieferten Chrome-Erweiterung aus dem Ordner RECEIVE-DC-TOKEN-EXTENSION (liegt neben der
Anleitung) aus:
chrome://extensions öffnen.RECEIVE-DC-TOKEN-EXTENSION auswählen.Du kannst einzelne Kanal-IDs angeben oder ganze Kategorie-IDs. Bei einer Kategorie werden automatisch alle Kanäle darin überwacht (praktisch, wenn oft neue Kanäle dazukommen).
IDs bekommst du in Discord mit aktiviertem Entwicklermodus per Rechtsklick → „ID kopieren". Mehrere IDs: eine pro Zeile.
Beide Kanäle sind unabhängig zuschaltbar — du kannst nur einen, beide oder gemischt nutzen.
Im Einstellungen-Bereich Pushover: User Key und API Token eintragen, Schalter „Pushover senden" an. Mit Test-Benachrichtigung senden prüfst du die Zugangsdaten. Pushover kann auch das Produktbild als Anhang mitschicken und einen tippbaren Link zum Angebot.
Im Bereich CallMeBot: Telefonnummer (mit Ländervorwahl, z.B. 491701234567)
und API-Key eintragen, Schalter „CallMeBot senden" an. Den API-Key forderst du einmalig per WhatsApp
bei CallMeBot an (siehe callmebot.com/whatsapp). CallMeBot verschickt nur Text (keine Bilder).
Der einfache Filter (Schalter „Filter aktiv") lässt nur passende Nachrichten durch:
| Feld | Wirkung |
|---|---|
| Pflicht-Keywords | Mindestens eines dieser Wörter muss vorkommen. |
| Ausschluss-Keywords | Kommt eines davon vor, wird nicht benachrichtigt. |
| Pflicht-Rollen-IDs | Mindestens eine dieser Rollen muss gepingt sein (<@&ID>). Mehrere möglich. |
Keyword-Filter und Smart-Filter wirken zusammen (UND): eine Nachricht wird nur gemeldet, wenn sie beide aktiven Filter besteht.
Der Smart-Filter ist das mächtigste Werkzeug: Regeln in der Datei smart_filter.json (neben der .exe). Im Programm aktivierst du ihn mit dem Schalter „Smart-Filter aktivieren" und öffnest die Datei mit smart_filter.json bearbeiten im Texteditor. Änderungen werden im laufenden Betrieb automatisch übernommen — kein Neustart nötig.
"enabled": false → Smart-Filter aus, es kommt alles durch."enabled": true → es wird nur gemeldet, was zu einer Forward-Regel passt.{
"enabled": true,
"rules": [
{
"name": "Anzeigename der Regel",
"enabled": true,
"conditions": [ ... ],
"action": "forward", // "forward" (Standard) oder "block"
"add_emoji": "🔥", // optional: vorne an die Nachricht
"add_text": "DEAL:" // optional: Text vorne anstellen
}
]
}
conditions)Jede Regel hat eine Liste von Bedingungen. Eine Bedingung kann ein reiner Text-Treffer sein oder eine
Zahl aus dem Text ziehen und prüfen. Der Platzhalter XX steht für die Zahl.
| Feld | Bedeutung |
|---|---|
text_contains | Liste von Textmustern. Bei Zahl-Prüfung steht XX für die Zahl, z.B. "Marge: XX%". |
extract | "XX" — aktiviert die Zahl-Extraktion (sonst reiner Text-Treffer). |
check | Vergleich der Zahl, z.B. "XX > 30". Erlaubt: > < >= <= == |
multi_match | Bei mehreren Zahlen: any (eine reicht), all (alle), max, min, avg, first, last. |
text_must_NOT_contain | Liste — kommt eines vor, ist die Bedingung nicht erfüllt. |
Mehrere Bedingungen lassen sich mit "AND" / "OR" verknüpfen (als Eintrag zwischen den Bedingungen).
Nur benachrichtigen, wenn „LEGO" vorkommt. Emoji 🧱 wird vorangestellt.
{
"name": "Nur LEGO",
"enabled": true,
"conditions": [
{ "text_contains": ["LEGO", "Lego"] }
],
"add_emoji": "🧱"
}
Zieht die Prozentzahl aus Texten wie „Marge: 35%" und meldet nur, wenn sie größer als 30 ist.
{
"name": "Hohe Marge (>30%)",
"enabled": true,
"conditions": [
{
"text_contains": ["Marge: XX%", "XX% Marge", "XX%"],
"extract": "XX",
"check": "XX > 30",
"multi_match": "any"
}
]
}
Meldet nur, wenn ein Preis unter 40 € gefunden wird (z.B. „Preis: 31,54€").
{
"name": "Guenstig (unter 40 EUR)",
"enabled": true,
"conditions": [
{
"text_contains": ["Preis: XX€", "XX€", "€XX"],
"extract": "XX",
"check": "XX < 40",
"multi_match": "min"
}
]
}
"multi_match": "min" nimmt bei mehreren Preisen den niedrigsten — praktisch bei „statt 60€ jetzt 31€".Nur „Nike"-Deals, und nur wenn der Preis unter 120 € liegt. Zwei Bedingungen mit AND.
{
"name": "Nike unter 120 EUR",
"enabled": true,
"conditions": [
{ "text_contains": ["Nike"] },
"AND",
{
"text_contains": ["XX€", "€XX"],
"extract": "XX",
"check": "XX < 120",
"multi_match": "min"
}
]
}
Alle „sold out"-Meldungen unterdrücken. Block-Regeln haben Vorrang vor Forward-Regeln.
{
"name": "Kein Sold Out",
"enabled": true,
"action": "block",
"conditions": [
{ "text_contains": ["sold out", "ausverkauft"] }
]
}
Meldet, wenn die Marge über 30 % oder der Profit über 50 € liegt.
{
"name": "Marge>30 ODER Profit>50",
"enabled": true,
"conditions": [
{ "text_contains": ["XX% Marge", "XX%"], "extract": "XX", "check": "XX > 30", "multi_match": "any" },
"OR",
{ "text_contains": ["Profit: XX€", "XX€"], "extract": "XX", "check": "XX > 50", "multi_match": "any" }
]
}
{
"enabled": true,
"rules": [
{
"name": "Hohe Marge (>30%)",
"enabled": true,
"conditions": [
{ "text_contains": ["Marge: XX%", "XX%"], "extract": "XX", "check": "XX > 30", "multi_match": "any" }
]
},
{
"name": "Kein Sold Out",
"enabled": true,
"action": "block",
"conditions": [ { "text_contains": ["sold out", "ausverkauft"] } ]
}
]
}
%, € usw. im
text_contains. Regeln mit "enabled": false werden ignoriert. Nach dem Speichern
greift alles automatisch — teste mit einer echten Nachricht und schau ins Log („Gefiltert (Smart-Filter): …"
erklärt, warum etwas nicht durchkam).Lädt der Bot nicht: prüfe Seriennummer (Lizenz), Discord-Token und ob mindestens ein Kanal/eine Kategorie
eingetragen ist. Das Log im Hauptfenster zeigt die Ursache. Bei Bedarf steht die ausführliche Fehlerausgabe
zusätzlich in log.txt neben der .exe.