Skip to content

OxiWanV2/PristisVerify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔑 PristisVerify

Un bot de vérification Discord utilisant reCAPTCHA v2. Complètement en français !

Fonctionnalités du bot PristisVerify

🟢 Traduction en français 100%
La version originale de Nates a été reprise par xb3n6e, modifiée et publiée par OxiWan.

1. Vérification des utilisateurs via reCAPTCHA

  • Le bot utilise Google reCAPTCHA v2 pour vĂ©rifier que les nouveaux utilisateurs ne sont pas des robots. Lorsqu'un utilisateur rejoint le serveur, il reçoit un lien vers un formulaire reCAPTCHA Ă  complĂ©ter.
  • Une fois la vĂ©rification rĂ©ussie, le bot attribue automatiquement un rĂ´le "vĂ©rifiĂ©" Ă  l'utilisateur.

2. Gestion des rĂ´les

  • Attribution automatique du rĂ´le vĂ©rifiĂ© : Après avoir complĂ©tĂ© la vĂ©rification via reCAPTCHA, le bot attribue un rĂ´le spĂ©cifique (dĂ©fini dans la configuration) Ă  l'utilisateur.
  • Suppression automatique d'un rĂ´le : Si activĂ© dans la configuration (removeRole: true), le bot peut Ă©galement retirer un rĂ´le spĂ©cifique une fois que l'utilisateur est vĂ©rifiĂ©.
  • RĂ´le administrateur : Un rĂ´le administrateur peut ĂŞtre dĂ©fini pour accorder des privilèges spĂ©ciaux aux administrateurs lors de certaines interactions avec le bot.

3. Présence personnalisée du bot

  • Le bot peut afficher un statut personnalisĂ© sur Discord, tel que "regarde les utilisateurs non vĂ©rifiĂ©s", "Ă©coute", ou "en compĂ©tition". Le type de statut et le message peuvent ĂŞtre configurĂ©s dans le fichier config.js.
  • Types de statuts disponibles :
    • Jouer (PLAYING)
    • Diffuser (STREAMING)
    • Écouter (LISTENING)
    • Regarder (WATCHING)
    • CompĂ©tition (COMPETING)

4. Affichage des règles du serveur

  • Si activĂ© (rulesEnabled: true), le bot peut envoyer un message contenant les règles du serveur aux nouveaux membres lorsqu'ils rejoignent. Ces règles sont prĂ©sentĂ©es sous forme d'intĂ©gration (embed) avec un titre et une couleur personnalisables.
  • Les utilisateurs doivent accepter ces règles avant de pouvoir continuer avec la vĂ©rification.

5. Système de gestion des liens d'invitation

  • Le bot peut fournir un lien d'invitation Discord personnalisĂ© pour rejoindre le serveur, ce qui permet aux nouveaux utilisateurs d'accĂ©der facilement au serveur pour commencer la vĂ©rification.

6. Serveur web intégré pour la vérification

  • Le bot inclut un petit serveur web qui gère les requĂŞtes HTTP pour la vĂ©rification via reCAPTCHA.
    • HTTPS supportĂ© : Si activĂ©, le serveur peut fonctionner en HTTPS avec des certificats SSL fournis par l'utilisateur (certificate.pem et private.pem).
    • Les utilisateurs peuvent accĂ©der Ă  une page web oĂą ils complètent le reCAPTCHA pour prouver qu'ils ne sont pas des robots.

7. Commandes slash personnalisées

  • Le bot utilise les commandes slash de Discord pour permettre aux administrateurs et aux utilisateurs d'interagir avec lui directement depuis l'interface Discord.
    • /verify : Commande permettant aux utilisateurs de demander leur vĂ©rification manuellement.
    • /unverify : Commande permettant aux utilisateurs de se dĂ©vĂ©rifier eux-mĂŞmes si nĂ©cessaire.
    • /verifyembed : Envoie une intĂ©gration avec un bouton de rĂ©action ; lorsque l'utilisateur clique dessus, il reçoit automatiquement le rĂ´le vĂ©rifiĂ©.

8. Journalisation avancée avec Signale

  • Le bot utilise la bibliothèque Signale pour journaliser les Ă©vĂ©nements importants, comme :
    • Les erreurs lors de l'attribution ou suppression des rĂ´les.
    • Les tentatives Ă©chouĂ©es d'envoi de messages privĂ©s (par exemple, si les DMs sont dĂ©sactivĂ©s).
    • Les actions rĂ©ussies comme l'attribution du rĂ´le vĂ©rifiĂ© ou la suppression d'un rĂ´le.
  • Chaque action critique est enregistrĂ©e dans la console avec diffĂ©rents niveaux de gravitĂ© (info, warning, error).

9. Anti-crash et gestion des erreurs

  • Le bot est Ă©quipĂ© d'un système anti-crash pour capturer les erreurs non gĂ©rĂ©es et Ă©viter qu'il ne plante :
    • Gestion des exceptions non gĂ©rĂ©es (uncaughtException).
    • Gestion des promesses rejetĂ©es non gĂ©rĂ©es (unhandledRejection).
  • Cela garantit que le bot reste opĂ©rationnel mĂŞme en cas d'erreurs inattendues.

Prérequis

Configuration

  • Renommez votre fichier config-example.js en config.js.

  • Enregistrez votre site avec reCaptcha en utilisant le domaine que vous utilisez actuellement. Si vous exĂ©cutez le bot en local, mettez simplement "localhost" dans la zone de domaine. Choisissez reCAPTCHA v2 "Je ne suis pas un robot" pour le type de reCaptcha, et copiez la clĂ© secrète et la clĂ© publique dans le fichier config.js. Si vous utilisez HTTPS, activez-le dans la configuration et ajoutez vos fichiers de certificat et de clĂ© privĂ©e sous les noms : certificate.pem et private.pem.

  • Pour exĂ©cuter votre propre version sur Repl.it, crĂ©ez un nouveau projet et cliquez sur le bouton Importer depuis Github, puis copiez l'URL de ce dĂ©pĂ´t et collez-la sur le site Repl.it.

  • Voici Ă  quoi ressemble le fichier de configuration et les Ă©lĂ©ments requis pour que le bot fonctionne correctement :

// Renommez-le en config.js !
module.exports = {
  "server": {
    "domain": "server.example.com:00000", // Remplacez par votre domaine réel
    "https": false, // Activez-le si vous utilisez HTTPS
    "httpPort": 00000 // Remplacez par le port que vous souhaitez utiliser
  },
  "Discord": {
    "token": "", // Le token de votre bot Discord
    "botId": "", // L'ID du bot
    "guildId": "", // L'ID du serveur où les commandes seront déployées
    "verifiedRole": "", // Le rôle qui sera attribué à l'utilisateur une fois vérifié
    "discordinvite": "", // Lien d'invitation pour rejoindre le serveur Discord
    "removeRole": true, // Si défini à true, un rôle sera retiré après vérification
    "removeRoleId": "", // L'ID du rôle à retirer lors de la vérification
    "adminRoleId": "", // L'ID du rôle administrateur (si nécessaire)
    "statusType": 3, // Type de statut du bot (1: STREAMING, 2: LISTENING, 3: WATCHING, 5: COMPETING)
    "statusMsg": "", // Message de statut personnalisé affiché par le bot
    "status": "dnd", // Statut du bot (online, idle, dnd, invisible)
    "rulesEnabled": true, // Active l'affichage des règles si défini à true
    "rulestitle": "", // Titre des règles affichées dans un embed
    "rulescolor": "#0099ff", // Couleur de l'encadré des règles (en hexadécimal)
    "rules": "" // Texte des règles (utilisez \n pour les sauts de ligne)
  },
  "reCAPTCHA": {
    "secretKey": "", // Clé secrète reCAPTCHA obtenue via Google reCAPTCHA
    "publicKey": ""  // Clé publique reCAPTCHA utilisée pour afficher le widget sur le site
  }
}
  • Une fois que vous avez terminĂ© d'Ă©diter les fichiers et que vous ĂŞtes prĂŞt Ă  lancer votre bot, exĂ©cutez npm start dans le dossier du bot.

Problèmes

Je ne reçois pas de message privé lorsque je rejoins mon serveur

  • Si vous ne recevez pas de message privĂ© lorsque vous rejoignez votre serveur, allez sur le tableau de bord de votre bot Discord et activez les deux intentions (intents). Remarque : Si votre bot est sur plus de 100 serveurs, vous devrez vĂ©rifier votre bot.

Le bot échoue lors de la connexion

  • Vous devez aller sur le tableau de bord de votre bot Discord et activer les deux intentions (intents). Remarque : Si votre bot est sur plus de 100 serveurs, vous devrez vĂ©rifier votre bot.

About

🔑 Un robot de vérification Discord utilisant reCAPTCHA v2.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 70.1%
  • HTML 24.6%
  • SCSS 3.5%
  • CSS 1.8%