Sommaire
Guide de la boutique de serveur Levlix
Le module Boutique de Levlix permet aux admins de serveur de proposer des articles achetables avec la monnaie virtuelle en points du serveur. Les membres parcourent les articles disponibles, les achètent avec leur solde de points et consultent tout leur historique d'achats, soit via les commandes slash de Discord, soit directement depuis le tableau de bord web.
Où les membres peuvent acheter
Il existe deux façons tout aussi valables de parcourir et d'acheter :
- Dans Discord, avec les commandes slash
/shopdécrites ci-dessous. - Sur le tableau de bord web, sous Économie → Boutique. Les membres y voient le même catalogue que celui configuré par les admins du serveur, avec leur solde de points actuel, des badges de disponibilité et l'historique complet de leurs achats.
Un achat depuis le tableau de bord passe exactement par les mêmes contrôles de sécurité que la commande slash : dates de disponibilité, expiration, limites d'achat, stock et paiement sont tous appliqués côté serveur. La déduction des points et l'attribution du code se font dans une seule transaction de base de données, si bien qu'un achat qui échoue en cours de route (par exemple parce que la réserve de codes s'est vidée à cet instant précis) ne coûte jamais de points : un acheteur n'est jamais débité pour un code qu'il n'a pas reçu.
Commandes des membres
Il existe une seule commande pour les membres :
/shop
Elle ouvre le tableau de bord de la boutique avec deux onglets :
| Onglet | Ce que vous pouvez faire |
|---|---|
| Boutique | Parcourir tous les articles actuellement disponibles, avec le prix, le stock restant et le nombre d'achats qu'il vous reste. Choisissez un article dans le menu, confirmez, et l'achat s'effectue. |
| Mes achats | Voir ce que vous avez acheté dans la boutique de ce serveur, avec la date, le prix et le code reçu. |
L'option tab permet d'ouvrir directement le tableau de bord sur un onglet. Les articles que vous avez déjà achetés jusqu'à la limite, ainsi que les articles épuisés, ne sont pas proposés.
Après un achat confirmé :
- Levlix vérifie votre solde actuel et le stock de l'article.
- Le code de l'article vous est envoyé par message privé.
- Si vos messages privés sont fermés, le code vous est affiché à la place dans un message éphémère (visible par vous seul).
- Votre solde de points est réduit du prix de l'article.
Pour les articles livrés par le bot, il n'y a pas de code : l'article vous est appliqué et la confirmation l'indique. L'onglet Mes achats liste d'abord vos effets actifs.
Si vous n'avez pas assez de points, Levlix vous indique combien de points il vous faut et combien vous en avez actuellement.
Acheter depuis le tableau de bord
Ouvrez Économie → Boutique sur le tableau de bord web Levlix. Les membres arrivent directement sur la vue boutique ; les gestionnaires du serveur voient par défaut la vue de gestion et peuvent ouvrir la boutique côté membres en ajoutant ?view=store à l'URL de la boutique.
La page de la boutique affiche :
| Élément | Signification |
|---|---|
| Solde de points | Vos points actuels sur le serveur, mis à jour après chaque achat. |
| Badges de statut | Disponible, Programmé (débloqué à une date future), Épuisé ou Expiré. |
| Bouton Acheter | Désactivé lorsque l'article n'est pas actif, que vous avez atteint sa limite d'achat ou que votre solde est trop bas. |
| Mes achats | Tous les codes que vous avez achetés sur ce serveur, du plus récent au plus ancien. |
| Effets actifs | Les rôles, boosts, boucliers et pseudos que vous détenez actuellement, avec leur date de fin. |
Afficher un code acheté
Pour protéger les codes achetés si quelqu'un regarde votre écran par-dessus votre épaule, l'historique d'achats n'affiche par défaut que les quatre derniers caractères de chaque code. Cliquez sur Afficher sur une ligne pour récupérer la valeur complète à la demande. Chaque affichage est enregistré, vous avez donc toujours la preuve de ce que vous avez obtenu et quand.
Les achats d'articles livrés par le bot affichent ce que vous avez acheté et son statut (actif jusqu'à, programmé, utilisé, expiré, révoqué, remboursé) au lieu d'un code.
Articles épuisés et programmés
- Les articles épuisés apparaissent grisés et ne peuvent pas être achetés. Ils restent sur la page pour que les membres voient ce qui a été proposé par le passé.
- Les articles programmés indiquent leur date de déblocage. Le bouton d'achat reste désactivé jusqu'à ce que
available_fromsoit atteint. - Les articles expirés restent listés avec un badge Expiré et ne peuvent pas être achetés.
Admin : gérer la boutique
Les admins ajoutent, modifient et suppriment les articles de la boutique via le tableau de bord web Levlix. Chaque article dispose des options de configuration suivantes :
| Paramètre | Description |
|---|---|
| Titre de l'article | Nom affiché aux utilisateurs |
| Prix (points) | Coût en points du serveur |
| Type d'article | Ce que reçoit l'acheteur : un code issu d'une réserve, ou quelque chose que le bot livre lui-même (voir ci-dessous) |
| Stock | Nombre d'unités facultatif pour les articles livrés par le bot ; vide signifie illimité |
| Limite d'achat | Nombre maximal de fois qu'un membre peut acheter cet article ; 0 signifie illimité |
| Annoncer les achats | Salon facultatif dans lequel le bot publie un message quand quelqu'un achète l'article |
| Date de fin | Date facultative après laquelle l'article quitte la boutique |

Une fois tous les codes d'un article vendus, l'article est automatiquement marqué comme épuisé et retiré de la liste de la boutique.
Un article que personne n'a encore acheté peut être supprimé. Dès que quelqu'un l'a acheté, sa carte affiche Terminer maintenant au lieu de Supprimer : les achats et les rôles, boosts ou pseudos en cours restent liés à l'article, il est donc terminé plutôt que supprimé. Terminer maintenant fixe sa date de fin à l'heure actuelle, l'article quitte immédiatement la boutique et reste dans la liste de gestion sous Expiré. Pour le remettre en vente, donnez-lui une nouvelle date de fin dans Modifier.
Pour une gestion rapide dans Discord, ouvrez /setup, choisissez Engagement puis Boutique. Le panneau de la boutique liste vos articles et propose les boutons Créer un article, Publier la vitrine et Vérifier l'expiration maintenant, ainsi qu'un menu qui publie un article précis dans un salon. Les gestionnaires de la boutique sans la permission Gérer le serveur accèdent au même panneau avec le bouton Gérer la boutique de /shop. Le tableau de bord reste le moyen le plus confortable de travailler sur plusieurs articles à la fois.
Filtrer les articles par statut
La page de gestion propose un filtre de statut (Tous, Actif, Programmé, Expiré, Épuisé) pour aller directement aux articles qui demandent votre attention. Le statut découle des mêmes règles que celles que la boutique applique aux membres, ce qui signifie que les deux vues ne peuvent jamais diverger.
Articles livrés par le bot
En plus des codes, la boutique peut vendre des choses que le bot applique lui-même. Choisissez le type lors de la création de l'article ; le type ne peut plus être changé ensuite, mais ses paramètres oui.
| Type | Ce que reçoit le membre | Paramètres | Permission du bot |
|---|---|---|---|
| Rôle temporaire | Un rôle pendant un certain nombre de jours (1 à 365) | Rôle, durée | Gérer les rôles, et le rôle doit se trouver sous le rôle le plus élevé du bot |
| Boost d'XP personnel | Un multiplicateur sur sa propre XP pendant un certain nombre d'heures (1 à 168) | Multiplicateur (1,5x à 5x par paliers de 0,5), durée | aucune |
| Bouclier de série | Une protection pour la série quotidienne : un bouclier couvre un jour manqué | Maximum qu'un membre peut détenir (1 à 10) | aucune |
| Pseudo | Un pseudo de son choix dans un modèle que vous définissez, pendant un certain nombre de jours (1 à 90) | Modèle avec {text}, durée |
Gérer les pseudos |
| Ticket de loterie | Un ticket pour le tour en cours de l'article ; un ticket correspond à une chance | Jour et heure du tirage (UTC), part de la maison (0 à 50 %), tickets par membre et par tour, salon des résultats | Envoyer des messages dans le salon des résultats |
Chaque article livré par le bot peut avoir un stock (le nombre total d'unités existantes), une limite d'achat par membre, les deux, ou aucun des deux. Les articles à code continuent de tirer leur stock du nombre de codes inutilisés.
Fonctionnement de la livraison
- Un achat dans Discord applique l'article immédiatement. Un achat sur le tableau de bord confie la tâche au bot, qui l'applique en quelques minutes au plus, même s'il était hors ligne au moment de l'achat.
- Racheter un article à durée limitée le prolonge : la nouvelle période commence à la fin de la période en cours.
- Un boost d'XP personnel ne se cumule jamais avec un boost à l'échelle du serveur. Le multiplicateur le plus élevé s'applique.
- Les boucliers de série sont utilisés automatiquement : lorsqu'un membre manque des jours, un bouclier par jour manqué est consommé et la série continue. Sans assez de boucliers, la série est réinitialisée et les boucliers sont conservés.
- Un article Pseudo permet au membre de saisir le texte ; le bot l'insère dans votre modèle (par exemple
VIP {text}). Le texte passe par les filtres de mots de la modération du serveur lorsque le module de modération est activé. - Lorsqu'un article se termine, le bot retire le rôle ou rétablit le pseudo précédent. Un rôle que le membre possédait avant l'achat n'est jamais retiré, et un pseudo que le membre a modifié entre-temps n'est pas touché.
Remboursements
Si le bot ne peut pas appliquer un article (le rôle a été supprimé, le bot n'a pas la permission, le membre est parti, ou le propriétaire du serveur a acheté un pseudo), l'achat est remboursé automatiquement : les points reviennent sur le solde, l'unité de stock est libérée et l'acheteur reçoit un message privé indiquant la raison. L'achat apparaît comme Remboursé dans l'historique.
Révoquer une attribution
Les gestionnaires voient qui détient actuellement un article livré par le bot via Attributions sur la carte de l'article et peuvent y révoquer une attribution. Le bot l'annule en quelques minutes. Une révocation ne donne lieu à aucun remboursement.
Annonces d'achat
Activez Annoncer les achats et choisissez un salon pour que le bot publie un court message chaque fois que quelqu'un achète l'article. Les membres sont mentionnés dans ce message.
Les Paramètres de la boutique en haut de la page de gestion contiennent les valeurs par défaut dont hérite chaque article : un salon d'annonce par défaut et le choix de démarrer ou non les nouveaux articles avec les annonces activées. Un article sans salon propre publie dans le salon par défaut ; les résultats des tirages de loterie utilisent le même repli. Sans salon par défaut, chaque article qui annonce doit choisir le sien. Le Niveau requis pour gérer la boutique reste dans les Paramètres du serveur.
Loterie
Un article de loterie fonctionne par tours. Chaque ticket acheté verse son prix, moins la part de la maison, dans la cagnotte du tour ; la part de la maison est simplement retirée de la circulation. À l'heure du tirage, le bot choisit un ticket au hasard (chaque ticket compte une fois, donc plus de tickets signifie plus de chances), verse toute la cagnotte en points à ce membre, publie le résultat dans le salon des résultats et ouvre le tour suivant. Un tour sans ticket est clôturé sans annonce.
Les gestionnaires peuvent Tirer maintenant (le tirage a lieu dans la minute) et Annuler le tour (chaque ticket est remboursé et le tour suivant s'ouvre ; le bot publie un court avis). Un article de loterie ne peut pas être supprimé tant que son tour ouvert contient des tickets : effectuez le tirage ou annulez d'abord le tour. Laisser l'article expirer arrête la vente de tickets, mais le tirage du tour ouvert a quand même lieu.
La carte de la boutique affiche la cagnotte actuelle, le nombre de tickets qu'elle contient, vos propres tickets et l'heure du prochain tirage. La vue /shop de Discord affiche la même ligne.
Rôle de gestionnaire de la boutique
Par défaut, seuls les admins du serveur peuvent gérer la boutique. Si vous voulez permettre à un autre rôle (par exemple un Community Manager ou une équipe boutique dédiée) de créer et modifier des articles, réglez le Niveau requis pour gérer la boutique sous Paramètres du serveur sur Modérateurs et plus ou Admins et propriétaire. La hiérarchie des rôles (user → moderator → admin → owner) détermine qui voit la vue de gestion et qui voit la boutique.
| Paramètre | Résultat |
|---|---|
| Admins et propriétaire (par défaut) | Seuls les admins et le propriétaire du serveur peuvent gérer la boutique. |
| Modérateurs et plus | Les modérateurs, les admins et le propriétaire peuvent gérer la boutique. |
| Propriétaire uniquement | Seul le propriétaire du serveur peut gérer la boutique. |
Les membres en dessous du rôle configuré arrivent toujours sur la vue boutique, même s'ils ouvrent directement l'URL de gestion. Les gestionnaires qui prévisualisent la boutique gardent le lien Retour à la gestion pour ne jamais s'y perdre.
Gérer les soldes des utilisateurs
Les administrateurs du serveur peuvent ajouter, retirer ou ajuster manuellement le solde de points d'un membre depuis le tableau de bord web Levlix. Chaque modification est consignée dans l'historique d'audit pour une transparence totale.
Cas particuliers et remarques de sécurité
- Vérification de l'appartenance à chaque achat sur le tableau de bord. L'URL de la boutique est accessible à toute personne ayant un compte Levlix, mais seuls les membres du serveur peuvent réellement acheter : le traitement de l'achat revérifie l'appartenance avant de toucher à la réserve de codes.
- Un code par acheteur, toujours. Un bref verrou de base de données est posé sur la ligne de l'acheteur pendant qu'un achat est en cours, si bien qu'un double clic sur le bouton d'achat (ou la même personne qui ouvre deux onglets) ne peut jamais obtenir deux codes pour un seul paiement.
- Le bot est hors ligne ? Les achats fonctionnent quand même. Les achats du tableau de bord sont publiés via Redis pour que le bot puisse envoyer un message privé au gagnant, mais le code est de toute façon livré immédiatement dans le tableau de bord. Si le bot est hors ligne, l'achat réussit quand même et le code vous attend dans votre historique d'achats lorsque vous actualisez la page.
- Le passage à l'état épuisé est instantané. Lorsque le dernier code d'un article est obtenu depuis le tableau de bord, l'article est marqué comme épuisé dans la même requête. Aucun « 1 restant » périmé n'est affiché au visiteur suivant.