Khéops est un bot Discord communautaire, développé par et pour la communauté des Frères Poulain.
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
/pingpour vérifier la latence du bot
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 |
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.
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
- Python 3.11 ou plus récent
- PDM (gestionnaire de dépendances Python)
- Un token de bot Discord
-
Cloner le projet
git clone https://github.com/nicebots-xyz/Kheops.git cd Kheops -
Installer les dépendances
pdm install
-
Configurer le token
Créez un fichier
.envà la racine :BOTKIT__BOT__TOKEN=votre_token_discord_ici
-
Lancer le bot
pdm run start
Le bot possède deux configurations: une configuration publique et une configuration privée.
La configuration publique est effectuée dans le fichier config.yaml, à la racine du projet. Elle contient ***
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_tokenLe 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.
Pour configurer votre bot, vous aurez besoin d'un token Discord :
- Rendez-vous sur discord.com/developers/applications
- Créez une nouvelle application
- Allez dans l'onglet Bot et créez un bot
- Copiez le token et ajoutez-le dans votre fichier
.env
Caution
Ne partagez JAMAIS votre token ! C'est une information sensible.
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- Créez une branche pour votre fonctionnalité :
git checkout -b ma-fonctionnalite - Développez votre extension dans
src/extensions/ - Testez localement avec
pdm run start - Vérifiez le code avec
pdm run lint - Committez vos changements :
git commit -m "Description claire" - Poussez votre branche :
git push origin ma-fonctionnalite - Créez une Pull Request sur GitHub
Nous accueillons chaleureusement les contributions ! Que vous soyez débutant ou expérimenté, vous pouvez nous aider.
- Lisez le guide : Consultez CONTRIBUTING.md pour un guide détaillé
- Choisissez une tâche : Regardez les issues ouvertes
- Proposez une idée : Ouvrez une issue pour discuter de votre proposition
- Créez une extension : Développez une nouvelle fonctionnalité
- ✅ Nouvelles extensions dans
src/extensions/ - ✅ Améliorations des extensions existantes
- ✅ Corrections de bugs
- ✅ Amélioration de la documentation
- ✅ Traductions
- 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.
- Documentation Pycord : docs.pycord.dev
- Botkit Framework : github.com/nicebots-xyz/botkit
- Discord API : discord.com/developers/docs
- Python PDM : pdm-project.org
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.