# AzuriomCMS - Plugin Vote

Cette page explique comment connecter un site Azuriom au système de vote DiscordTop afin de :

* vérifier automatiquement les votes,
* attribuer des récompenses in-game (argent, items, permissions…),
* utiliser `external_id` pour relier un joueur Minecraft au vote DiscordTop.

Cette intégration utilise uniquement l’interface native d’Azuriom → **aucun code supplémentaire n’est requis**.

***

## Ajouter DiscordTop dans Azuriom

Dans votre panel Azuriom :

```
Plugins → Vote → Sites
```

Cliquez sur **“Ajouter un site”**, puis remplissez les champs comme suit :

***

### 🔧 Paramètres recommandés

#### **Nom :**

```
DISCORDTOP
```

#### **URL du site :**

*(Remplacez `GUILD_ID` par l’ID de votre serveur DiscordTop)*

```
https://discordtop.net/guild/GUILD_ID/vote?external_id={player}
```

💡 **Important** :\
`{player}` sera automatiquement remplacé par le pseudonyme du joueur Minecraft.\
Ce champ permettra à DiscordTop de relier le vote au joueur → et à Azuriom d’attendre la validation API côté DTOP.

***

## Activer la vérification des votes

Activez l’option :

```
✔ Activer la vérification des votes
```

Puis entrez votre clé API DiscordTop :

```
Clé d’API : VOTRE_CLE_API_DISCORDTOP
```

Elle est disponible dans votre dashboard DiscordTop (section Développeur → API) - [Trouver ma clé API](https://app.gitbook.com/s/lAtlbGhScSjx0xV8Uf9W/concepts-cles/authentification).

***

## Configuration du délai entre les votes

Azuriom gère automatiquement l’intervalle minimal :

```
Délai fixe entre les votes : 60 minutes
```

Vous pouvez modifier la valeur au besoin, mais il est fortement recommandé de laisser à 60 minutes.

{% hint style="warning" %}
Attention, le délai minimal entre chaque vote est de 60 minutes côté DiscordTop !
{% endhint %}

***

## Activer le site

Terminez en activant la case :

```
✔ Activer le site
```

Puis sauvegardez.

***

## Attribution des récompenses

Une fois DiscordTop ajouté dans Azuriom, configurez les récompenses :

```
Plugins → Vote → Récompenses
```

Vous pouvez attribuer :

* 💰 de la monnaie (`money`),
* 🎁 des items,
* 🔧 des commandes personnalisées,
* 🎖 des permissions,
* :tada: n’importe quel script via les commandes console.

Exemple :

```
give {player} diamond 3
eco give {player} 250
lp user {player} permission set votant true
```

> 🔍 **Remarque** :\
> Azuriom exécutera les récompenses uniquement si DiscordTop renvoie **has\_voted = true** via l’API.\
> La sécurité est garantie côté DTOP → impossible de tricher en spoofant un vote.

***

## Comment DiscordTop valide le vote ?

Azuriom appelle :

```
GET https://api.discordtop.net/v7/check-vote?external_id={player}
```

DiscordTop répondra :

#### 👉 Cas 1 : Le joueur a voté

```json
{
  "status": 200,
  "has_voted": true
}
```

→ Azuriom applique la récompense (en fonction de leurs configurations).

***

#### 👉 Cas 2 : Le joueur n’a pas voté

```json
{
  "status": 404,
  "has_voted": false
}
```

→ On informe que c'est KO.

***

#### 👉 Cas 3 : Trop de demandes

```json
{
  "status": 429,
  "error": "Rate limit exceeded.",
  "retry_after": 60
}
```

→ Azuriom réessayera automatiquement plus tard.

***

## Configuration finale — Résultat attendu

Une fois terminé, votre page Azuriom ressemble à ceci :

🔹 Nom : **DISCORDTOP**\
🔹 URL : `https://discordtop.net/guild/{YOUR_DISCORD_GUILD_ID}/vote?external_id={player}`\
🔹 Vérification des votes : **activée**\
🔹 Clé d’API : **VOTRE\_CLE**\
🔹 Délai entre votes : **60 minutes**\
🔹 Site activé : **oui**

Et côté joueurs :\
Ils votent → DiscordTop vérifie → Azuriom applique les récompenses → tout est automatique 🎉

***

## FAQ

#### **➡ Le joueur doit-il être connecté à Discord ?**

Non. Le lien `external_id={player}` permet d’associer le vote via son pseudo.

#### **➡ Puis-je personnaliser les récompenses ?**

Oui, complètement. Azuriom exécute vos commandes comme sur un serveur classique.

#### **➡ Faut-il installer un plugin Minecraft spécial ?**

Non. Azuriom s’occupe de tout.

#### **➡ Faut-il installer un plugin Azuriom spécial ?**

Non. le seul plugin obligatoire est le [Plugin Vote](https://github.com/Azuriom/Plugin-Vote).
