API für Bots

Mit einem API-Token verbindest du deinen Discord-Bot oder dein Plugin mit der ASA-Serverliste. Den Token erzeugst du unter „Mein Konto“ bei deinem Server. Er wird nur einmal angezeigt und gehört nur in deinen Bot, nie in einen öffentlichen Kanal.

Ohne Bot

Trag bei deinem Server einen Discord-Webhook ein. Dann erscheint jeder Vote automatisch in deinem Kanal.

Anmeldung

Authorization: Bearer asl_DEIN_TOKEN

Endpunkte

GET /api/v1/serverName, Votes des Monats und Platz
GET /api/v1/votes?limit=50&unclaimed=1Letzte Votes, optional nur noch nicht belohnte
GET /api/v1/votes/check?user=NAMEPrüft, ob jemand in den letzten 24 Stunden gevotet hat. Sucht nach Benutzer-, Discord- und ARK-Name.
POST /api/v1/votes/ID/claimMarkiert einen Vote als belohnt. Geht pro Vote nur einmal.

Grenze: 120 Anfragen pro Minute je Server.

Beispiel für einen Discord-Bot

const r = await fetch('https://asaserverliste.de/api/v1/votes/check?user=' + encodeURIComponent(name), {
  headers: { Authorization: 'Bearer ' + process.env.ASL_TOKEN },
});
const data = await r.json();
if (data.voted && !data.vote.claimed) {
  // Belohnung geben, dann als erledigt markieren
  await fetch('https://asaserverliste.de/api/v1/votes/' + data.vote.id + '/claim', {
    method: 'POST', headers: { Authorization: 'Bearer ' + process.env.ASL_TOKEN },
  });
}