Zum Hauptinhalt springen

Chess

Play chess against other server members or the AI, right in Discord!

Schach
Spiele Schach gegen andere Mitglieder oder eine KI in asynchronen Discord-Thread-Spielen
Dieses Modul ist aktuell nur für Nutzer mit Early-Access verfügbar.
Dieses Modul speichert Daten in der Datenbank deines Bots.
Dieses Modul erstellt einen Haupt-Slash-Befehl auf deinem Server.
Dieses Modul eine verfügbare Konfigurationsdatei.
Dieses Modul wird auf über 100 Servern auf SCNX aktiv verwendet.
Dieses Modul ist bei jedem Plan kostenlos dabei. Mehr über Preise erfahren.

Features

  • Challenge another member to a PvP chess game or start a game against the AI (Easy, Medium, Hard).
  • Games run in dedicated Discord threads for clean, asynchronous gameplay. Threads are automatically archived when the game ends.
  • Three ways to make moves: type a move directly in the game thread, use algebraic notation via a popup modal (e.g. e2e4, Nf3, O-O), or use guided select menus to pick your piece and destination square.
  • Full castling support — use standard notation (O-O, O-O-O) or coordinate notation (e1g1). Castling moves are labeled in the select menus.
  • Pawn promotion picker — when a pawn reaches the last rank, choose which piece to promote to (Queen, Rook, Bishop, or Knight) from a dropdown instead of always being forced to a queen.
  • Material balance indicator — the game embed shows who is ahead on material (e.g. White +3) after every move.
  • Visual board images generated for every move, with check and last-move highlighting. The board is automatically rendered from the perspective of whoever is about to move, so asynchronous games always show your own pieces at the bottom.
  • Draw offers, resignations, and move history built in. Draw offers are only available in PvP games, not against the AI.
  • Completed games include a Moves button on the final board embed to quickly review the full game history.
  • Configurable move timeout with automatic reminders and forfeit on inactivity.
  • Multiple concurrent games per player (no duplicate games between the same two players).
  • Games are automatically forfeited when a player leaves the server.

Setup

  1. Enable the module on your server.
  2. Optionally open the Configuration to adjust the Move Timeout, Forfeit Timeout, Max Concurrent Games, and AI Opponent Enabled settings.

Game threads are created in the channel where the /chess command is used — no dedicated game channel needs to be configured.

Usage

Challenging a player

Use /chess challenge to challenge another member. The challenged user has 2 minutes to accept or decline the invitation. Once accepted, a new thread is created in the current channel with the board and action buttons.

Playing against the AI

Use /chess challenge-ai to start a game against the AI. Choose a difficulty: Easy, Medium, or Hard. You always play as white.

Making moves

On your turn, you have three options:

  • Type in thread — Simply type your move as a message in the game thread (e.g. e2e4, Nf3, O-O). The message is automatically deleted and the move is processed.
  • Move button — Click "Move" to open a popup where you type your move in algebraic notation (e.g. e2e4, e2-e4, Nf3).
  • Select menus — The bot shows a piece select menu. Pick a piece, then pick the destination square from the next menu. Castling moves are labeled when available.

When a pawn reaches the last rank, the bot replaces the board controls with a promotion dropdown. Pick the piece you want (Queen, Rook, Bishop, or Knight) and the move is finalized with your choice.

After your move, the board image updates and the opponent is pinged.

Draw, resign, and history

  • Offer Draw — Click the "Offer Draw" button (PvP games only, not available against AI). Your opponent will see an "Accept Draw" button on their next turn. If they make a move instead, the draw offer is implicitly declined.
  • Resign — Click "Resign" and confirm. The opponent wins immediately.
  • Moves — Click "Moves" to view the full move history of the game.

Timeouts

If a player does not move within the configured timeout, they receive a reminder ping in the thread. If they still do not move within the forfeit timeout, the game is automatically forfeited.

Commands

Dokumentation Verstehen
In dieser Dokumentation bezeichnen wir eine verpflichtende Slash-Befehl-Option mit dem Namen name und dem Typen Typ als name:<Typ>. Optionen, die nicht Pflichtfelder sind, werden als [name:<Typ>] angegeben. Wenn sich die Aktionen eines Befehls zwischen Pflichtfeldern und Nicht-Pflichtfeldern sehr unterscheiden, listen wir sie eventuell separat.
Beispiele
  • /moderate ban user:<Mitglied>: Dieser Befehl (/moderate ban) hat nur eine verpflichtende Option mit dem Namen "user", die nur ein Mitglied akzeptiert.
  • /moderate ban victim:<Mitglied> reason:<Text>: Dieser Befehl (/moderate ban) hat eine Option mit dem Namen "victim" als Pflichtangabe, die nur ein Mitglied akzeptiert, und ein weiteres Pflichtfeld mit dem Namen "reason", das jeglichen Text als Wert akzeptiert.
  • /moderate ban victim:<Mitglied> reason:<Text> [proof:<Anhang>]: Dieser Befehl (/moderate ban) hat eine Option mit dem Namen "victim" als Pflichtangabe, die nur ein Mitglied akzeptiert, und ein weiteres Pflichtfeld mit dem Namen "reason", das jeglichen Text als Wert akzeptiert. Zusätzlich gibt es eine optionale Option mit dem Namen "proof", die einen Anhang als Wert akzeptiert.
CommandDescription
/chess challenge user:<User>Challenge another member to a chess game.
/chess challenge-ai [difficulty:<Easy/Medium/Hard>]Start a chess game against the AI (default difficulty: Medium).
/chess gamesList your active chess games.
/chess history [user:<User>]View completed chess game history (yours or another player's).

Configuration

Open the configuration in your dashboard.

FieldDescriptionDefault
Move Timeout (hours)Hours before a reminder ping is sent in the game thread.24
Forfeit Timeout (hours)Hours of inactivity before automatic forfeit.48
Max Concurrent GamesMaximum number of active games per player.5
AI Opponent EnabledAllow players to start games against the AI. When disabled, the /chess challenge-ai command is hidden.true

Troubleshooting

The board image is not showing
  • The board image is generated by an external API. If the API is temporarily unavailable, the game still works — the image will simply be missing from the embed.
My move was rejected as invalid
  • Make sure you are entering a legal move. The error message will list all legal moves for your current position.
  • If using notation like Nf3 and multiple knights can reach f3, use coordinate notation instead (e.g. G1F3).

Stored data

The following data is stored by this module:

  • Game records: Player IDs, board state (FEN), move count, game status, thread/channel IDs, and timestamps for each game. Completed games are retained indefinitely for history.

To remove all data stored by this module, purge the module database.

Brauchst du mehr Hilfe?
Findest du nicht, wonach du suchst? Unser Team hilft dir gerne.