For the complete documentation index, see llms.txt. This page is also available as Markdown.

DiscordJS

Intégrer la vérification des votes dans un bot Discord (JS)

Dans cet exemple, on crée une commande /vote qui :

  1. Envoie un message avec :

    • un bouton “Voter sur DiscordTop” → ouvre la page de vote,

    • un bouton “Vérifier mon vote” → appelle l’API DiscordTop.

  2. Si le vote est validé par l’API, vous pouvez appliquer vos propres récompenses :

    • donner un rôle,

    • ajouter de l’XP,

    • ouvrir l’accès à un salon privé, etc.


1. Pré-requis

  • Node.js 18+ (pour avoir fetch intégré)

  • Un bot Discord configuré (token)

  • Un token API DiscordTop (api_token) associé à votre serveur - Comment trouvé ma clé ?

Packages :

npm install discord.js dotenv

2. Configuration du projet

Créez un fichier .env à la racine :

DTOP_GUILD_ID est l’ID du serveur tel qu’il apparaît sur DiscordTop (en général, c’est le même que l’ID Discord).


3. Enregistrer la commande /vote

Créez un fichier deploy-commands.js :

Lancer une fois :


4. Bot de base avec /vote + boutons

Créez un fichier index.js :


5. Où brancher votre propre logique de récompenses ?

Dans l’exemple ci-dessus, le bloc important est ici :

C’est à cet endroit précis que vous pouvez :

  • incrémenter un champ XP dans votre base,

  • ajouter un rôle avec member.roles.add(...),

  • logger l’événement dans un salon staff,

  • comptabiliser les votes journaliers, etc.


6. Résumé du flux côté bot

  1. L’utilisateur tape /vote

  2. Le bot répond avec :

    • un bouton lien → page de vote DiscordTop,

    • un bouton “Vérifier mon vote”

  3. L’utilisateur clique “Vérifier mon vote”

  4. Le bot appelle :

  1. Selon la réponse :

    • ✅ 200 → vote valide → vos récompenses sont appliquées

    • ❌ 404 → pas de vote récent

    • 🚫 429 → trop de requêtes, respectez retry_after

    • 🔐 401/403 → problème de configuration API

    • 💥 500 → erreur côté DTOP (à réessayer plus tard)

Last updated