BBotnexio

Jetzt kaufen!

← Alle Ratgeber

Discord Economy-Bot erstellen: Wallet, Shop, Rangliste (2026)

English version

Ein Economy-Bot bringt ein Punktesystem auf deinen Community-Server: Mitglieder sammeln virtuelle Münzen mit /daily oder /work, geben sie im Shop für Rollen oder Items aus und vergleichen sich in der Rangliste. Hier findest du die üblichen Befehle, das Datenmodell, Code für /daily mit Cooldown und die Regeln, die du vorher festlegen solltest.

Zuerst die Regeln: kein Geldwert, kein Glücksspiel

  • Die Währung hat keinen Echtgeld-Wert. Münzen, Items oder Ränge nicht gegen echtes Geld verkaufen, nicht auszahlen, nicht umtauschen.
  • Kein Glücksspiel. Keine Slots, keine Münzwürfe mit Einsatz, keine Lootboxen. Mini-Spiele nur kostenlos und ohne Einsatz.
  • Keine mächtigen Rollen verkaufen. Rollen mit Moderations- oder Admin-Rechten gehören nicht in den Shop.

So bleibt der Bot ein Community-Feature. Echtgeld-Wert oder Einsätze würden rechtliche Fragen aufwerfen, die du auf einem Hobby-Server nicht willst.

Typische Befehle

BefehlFunktion
/balancezeigt das Guthaben
/daily, /workfester Betrag mit Cooldown
/shop list, /shop buyRollen oder Items ansehen und kaufen
/inventory, /useItems ansehen und nutzen (z. B. eine Rolle für N Minuten)
/leaderboardTop 10 des Servers
/eco (Admins)give, take, set, reset, history

Datenmodell

Drei Tabellen reichen meist: Wallets (Server-ID, Nutzer-ID, Guthaben, letzter Daily), Shop-Items (Name, Preis, Rollen-ID, Bestand) und ein Buchungsprotokoll (wer, was, wann, welcher Admin). Speichere Discord-IDs und Zahlen, nie Nachrichteninhalte.

Schritt 1: Bot anlegen und einladen

Im Discord Developer Portal eine Anwendung anlegen, den Bot-Token zurücksetzen und kopieren, den Bot mit den Scopes bot und applications.commands einladen. Zum Verkauf von Rollen braucht er Rollen verwalten, und seine eigene Rolle muss über den Rollen stehen, die er vergibt. Die ausführliche Anleitung steht in Discord-Bot erstellen.

Schritt 2: /daily mit Cooldown (discord.js 14 + node:sqlite)

import { DatabaseSync } from "node:sqlite";
import { MessageFlags, SlashCommandBuilder, type ChatInputCommandInteraction } from "discord.js";

const db = new DatabaseSync("economy.db");
db.exec(`CREATE TABLE IF NOT EXISTS wallets (
  guild_id TEXT, user_id TEXT, balance INTEGER DEFAULT 0, last_daily INTEGER DEFAULT 0,
  PRIMARY KEY (guild_id, user_id))`);

const DAILY_AMOUNT = 100;
const COOLDOWN_MS = 24 * 60 * 60 * 1000;

export const data = new SlashCommandBuilder()
  .setName("daily")
  .setDescription("Tägliche Münzen abholen");

export async function execute(interaction: ChatInputCommandInteraction) {
  const g = interaction.guildId!, u = interaction.user.id, now = Date.now();
  const row = db.prepare("SELECT last_daily FROM wallets WHERE guild_id = ? AND user_id = ?")
    .get(g, u) as { last_daily: number } | undefined;

  if (row && now - row.last_daily < COOLDOWN_MS) {
    const next = Math.floor((row.last_daily + COOLDOWN_MS) / 1000);
    return interaction.reply({ content: `Komm <t:${next}:R> wieder.`, flags: MessageFlags.Ephemeral });
  }
  db.prepare(`INSERT INTO wallets (guild_id, user_id, balance, last_daily) VALUES (?, ?, ?, ?)
    ON CONFLICT (guild_id, user_id) DO UPDATE SET balance = balance + ?, last_daily = ?`)
    .run(g, u, DAILY_AMOUNT, now, DAILY_AMOUNT, now);
  return interaction.reply(`+${DAILY_AMOUNT} Münzen.`);
}

<t:…:R> ist Discords Zeitstempel-Format und zeigt jedem Mitglied „in 5 Stunden“ in seiner eigenen Zeitzone. node:sqlite ist in Node.js eingebaut; ab welcher Version es für dich passt, steht in der Node.js-Doku.

Schritt 3: Shop und Rollenkauf

Beim Rollenkauf diese Reihenfolge: Guthaben prüfen, Rolle vergeben, erst dann Münzen abziehen. Schlägt member.roles.add() fehl (Bot-Rolle zu tief, Rolle gelöscht), erstatten oder gar nicht abbuchen. Jede Buchung mit der ID des Nutzers oder Admins protokollieren, damit du Streitfälle klären kannst.

Schritt 4: Datenschutz auf deinem Server

Du betreibst den Bot und bist für die Daten verantwortlich. Halte sie klein: IDs, Guthaben, Käufe und ein Buchungsprotokoll mit Aufbewahrungsfrist. Mitglieder sollten ihre Daten exportieren, löschen und sich abmelden können. Daten inaktiver Mitglieder nach einer festen Zeit löschen.

Economy & Shop Bot Starter für Discord

Der Economy & Shop Bot Starter für Discord ist eine Vorlage mit automatisierten Tests für einen selbst gehosteten Economy- und Shop-Bot (TypeScript, discord.js 14, SQLite). Laut Produktseite enthält er /balance, /daily und /work mit Cooldowns, /shop list und /shop buy für Rollen oder Items (optional mit Bestand und Kauflimit, automatische Erstattung bei fehlgeschlagener Rollenvergabe), /inventory, /use, /leaderboard, /eco für Admins, ein Buchungsprotokoll, /privacy (Export, Löschen, Opt-out), DE/EN, Dockerfile und docker-compose. Rollen mit Moderations- oder Admin-Rechten lassen sich nicht verkaufen. Die virtuelle Währung hat keinen Geldwert, der Code enthält keine Zufallsfunktionen. Voraussetzungen: Node.js 22 (oder Docker), eigene Discord-Anwendung, eigenes Hosting. Preis: 19 € inkl. MwSt. Lizenz: nur eigene, nicht gewerbliche Nutzung auf privaten und Community-Servern (Lizenz). Nicht mit Discord Inc. verbunden.

Häufige Probleme

  • „Missing Permissions“ beim Rollenkauf: Die Bot-Rolle steht unter der Rolle, die vergeben werden soll. Höher schieben.
  • Befehle fehlen: ohne applications.commands eingeladen oder globale Befehle noch nicht verteilt. Zuerst auf einem Testserver registrieren.
  • Guthaben nach Neustart weg: Die Datenbankdatei liegt im Container ohne Volume. Ein Volume einbinden.

FAQ

Können Mitglieder Münzen mit echtem Geld kaufen?
Mit diesem Aufbau nicht, und wir raten davon ab. Die Währung sollte keinen Geldwert haben: kein Verkauf gegen Echtgeld, keine Auszahlung, kein Umtausch.

Kann ich ein Casino oder Slots einbauen?
Lass es. Spiele mit Einsatz sind Glücksspiel. Der Economy & Shop Bot Starter enthält keine Zufallsfunktionen; erlaubt sind nur kostenlose Mini-Spiele ohne Einsatz.

Ist der Economy & Shop Bot Starter ein Abo?
Nein. 19 € inkl. MwSt., einmal bezahlt, Lieferung als ZIP. Hosting übernimmst du selbst.

Darf ich ihn auf einem Server mit bezahlten Mitgliedschaften nutzen?
Nein. Die Lizenz gilt nur für private und Community-Server, nicht für Shops, Unternehmen oder Server mit bezahlten Mitgliedschaften oder Rollen. Spenden sind in Ordnung, solange sie keine Vorteile freischalten.

Gibt es den Bot auf Deutsch?
Ja, die Meldungen gibt es auf Deutsch und Englisch.

Weitere Guides

→ Economy & Shop Bot Starter für 19 € holen

_Nicht mit Discord Inc. verbunden und nicht von Discord unterstützt. „Discord“ ist eine Marke der Discord Inc._