DiscordPY

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

Dans cet exemple, nous créons 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 appliquez vos propres récompenses :

    • donner un rôle,

    • ajouter de l’XP,

    • débloquer un salon, etc.


1. Pré-requis

  • Python 3.10+

  • Un bot Discord fonctionnel (token)

  • Un token API DiscordTop (api_token) associé à votre serveur

Packages à installer :

pip install -U discord.py aiohttp python-dotenv

2. Configuration du projet

Créez un fichier .env à la racine de votre projet :

DTOP_GUILD_ID correspond à 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. Bot Python complet : commande /vote + boutons + appel API DTOP

Créez un fichier bot.py avec le contenu suivant :


4. Où appliquer vos propres récompenses ?

Le bloc à modifier est ici :

À cet endroit, vous pouvez :

  • incrémenter un champ XP dans votre base de données,

  • donner un rôle temporaire ou permanent,

  • ouvrir l’accès à un salon réservé aux voteurs,

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


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

  1. L’utilisateur exécute la commande /vote.

  2. Le bot envoie un message avec :

    • un bouton lien → page de vote DiscordTop,

    • un bouton « Vérifier mon vote ».

  3. L’utilisateur clique sur « 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