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/server | Name, Votes des Monats und Platz |
GET /api/v1/votes?limit=50&unclaimed=1 | Letzte Votes, optional nur noch nicht belohnte |
GET /api/v1/votes/check?user=NAME | Prüft, ob jemand in den letzten 24 Stunden gevotet hat. Sucht nach Benutzer-, Discord- und ARK-Name. |
POST /api/v1/votes/ID/claim | Markiert 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 },
});
}