Erste Schritte
Installation und erster Bot
Installiere das Paket, authentifiziere dich und starte deinen ersten Raum.
Voraussetzungen
- Node.js 20.18.1 oder neuer.
- Ein bonk.io-Konto (empfohlen für 24/7-Räume).
- Das Paket ist ESM (
"type": "module"); ein CommonJS-Build wird ebenfalls mitgeliefert.
Installation
bash
npm install bonktools
# oder: pnpm add bonktools · yarn add bonktoolsDas Paket bringt seine Abhängigkeiten mit (socket.io-client, werift, ws, pino, zod, undici, eventemitter3) und liefert die TypeScript-Typen.
Authentifizierung
Die Bibliothek unterstützt zwei Modi:
ts
import type { AuthOptions } from 'bonktools';
// Registriertes Konto (empfohlen für 24/7)
const auth: AuthOptions = { type: 'registered', username: 'mein_benutzer', password: 'mein_passwort' };
// Gast (ohne HTTP-Authentifizierungsaufruf)
const guest: AuthOptions = { type: 'guest', guestName: 'BonkBot' };Mit type: 'registered' ruft die Bibliothek bonk2.io/scripts/login_legacy.php auf und verwendet das Token für alle Räume derselben Sitzung wieder.
Dein erster Bot
Erstelle bot.ts:
ts
import { createRoom } from 'bonktools';
const room = await createRoom({
auth: { type: 'registered', username: process.env.BONK_USER!, password: process.env.BONK_PASS! },
desiredState: { roomName: 'Hallo, bonk!', password: '', maxPlayers: 6, mode: 'b', rounds: 3 },
});
console.log('Raumlink:', room.shareLink);
room.on('player-join', (p) => room.chat(`Willkommen, ${p.userName}!`));
room.on('chat-message', ({ message }) => {
if (message === '!ping') room.chat('Pong!');
});Führe ihn aus:
bash
BONK_USER=dein_benutzer BONK_PASS=dein_passwort npx tsx bot.tscreateRoom() wird erst aufgelöst, nachdem der Server den Raum bestätigt hat, daher ist room.shareLink bereits verfügbar.
Wie geht es weiter?
- Du willst den Raum unbeaufsichtigt am Leben halten? Siehe 24/7-Sitzungen.
- Du willst einen fertigen Fußball-Bot? Siehe den 24/7-Referenzraum.