Skip to content
generated from nicebots-xyz/botkit

Bot Khéops pour Les Frères Poulain

License

Notifications You must be signed in to change notification settings

nicebots-xyz/Kheops

Khéops - Bot Communautaire Les Frères Poulain

License: MIT Python 3.11+ Pycord

Khéops est un bot Discord communautaire, développé par et pour la communauté des Frères Poulain.

Table des matières

Fonctionnalités

Khéops offre actuellement les fonctionnalités suivantes :

  • Message de bienvenue : Accueil automatique des nouveaux membres avec un message de bienvenue
  • Notification AFK : Système de détection et de gestion des membres AFK dans les salons vocaux
  • Commandes utilitaires : Commandes de base comme /ping pour vérifier la latence du bot

Extensions disponibles

Les fonctionnalités sont organisées en extensions modulaires dans src/extensions/ :

Extension Description Documentation
welcome Messages de bienvenue README
afk_notification Notifications et déconnexion automatique des membres AFK README
ping Commande de test de latence README

Fonctionnement

Khéops est basé sur botkit, un framework open-source pour créer des bots Discord. Il utilise la librairie py-cord pour interagir avec l'API Discord.

Architecture

Le bot est organisé de manière modulaire :

  • Extensions : Chaque fonctionnalité est une extension indépendante dans src/extensions/
  • Configuration : Système flexible avec fichiers YAML et variables d'environnement
  • Internationalisation : Support multilingue via les fichiers de traduction

Installation rapide

Prérequis

  • Python 3.11 ou plus récent
  • PDM (gestionnaire de dépendances Python)
  • Un token de bot Discord

Installation en 3 étapes

  1. Cloner le projet

    git clone https://github.com/nicebots-xyz/Kheops.git
    cd Kheops
  2. Installer les dépendances

    pdm install
  3. Configurer le token

    Créez un fichier .env à la racine :

    BOTKIT__BOT__TOKEN=votre_token_discord_ici
  4. Lancer le bot

    pdm run start

Configuration

Le bot possède deux configurations: une configuration publique et une configuration privée.

Configuration publique

La configuration publique est effectuée dans le fichier config.yaml, à la racine du projet. Elle contient ***

Configuration privée

La configuration privée est effectuée dans le fichier .env, à la racine du projet, ou à travers les variables d'environnement. Elle permet de ne pas partager les informations sensibles (token Discord, etc.).

Son fonctionnement est le suivant:

  • le préfixe BOTKIT__ est utilisé pour les variables d'environnement
  • chaque __ sépare les clés de valeurs
  • les valeurs sont séparées par = (égal)
  • toutes les clés sont en majuscules

Par exemple, la configuration yaml suivante:

bot:
  token: "my_secret_token"

peut être définie dans le fichier .env comme suit:

BOTKIT__BOT__TOKEN=my_secret_token

Le fichier .env est prioritaire sur le fichier config.yaml. Cela signifie que si une même clé est définie dans les deux fichiers, la valeur du fichier .env sera utilisée.

Pour plus de détails sur la configuration de chaque extension, consultez leur documentation respective dans le tableau des extensions disponibles.

Obtenir un token Discord

Pour configurer votre bot, vous aurez besoin d'un token Discord :

  1. Rendez-vous sur discord.com/developers/applications
  2. Créez une nouvelle application
  3. Allez dans l'onglet Bot et créez un bot
  4. Copiez le token et ajoutez-le dans votre fichier .env

Caution

Ne partagez JAMAIS votre token ! C'est une information sensible.

Développement

Commandes de développement

Nous utilisons Ruff pour linter et formater le code.

# Vérifier le style du code
pdm run lint

# Formater automatiquement le code
pdm run format

# Lancer le bot en mode développement
pdm run start

Workflow de développement

  1. Créez une branche pour votre fonctionnalité : git checkout -b ma-fonctionnalite
  2. Développez votre extension dans src/extensions/
  3. Testez localement avec pdm run start
  4. Vérifiez le code avec pdm run lint
  5. Committez vos changements : git commit -m "Description claire"
  6. Poussez votre branche : git push origin ma-fonctionnalite
  7. Créez une Pull Request sur GitHub

Contribution

Nous accueillons chaleureusement les contributions ! Que vous soyez débutant ou expérimenté, vous pouvez nous aider.

Comment contribuer ?

  1. Lisez le guide : Consultez CONTRIBUTING.md pour un guide détaillé
  2. Choisissez une tâche : Regardez les issues ouvertes
  3. Proposez une idée : Ouvrez une issue pour discuter de votre proposition
  4. Créez une extension : Développez une nouvelle fonctionnalité

Types de contributions acceptées

  • ✅ Nouvelles extensions dans src/extensions/
  • ✅ Améliorations des extensions existantes
  • ✅ Corrections de bugs
  • ✅ Amélioration de la documentation
  • ✅ Traductions

Règles importantes

  • Compréhension du code : Vous devez comprendre le code que vous soumettez
  • Contributions AI : Les contributions entièrement générées par IA peuvent être rejetées
  • Ouverture : Soyez prêt à recevoir des retours et des demandes de modification
  • Documentation : Consultez docs.pycord.dev pour apprendre Pycord

Pour plus de détails, consultez notre guide de contribution.

Ressources utiles

License

Khéops est sous licence MIT. Les crédits sont disponibles dans le fichier pyproject.toml. Plus d'informations sur la licence sont disponibles dans le fichier LICENSE.

About

Bot Khéops pour Les Frères Poulain

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 9

Languages