¡Ya están disponibles las claves API para el foro! 🔌

Acceso a la API de CPCWiki: Conecta tus scripts, hardware y escritorios al foro

Estos últimos días he estado jugando con el sistema de API del foro. Discourse ofrece una API que puede obtener (y escribir, aunque no he probado esa parte) datos con los privilegios de la cuenta de un usuario.

Como ejemplo, he creado un plugin para TRMNL que, combinado con un script que se ejecuta en mi servidor casero unRAID, extrae y muestra estadísticas del foro para que pueda admirarlas en la puerta de mi puerta del frigorífico:

Por tanto, si te gusta crear herramientas personalizadas, automatizar tu flujo de trabajo de desarrollo o conectar hardware curioso a la web, vamos a abrir el acceso a la API personal para los miembros del foro.

Discourse no tiene un botón de autoservicio en la configuración de la cuenta para generar tokens personales, pero puedo emitir una clave de API dedicada directamente para tu cuenta si me la pides. La clave funciona con tu nombre de usuario y con tus mismos permisos de cuenta. Si no puedes ver una sección privada en tu navegador, tu clave de API tampoco podrá verla. También podemos restringir las claves a permisos específicos (como acceso de solo lectura o publicar estrictamente en una sola categoría) si quieres una capa adicional de seguridad para tus scripts.

Aquí tienes algunas ideas prácticas de lo que puedes construir con una (son ideas que he tomado en su mayoría de otros usuarios):

  • Lanzamiento de CI/CD para Z80: Añade una llamada curl al Makefile de tu ensamblador. Un make release puede subir el archivo .dsk directamente al hilo de tu proyecto junto con un registro de cambios actualizado.

  • Pantallas de escritorio E-Ink (y otras) (TRMNL, Tidbyt): Ten una segunda pantalla en tu escritorio, frigorífico, puerta de entrada o donde quieras, consultando el foro para mostrar el número de mensajes privados no leídos, los últimos temas o los hilos activos.

  • Notificadores: Conecta una de las soluciones Wi-Fi a tu CPC y escribe una herramienta que obtenga los títulos de los nuevos hilos y los imprima directamente en un GT65 (¿a que estaría genial?).

  • Extensiones de navegador: Crea una extensión para rastrear etiquetas específicas, monitorear anuncios del mercadillo o avisarte cuando alguien te mencione a ti o a tu proyecto.

  • Sincronización con lanzadores y emuladores: Envía imágenes de disco subidas al foro directamente a un lanzador de escritorio local o a un emulador sin tener que descargar manualmente los archivos adjuntos desde la interfaz web.

  • Puentes de chat (Chat Bridges): Transmite nuevos anuncios o discusiones técnicas a tu canal local de IRC o donde quieras sin necesidad de hacer web scraping del HTML.

Si tienes un proyecto o un experimento en mente, envíame un mensaje privado con una breve nota sobre lo que quieres construir y qué permisos necesitas (por ejemplo: solo lectura, leer notificaciones o crear publicaciones en secciones específicas). Generaré tu clave y te la enviaré.

Puedes consultar la documentación oficial aquí.

  • Pantallas de escritorio E-Ink (y otras) (TRMNL, Tidbyt): Ten una pantalla secundaria en tu escritorio, frigorífico, puerta principal o cualquier otro lugar consultando el foro para mostrar el recuento de mensajes privados no leídos, los últimos temas o los hilos activos.

    Esa es la función estrella, mucho más fácil que mostrar todo el foro… me encanta.

Sí, ese está genial, pero lástima que no sea interactivo.

El Vibe Coding te conseguirá todo lo que quieras. Las API simplemente te permiten hacer lo que desees con los datos. El Vibe coding, por otro lado, implementará lo que quieras en tu Pico/Pi o cualquier dispositivo IoT, sin que necesites conocer ninguno de los detalles.

Espero que pronto haya una migración de la antigua cpcwiki a la nueva (junto con sus miles de miembros), solo entonces verás… ¡una EXPLOSIÓN en las estadísticas del foro! :wink:

Pues sí, pero ¿qué tiene que ver la API con eso? :slight_smile:

Bueno, me parece que vi la captura de pantalla de las analíticas en la primera publicación y respondí a eso :slight_smile:

Ahhh vale :smiley: