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

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