#
/ticket
#
Résumé
La fonctionnalité /ticket permet aux utilisateurs de créer des tickets pour communiquer directement avec les modérateurs ou l'équipe d'administration dans un salon texte privé. Chaque ticket est un salon dédié, créé automatiquement avec des permissions spécifiques, permettant une gestion efficace des demandes, questions ou signalements. Les tickets peuvent être fermés, archivés ou utilisés pour mentionner à nouveau l'utilisateur ayant créé le ticket.
#
Fonctionnalités prises en charge
- Création d'un ticket privé avec un salon texte dédié.
- Gestion des permissions pour limiter l'accès au créateur du ticket, au bot et aux rôles désignés.
- Boutons interactifs pour fermer, archiver ou mentionner l'utilisateur dans le ticket.
- Enregistrement d'une transcription des messages du ticket lors de la fermeture.
- Envoi de la transcription au créateur du ticket et à un salon de logs configuré (si défini).
- Support des catégories pour organiser les tickets.
- Mention automatique des rôles configurés à l'ouverture du ticket.
Un utilisateur ne peut avoir qu'un seul ticket ouvert à la fois. Si un ticket existe déjà, l'utilisateur sera redirigé vers celui-ci.
#
Comment ça fonctionne
Ouvrir un ticket :
- Un utilisateur clique sur un bouton configuré (par exemple, via un message d'intégration avec des boutons de ticket).
- Un salon texte nommé
ticket-<nom_utilisateur>est créé avec des permissions restreintes :- Seuls l'utilisateur, le bot et les rôles configurés (si spécifiés) peuvent voir et écrire dans le salon.
- Le salon peut être placé dans une catégorie spécifique si configurée.
- Un message initial est envoyé dans le salon avec un embed de bienvenue et trois boutons : Fermer, Archiver, et Mentionner.
- Les rôles configurés pour être mentionnés (si définis) sont notifiés dans le message initial.
Gérer un ticket :
- Fermer : Supprime le salon après 5 secondes, envoie une transcription des messages (jusqu'à 100 messages) au créateur et au salon de logs (si configuré), et supprime l'entrée de la base de données.
- Archiver : Retire les permissions de l'utilisateur pour voir ou écrire dans le salon, tout en conservant le salon pour consultation par les modérateurs.
- Mentionner : Envoie un message dans le salon pour mentionner à nouveau l'utilisateur qui a créé le ticket, demandant une clarification ou une suite.
Configuration :
- Les paramètres des tickets sont stockés dans la base de données via
ticketSetting. - Les administrateurs doivent configurer :
- L'activation du système de tickets.
- Les boutons valides (identifiants uniques).
- Une catégorie optionnelle pour organiser les tickets.
- Des rôles ayant accès aux tickets.
- Des rôles à mentionner à l'ouverture d'un ticket.
- Un salon de logs pour recevoir les transcriptions des tickets fermés.
- Les paramètres des tickets sont stockés dans la base de données via
#
Paramètres
Activation / désactivation
Active ou désactive le système de tickets pour le serveur.Boutons de ticket
Liste des identifiants de boutons valides pour ouvrir des tickets (doit être configurée dans la base de données).Catégorie
Définit une catégorie Discord où les nouveaux tickets seront créés (optionnel).Rôles d'accès
Liste des rôles ayant accès aux tickets (peuvent voir et écrire dans les salons de tickets).Rôles à mentionner
Liste des rôles à mentionner automatiquement dans le message initial du ticket.Salon de logs
Définit un salon texte où les transcriptions des tickets fermés et les notifications d'archivage sont envoyées.
#
Prérequis
- Le bot doit avoir la permission
ManageChannelspour créer et gérer les salons de tickets. - Une configuration valide doit exister dans la base de données (
ticketSetting) avecenabled: trueet au moins un bouton configuré. - Les emojis utilisés pour les boutons (
red.binTrash,gray.schedule,white.message) doivent être disponibles dans le serveur ou accessibles globalement.
#
Limitations
- Un utilisateur ne peut avoir qu'un seul ticket ouvert à la fois.
- La transcription des tickets est limitée aux 100 derniers messages.
- Les erreurs (par exemple, échec de récupération du salon de logs ou de la catégorie) sont gérées silencieusement pour éviter d'interrompre l'exécution.
Pour configurer le système de tickets, les administrateurs doivent utiliser une commande ou un panneau de configuration séparé (non inclus dans ce code). Assurez-vous que les paramètres sont correctement définis dans la base de données avant d'utiliser les boutons de ticket.