Comment créer un chatbot pour l'API Reddit

DEV - 13/09
Salut! J'ai pensé partager ce petit guide sur la façon dont j'ai créé un chatbot qui permet aux utilisateurs de converser avec...

Salut! J'ai pensé partager ce petit guide sur la façon dont j'ai créé un chatbot qui permet aux utilisateurs de converser avec l'API Reddit. En tant que développeur et fan de Reddit, je voulais essayer de créer une nouvelle façon d'interagir avec la plateforme. Voici comment je l'ai fait en utilisant NextJS, Chatwith et OpenAPI !

Voici le code source si vous souhaitez vous y lancer directement, et voici l'application finale : https://redditbot.chat

Caractéristiques du projet

En résumé, le projet a :

  • Un wrapper mince sur l'API Reddit pour exposer uniquement les points de terminaison utiles et réduire les charges utiles de données
  • Un fichier de spécifications OpenAPI en YAML pour le chatbot Chatwith
  • Une page de destination avec une iframe de chatbot intégrée

On peut dire que le gros du travail a été effectué par Chatwith. Ce projet se concentre sur la création d'une API avec laquelle le chatbot peut interagir et sur la configuration de Chatwith pour créer le chatbot.

J'ai utilisé NextJS pour ce projet parce que je voulais aussi créer une page de destination simple - mais vous pouvez facilement créer l'API avec par exemple. un back-end Express.

Commencer

J'ai utilisé le démarreur NextJS 13 avec la configuration par défaut :

bunx créer-suivant-application

Vous pouvez voir que j'utilise Bun, la nouvelle boîte à outils tout-en-un JS. Vous pouvez aussi utilisernpmoupnpmen remplacement dans ce projet.

Après avoir créé le projet, vérifiez rapidement s'il s'exécute sur localhost :

développeur de chignon

Création du wrapper d'API Reddit

Le composant essentiel de ce projet est le wrapper de l'API Reddit. Il sert de médiateur entre notre chatbot et l'API Reddit. Son rôle est de réduire la quantité de données transférées et de simplifier l’API pour que le chatbot la comprenne.

Voici pourquoi le wrapper est important :

  • Utilisez uniquement les points de terminaison sélectionnés : l'API Reddit dispose d'une myriade de points de terminaison pour diverses fonctionnalités. Notre chatbot n’en a besoin que d’un sous-ensemble. Le wrapper veille à n’exposer que les ...
    [Courte citation de 8% de l'article original]
Loading...