API-Schlüssel für das Forum ab sofort verfügbar! 🔌

API-Zugriff für CPCWiki: Binde deine Skripte, Hardware und Desktops an das Forum an

Ich habe in den letzten Tagen ein wenig mit dem API-System des Forums herumgespielt. Discourse bietet eine API, mit der Daten mit den Berechtigungen deines Benutzerkontos abgerufen (und geschrieben, obwohl ich diese Seite noch nicht getestet habe) werden können.

Als Beispiel habe ich ein TRMNL-Plugin gebaut, das zusammen mit einem Skript auf meinem unRAID-Homelab Forenstatistiken abruft und anzeigt, damit ich sie an meiner Kühlschranktür bewundern kann:

Wenn du also gerne eigene Tools baust, deinen Entwicklungs-Workflow automatisierst oder schräge Hardware mit dem Web verbindest: Wir schalten ab sofort persönlichen API-Zugriff für Forenmitglieder frei.

Discourse hat keinen Self-Service-Button in den Kontoeinstellungen, um persönliche Tokens zu generieren. Ich kann aber auf Anfrage direkt einen dedizierten API-Schlüssel für dein Konto ausstellen. Der Schlüssel läuft unter deinem Benutzernamen mit genau deinen Kontoberechtigungen. Wenn du einen privaten Bereich in deinem Browser nicht sehen kannst, kann dein API-Schlüssel ihn ebenfalls nicht sehen. Wir können Schlüssel auch auf bestimmte Bereiche einschränken (z. B. Nur-Lese-Zugriff oder das Verfassen von Beiträgen ausschließlich in einer einzelnen Kategorie), falls du eine zusätzliche Sicherheitsstufe für deine Skripte möchtest.

Hier sind ein paar praktische Ideen für Dinge, die du damit bauen kannst (diese Ideen habe ich größtenteils von anderen übernommen):

  • Z80 CI/CD-Releases: Füge deiner Assembler-Makefile einen curl-Aufruf hinzu. Ein Aufruf von make release kann die .dsk-Datei zusammen mit einem aktualisierten Changelog direkt in deinen Projekt-Thread hochladen.

  • E-Ink- (und andere) Schreibtisch-Displays (TRMNL, Tidbyt): Lass einen zweiten Bildschirm auf deinem Schreibtisch, Kühlschrank, an der Haustür oder sonst wo das Forum abfragen, um die Anzahl ungelesener PNs, die neuesten Themen oder aktive Threads anzuzeigen.

  • Benachrichtigungssysteme: Schließe eine der WLAN-Lösungen an deinen CPC an und schreibe ein Tool, das neue Thread-Titel abruft und sie direkt auf einem GT65 ausgibt (wie cool wäre das denn?).

  • Browser-Erweiterungen: Baue eine Erweiterung, um bestimmte Tags zu verfolgen, Marktplatz-Einträge zu überwachen oder dich zu benachrichtigen, wenn jemand dich oder dein Projekt erwähnt.

  • Launcher- & Emulator-Synch: Speise im Forum hochgeladene Disk-Images direkt in einen lokalen Desktop-Launcher oder Emulator ein, ohne Anhänge manuell über die Web-Oberfläche herunterladen zu müssen.

  • Chat-Bridges: Leite neue Ankündigungen oder technische Diskussionen ohne HTML-Scraping direkt in deinen lokalen IRC-Channel oder Ähnliches weiter.

Wenn du ein Projekt oder ein Experiment im Sinn hast, schick mir eine PN mit einer kurzen Info darüber, was du bauen möchtest und welche Berechtigungen du benötigst (z. B. Nur-Lesen, Lesen von Benachrichtigungen oder Erstellen von Beiträgen in bestimmten Bereichen). Ich generiere dann deinen Schlüssel und sende ihn dir zu.

Die offizielle Dokumentation kannst du hier lesen.

  • E-Ink- (und andere) Schreibtisch-Displays (TRMNL, Tidbyt): Nutze einen zweiten Bildschirm auf deinem Schreibtisch, Kühlschrank, der Haustür oder wo auch immer, der das Forum abfragt, um die Anzahl ungelesener PNs, die neuesten Themen oder aktive Threads anzuzeigen.

    Das ist das Killer-Feature, viel einfacher als das ganze Forum anzuzeigen … ich liebe es.

Ja, das ist ein schönes, aber leider nicht interaktiv.

Vibe-Coding bringt dir alles, was du willst. Schnittstellen (APIs) ermöglichen es dir einfach, mit den Daten zu machen, was du willst. Vibe-Coding auf der anderen Seite setzt das um, was du auf deinem Pico/Pi oder sonst einem IoT-Gerät haben möchtest, ohne dass du all die Details kennen musst.

Ich hoffe, dass das alte CPCWiki bald auf das neue übertragen wird (zusammen mit den vielen tausend Mitgliedern), erst dann wirst du sehen… eine EXPLOSION der Forum-Statistiken! :wink:

Nun ja, aber was hat die API damit zu tun? :slight_smile:

Tja, ich schätze, ich habe den Analytics-Screenshot im 1. Beitrag gesehen und darauf geantwortet :slight_smile:

Ahhh ok :smiley: