Skip to content

Benitoow/CoC

🏰 Bot Discord pour Clash of Clans

Clash of Clans Logo

Un bot Discord puissant pour suivre votre clan Clash of Clans, les guerres et les événements

FonctionnalitésInstallationConfigurationHébergementContributionLicence

✨ Fonctionnalités

Informations Clash of Clans

  • !clan - Affiche les informations détaillées du clan
  • !membres - Affiche la liste des membres du clan avec leur rôle et niveau
  • !guerre - Affiche les informations sur la guerre de clan en cours
  • !joueur [tag] - Affiche les informations d'un joueur spécifique
  • !jeux - Affiche les informations sur les Jeux de Clan
  • !capitale - Affiche les infos sur la Capitale du Clan
  • !logguerre [nombre] - Historique des guerres récentes
  • !ligue - Infos sur la Ligue des Guerres de Clans en cours

Slash Commands (V4 en cours)

  • /clan - Affiche les informations du clan (nouveau !)
  • /membres - Affiche la liste des membres du clan (nouveau !)
  • /guerre - Affiche les informations sur la guerre de clan en cours ou la dernière terminée (nouveau !)
  • /joueur - Affiche les informations d'un joueur Clash of Clans (nouveau !)
  • /capitale - Infos sur la Capitale du Clan (nouveau !)
  • /jeux - Infos sur les Jeux de Clan (nouveau !)
  • /logguerre - Historique des guerres récentes (nouveau !)
  • /ligue - Infos sur la Ligue des Guerres de Clans en cours (nouveau !)
  • /clear - Supprime un certain nombre de messages (modération, nouveau !)
  • /config - Configure les canaux pour les rappels et notifications de guerre (admin, nouveau !)
  • /ping - Test de réactivité du bot
  • /guerre reserve - Réserver une cible en guerre (nouveau !)
  • /guerre annulerreserve - Annuler sa réservation de cible (nouveau !)
  • /guerre plan - Voir le plan de réservations de la guerre (nouveau !)
  • /guerre reset - Réinitialiser toutes les réservations (admin, nouveau !)

Système de rappels et notifications

  • !config rappels #canal - Configure le canal pour les rappels d'événements
  • !config guerre #canal - Configure le canal pour les notifications de guerre

Utilitaires Discord

  • !clear [nombre] - Supprime un certain nombre de messages (réservé aux modérateurs)
  • !aide - Affiche la liste des commandes disponibles

🚀 Installation

Prérequis

  • Node.js v16.6.0 ou supérieur
  • Un compte Discord et les droits pour ajouter un bot
  • Un compte développeur Clash of Clans

Installation locale

  1. Clonez ce dépôt

    git clone https://github.com/Benitoow/CoC.git
    cd coc-discord-bot
  2. Installez les dépendances

    npm install
  3. Créez un fichier .env à la racine du projet avec les variables suivantes :

    DISCORD_TOKEN=votre_token_discord
    COC_API_TOKEN=votre_token_clash_of_clans
    CLAN_TAG=votre_tag_de_clan (ex: #2YGG09QYY)
    
  4. Lancez le bot

    node index.js

⚙️ Configuration

Obtenir les tokens nécessaires

Discord Token

  1. Allez sur Discord Developer Portal
  2. Créez une nouvelle application
  3. Allez dans l'onglet "Bot" et créez un bot
  4. Activez les "Privileged Gateway Intents" (notamment MESSAGE CONTENT INTENT)
  5. Copiez le token et ajoutez-le dans votre fichier .env

Clash of Clans API Token

  1. Allez sur Clash of Clans API
  2. Créez un compte et un nouveau token
  3. Important: Ajoutez l'adresse IP de votre serveur à la liste des IPs autorisées
  4. Copiez le token et ajoutez-le dans votre fichier .env

Ajouter le bot à votre serveur

  1. Dans le Developer Portal, allez dans l'onglet "OAuth2" > "URL Generator"
  2. Sélectionnez les scopes suivants:
    • bot
    • applications.commands
  3. Sélectionnez les permissions bot suivantes:
    • Envoyer des messages
    • Intégrer des liens
    • Joindre des fichiers
    • Utiliser des emojis externes
    • Ajouter des réactions
    • Gérer les messages (pour la commande !clear)
  4. Copiez l'URL générée et ouvrez-la dans votre navigateur
  5. Sélectionnez votre serveur Discord et autorisez le bot

🌐 Hébergement

Hébergement sur Render.com

  1. Créez un compte sur Render.com
  2. Connectez votre dépôt GitHub
  3. Créez un nouveau Web Service avec les paramètres suivants:
    • Runtime: Node
    • Build Command: npm install
    • Start Command: node index.js
    • Plan: Free (ou autre selon vos besoins)
  4. Ajoutez vos variables d'environnement (DISCORD_TOKEN, COC_API_TOKEN, CLAN_TAG)

Solution pour l'API Clash of Clans et les IPs de Render

Comme Render utilise des IPs dynamiques, vous avez deux options:

  1. Option sécurisée: Utiliser un Render Static IP (option payante)
  2. Option alternative: Ajouter 0.0.0.0/0 dans les IPs autorisées de votre compte développeur CoC (à utiliser avec précaution, car elle autorise toutes les IPs)

📊 Fonctionnalités avancées

Système de rappels pour les événements

Le bot peut automatiquement envoyer des rappels pour les événements importants de Clash of Clans:

  • Jeux de Clan (du 22 au 28 de chaque mois)
  • Ligue des Guerres de Clan (du 1er au 10 de chaque mois)
  • Raids de Clan (chaque week-end)

Notifications de guerre en temps réel

Le bot surveille l'état des guerres de clan et envoie des notifications automatiques:

  • Annonce lorsqu'une nouvelle guerre commence
  • Notification au début du jour de guerre
  • Rappels lorsqu'il reste des attaques à effectuer
  • Résultats détaillés à la fin de la guerre

🚀 Nouveautés v3.6.0

  • Ajout de la commande !ligue pour la Ligue des Guerres de Clans
  • Compatibilité Discord.js v14 et Node 16+
  • Corrections de bugs et stabilité accrue
  • Commandes et notifications enrichies

🚀 Nouveautés v4.0 (en cours)

  • Planification des attaques de guerre : /guerre reserve, /guerre plan
  • Notifications automatiques lors des réservations/annulations de cibles
  • Visualisation avancée des réservations (embed)
  • Commande /guerre reset pour les admins
  • Système de synchronisation des rôles Discord basé sur les rangs Clash of Clans
  • Commande /roles pour configurer, activer/désactiver et gérer la synchronisation automatique des rôles

📝 Changelog V4

  • 2025-05-01 : Démarrage de la V4, structure slash commands, /ping, /clan, gestion des interactions.

👥 Contribution

Les contributions sont les bienvenues ! Si vous souhaitez améliorer ce bot, suivez ces étapes:

  1. Forkez le projet
  2. Créez une branche pour votre fonctionnalité (git checkout -b feature/amazing-feature)
  3. Commitez vos changements (git commit -m 'Add some amazing feature')
  4. Poussez vers la branche (git push origin feature/amazing-feature)
  5. Ouvrez une Pull Request

Guide de style

  • Suivez les conventions de nommage camelCase pour les variables et fonctions
  • Commentez votre code, surtout pour les fonctionnalités complexes
  • Testez vos fonctionnalités avant de soumettre une PR

📜 Licence

Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

🙏 Remerciements


Créé avec ❤️ pour la communauté Clash of Clans

© 2025 Benitoow. Tous droits réservés.

Ce projet n'est pas affilié à Supercell. Clash of Clans est une marque déposée de Supercell.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published