Discord - DealerMapBOT (Version 1.3)

Software

Discord - DealerMapBOT (Version 1.3)

19,99 EUR inkl. 0% USt.

DealerMapBOT – Funktionsbeschreibung

Der DealerMapBOT trägt Dealer aus der Dealermap per Befehl oder Button in einen privaten Discord-Server ein. Jeder Dealer erscheint als eigene Nachricht mit Bild, Daten und Buttons zum Bearbeiten und Löschen. Der Bot braucht keine Datenbank und kein Web-Interface. Die Dealer-Daten kommen direkt aus der Dealermap-API.

DiscordBot by iTsRonnytv · Daten von Dealermap.de

Überblick

  • Dealer per Slash-Befehl /dealer oder per Button „Dealer eintragen“ erstellen

  • Mehrere Dealer in einem Rutsch eintragen

  • Tippfehler-tolerante Suche mit Auswahlmenü bei mehreren Treffern

  • Jeder Dealer als eigene Nachricht mit Bild, Karten-Link und Angaben

  • Bearbeiten und Löschen per Button, für alle auf dem Server

  • Wendenlogik: begrenzte Anzahl Dealer pro Wende, keine Doppel-Einträge

  • Privat: arbeitet nur auf dem eingetragenen Server

Was du für den Bot benötigst

Zugänge und Konten

  • Einen Discord-Account und einen eigenen Discord-Server, auf dem du Administrator bist

  • Eine Anwendung im Discord Developer Portal (kostenlos) mit Bot-Token und Application-ID

  • Den API-Link der Dealermap inklusive Zugangsschlüssel

Technik

  • Einen Linux-Server (VPS) mit Root-Zugriff per SSH, auf dem der Bot rund um die Uhr läuft (z. B. Debian oder Ubuntu). Ein kleiner VPS reicht aus.

  • Node.js ab Version 20

  • PM2, damit der Bot dauerhaft läuft und nach einem Neustart des Servers automatisch wieder startet

  • Ein Programm für den Upload der Dateien (WinSCP oder FileZilla per SFTP, alternativ scp)

  • Nicht nötig sind eine Domain, ein Webhosting und eine Datenbank

Dateien

  • bot.js, package.json, package-lock.json und ecosystem.config.js

Werte, die du in der bot.js einträgst

  • DISCORD_TOKEN, CLIENT_ID, GUILD_ID und API_URL (alle vier sind Pflicht, sonst startet der Bot nicht)

Rechte des Bots auf dem Server

  • Kanäle sehen, Nachrichten senden und Links einbetten

  • Keine privilegierten Intents nötig

Die Einrichtung Schritt für Schritt steht in der separaten Installationsanleitung.

Befehle

Befehl

Wer

Was er macht

/dealer name:<Name>

alle

Trägt einen oder mehrere Dealer ein

/panel

nur Admins

Postet eine Nachricht mit dem Button „Dealer eintragen“

/info

alle

Zeigt Einträge heute, Einträge gesamt, Laufzeit und Credits

/dealer

Beispiele:

/dealer Alamosee 1
/dealer Alamosee 2
/dealer Alamosee 1, Paleto 2, Sandy 3

  • Mit einem Namen wird ein Dealer erstellt.

  • Mehrere Namen trennst du mit Komma oder Semikolon. Pro Befehl sind bis zu 10 Namen möglich.

  • Jeder Dealer bekommt seine eigene Nachricht und ist unabhängig von den anderen bearbeitbar und löschbar.

Button „Dealer eintragen“

Ein Admin tippt einmal /panel in dem Kanal, in dem der Button stehen soll. Der Bot postet dort eine Nachricht mit dem grünen Button ➕ Dealer eintragen. Sie bleibt dauerhaft stehen.

So funktioniert es für alle:

  1. Auf den Button klicken

  2. Im Eingabefenster den Dealer-Namen eingeben (mehrere mit Komma möglich)

  3. Absenden – der Dealer wird genauso erstellt wie mit /dealer

/info

Zeigt, wie viele Einträge es heute und insgesamt gibt, seit wann der Bot läuft, und die Credits. Die Antwort sehen standardmäßig nur du selbst.

Die Suche

Der Bot gleicht den eingegebenen Namen mit der Dealermap ab:

  • Exakter Treffer: wird sofort eingetragen

  • Name enthält den Suchbegriff (z. B. „Alamo“): mehrere Treffer erscheinen in einem Auswahlmenü, das nur du bedienen kannst (bis zu 25 Einträge)

  • Tippfehler (z. B. „Alamoze 1“): der Bot schlägt die ähnlichsten Namen vor (bis zu 5)

  • Findet der Bot nichts, bekommst du einen Hinweis

Bei mehreren Namen in einem Befehl werden eindeutige Dealer sofort eingetragen. Nur für die unklaren erscheinen Auswahlmenüs (bis zu 5 gleichzeitig). Wirkt ein Dealer „nicht gefunden“, trage ihn einzeln ein.

Die Dealer-Nachricht

Jeder Eintrag ist eine Nachricht mit folgendem Aufbau:

  • Titel: „Dealer – Name“

  • Bild des Dealers aus der Dealermap

  • Datenzeile mit Besitzer, Stage, Uhrzeit der Einnahme und Preis, z. B. 👤 Max | Stage: 2 | ⏰ 14:30 | 💰 50.000 $ (nicht ausgefüllte Angaben erscheinen als „–“)

  • Link „Zur Karte“ zur Dealermap

  • Fußzeile: Eingetragen: 07.10.2026 | Update: 7.10.2026 06:58 von: NAME

  • Zwei Buttons: Bearbeiten und Löschen

In der Fußzeile steht, an welchem Tag der Eintrag erstellt wurde, wann er zuletzt geändert wurde und von wem (Anzeigename auf dem Server).

Bearbeiten

Ein Klick auf 📝 Bearbeiten öffnet ein Fenster mit vier optionalen Feldern:

Feld

Eingabe

Gehört (optional)

Name des Besitzers

Stage

z. B. 2

Eingenommen

Uhrzeit im Format HH:MM (z. B. 14:30), sonst gibt der Bot einen Hinweis

Preis

Betrag in $, z. B. 50000; Punkte und Kommas werden entfernt und der Preis wird mit Tausenderpunkt angezeigt

Nach dem Absenden aktualisiert sich die Nachricht sofort. Die Fußzeile zeigt Zeit und Name der letzten Änderung. Leere Felder werden als „–“ angezeigt.

Löschen

Ein Klick auf 🗑️ Löschen entfernt die Nachricht. Das darf jeder auf dem Server. Es gibt keine automatische Löschung, Einträge bleiben, bis sie jemand per Button entfernt.

Regeln und Wenden

Der Bot teilt den Tag in drei Zeitfenster (Zeitzone Berlin):

Zeitfenster

Wende

02:00 – 07:59 Uhr

Wende 02

08:00 – 13:59 Uhr

Wende 08

14:00 – 01:59 Uhr

Wende 14

  • Pro Wende sind standardmäßig maximal 8 Dealer möglich. Ein weiterer Eintrag wird mit einem Hinweis abgelehnt. Das Limit lässt sich in der bot.js ändern oder mit 0 abschalten.

  • Derselbe Dealer kann pro Tag nur einmal eingetragen werden. Ein zweiter Versuch wird als „existiert bereits“ abgelehnt.

Speicherung und Neustarts

  • Es gibt keine Datenbank. Alle Einträge liegen in einer kleinen Datei (data/dealers.json) neben dem Bot.

  • Nach einem Neustart des Bots bleiben alle Einträge und ihre Buttons nutzbar.

  • Falls ein Eintrag einmal nicht mehr in der Datei steht, liest der Bot die Daten aus der vorhandenen Discord-Nachricht aus (Name, Besitzer, Stage, Zeit, Preis, Bild, Link). So bleiben auch ältere Einträge bearbeitbar.

  • Die Speicherdatei wird nicht automatisch bereinigt (Standardeinstellung).

Privatsphäre und Rechte

  • Der Bot arbeitet nur auf dem eingetragenen Server (GUILD_ID). Wird er auf einen anderen Server eingeladen, verlässt er ihn sofort wieder.

  • /panel kann nur ein Server-Administrator (oder der eingetragene Owner) ausführen.

  • Auswahlmenüs bei mehrdeutigen Namen kann nur die Person bedienen, die den Befehl abgeschickt hat.

  • Der Bot braucht keine privilegierten Intents und liest keine Nachrichten mit. Er reagiert nur auf Slash-Befehle und Buttons.

  • Benötigte Rechte: Kanäle sehen, Nachrichten senden, Links einbetten.

Einstellungen in der bot.js

Einstellung

Bedeutung

DISCORD_TOKEN

Zugangsdaten des Bots (geheim halten)

CLIENT_ID

Application-ID des Bots

GUILD_ID

Server-ID des privaten Discords

OWNER_ID

Optional: User-ID, die immer Admin-Befehle ausführen darf

API_URL

API-Link der Dealermap inklusive Schlüssel

TZ

Zeitzone, Standard Europe/Berlin

MAX_PER_SLOT

Maximale Dealer pro Wende (0 = unbegrenzt)

KEEP_DAYS

0 = Einträge dauerhaft behalten, sonst nach X Tagen aus der Speicherdatei entfernen

Die Einrichtung Schritt für Schritt steht in der separaten Installationsanleitung.

Grenzen

  • Der Bot läuft nur auf einem Server pro Installation.

  • Pro Befehl maximal 10 Namen, pro Auswahlmenü maximal 25 Treffer, maximal 5 Auswahlmenüs gleichzeitig.

  • Die Daten hängen von der Dealermap-API ab. Ist sie nicht erreichbar, meldet der Bot das mit dem Grund in der Antwort.

  • Der Bot ist nur so aktuell wie die Dealermap selbst. Er rechnet nichts nach, sondern übernimmt Name, Bild und Link.