zhamao-framework est un robot de chat hautes performances + un framework de développement de serveur Web
Groupe de développeurs QQ : 670821194 Cliquez pour rejoindre le chat de groupe
S'il y a des développeurs qui sont prêts à travailler ensemble pour développer le framework lui-même, veuillez soumettre un PR ou un problème pour participer au développement ! Si vous avez de meilleures idées sur la conception de base du framework lui-même, vous pouvez constituer une équipe de développement avec l'auteur (actuellement seulement 2 personnes) pour participer au développement de l'écosystème OneBot V12 et du framework lui-même.
Consultez la colonne Projets pour les tâches de version en cours associées !
Le framework Zhamao est écrit en PHP et est principalement orienté vers les services API et les robots de chat. Il comprend Websocket, HTTP et d'autres bibliothèques de surveillance et de requêtes. Le code utilisateur est modularisé et diverses fonctions peuvent être facilement écrites à l'aide d'annotations.
L'objectif principal du framework est le framework de serveur HTTP et de création de robots. Surtout pour le traitement des messages du chatbot, il est plus pratique et complet. Il fournit de nombreux mécanismes de conversation et mécanismes d'appel internes, et vous pouvez concevoir vos propres plug-ins de différentes manières.
#[BotCommand('Bonjour')]public function hello(BotContext $ctx) { $ctx->reply("Bonjour, je m'appelle Zha Mao !"); // Réponse impérative simple}; #[Route('/index')]public function index() { return "<h1>bonjour !</h1>" ; // Développement rapide du service HTTP};
Le framework prend actuellement en charge le fonctionnement direct dans les environnements Linux, WSL, macOS et Windows. Pour les environnements Linux et macOS, vous pouvez directement utiliser le script d'installation en un clic ci-dessous.
Si vous souhaitez installer et déployer dans d'autres environnements, vous pouvez utiliser le déploiement rapide Docker ou installer manuellement l'environnement, puis installer le framework. Consultez la documentation pour plus de détails.
# Linux, macOS cliquez ensuite pour détecter l'environnement PHP et installer le framework bash <(curl -fsSL https://zhamao.xin/v3.sh)# Démarrer le framework cd zhamao-v3 ./serveur zhamao
Le script d'installation en un clic vous permet également de personnaliser des paramètres, tels que :
# Le script détectera le PHP du système par défaut. Si vous souhaitez ignorer la détection directement et installer une version indépendante de PHP, ajoutez cette variable d'environnement export ZM_NO_LOCAL_PHP="yes" # Si le script installe une version indépendante de PHP, la version par défaut. est 8.1. Si vous souhaitez utiliser une autre version, ajoutez cette variable d'environnement pour spécifier la version export ZM_DOWN_PHP_VERSION="8.2"# Par défaut, le script stockera le `zhamao-app` du framework dans le répertoire courant. Répertoire pour l'installation. Si vous souhaitez utiliser un autre répertoire, ajoutez cette variable d'environnement export ZM_CUSTOM_DIR="my-custom-app"# Le script utilisera par défaut l'image d'accélération nationale d'Alibaba Cloud pour ce projet si vous souhaitez utiliser le packagegist. source, ajoutez cette variable d'environnement export ZM_COMPOSER_PACKAGIST="yes"# Après avoir exécuté les variables d'environnement précédentes puis exécuté le script d'installation en un clic, vous pouvez implémenter des paramètres personnalisés ! bash <(curl -fsSL https://zhamao.xin/v3.sh)
Consultez la documentation pour connaître les méthodes d'installation alternatives.
Voir le document (auto-construit en Chine) : https://framework.zhamao.xin/
Lien alternatif (hébergement étranger) : https://framework.zhamao.me/
Prise en charge native de plusieurs clients robots pour se connecter simultanément
Mécanisme de liaison d'événements d'annotation flexible, qui peut utiliser simultanément les annotations d'annotation et d'attribut natif.
Système de plug-ins complet, les plug-ins peuvent être écrits et emballés ou distribués pour être utilisés par d'autres.
Écrit dans un format de plug-in, il peut être librement combiné avec d'autres composants Composer, ou peut être écrit dans un seul fichier pour le traitement.
Prend en charge le conditionnement des modules et le chargement à chaud, ce qui rend le partage de modules plus pratique
Résidentes en mémoire, les variables de cache globales peuvent être utilisées partout, offrant ainsi une variété de solutions de mise en cache
Livré avec MySQL, SQLite, Redis et d'autres pools de connexions de bases de données
Il s'agit d'un serveur HTTP et d'un serveur WebSocket, et vous pouvez créer votre propre interface API HTTP.
Environnement PHP intégré en option, pas besoin de compiler et d'installer manuellement, par crazywhalecc/static-php-cli
Si vous rencontrez des problèmes lors de l'utilisation, vous pouvez soumettre un problème ou le créer vous-même, le modifier et soumettre une Pull Request.
Actuellement, le projet est entretenu par seulement deux personnes, ce qui consomme beaucoup d'énergie, les contributions au cadre sont donc les bienvenues.
Ce projet a été développé pendant le temps libre de l'auteur. Si vous le trouvez utile, vous souhaiterez peut-être faire un don. Votre don me donnera plus de motivation pour améliorer le plug-in.
Nous utiliserons les fonds donnés pour les dépenses du serveur du Explosive Bot et de la documentation du cadre piloté par ce projet. Liste de dons
Si vous ne souhaitez pas participer directement au développement du framework, vous pouvez également partager les modules que vous avez écrits pour contribuer à améliorer l'écosystème du framework.
Le framework et le SDK sont les parties open source du framework de base du projet Explosive Robot. The Explosive Robot est un robot haute performance écrit par l'auteur, qui a remporté le premier prix du National Computer Design Competition.
Le robot explosif de l'auteur fonctionne de manière stable depuis cinq ans depuis début 2018 et continue d'itérer.
Vous pouvez soumettre un problème ou rejoindre le groupe (670821194) pour le dépannage.
Lors de la mise à jour du contenu de ce projet, veuillez prêter attention aux mises à jour de GitHub en temps opportun. Veuillez sauvegarder vos plug-ins ou codes de projet avant la mise à jour.
Le cadre du projet est open source utilisant le protocole Apache-2.0, et le protocole doit être suivi lors de sa distribution ou de sa réécriture et de sa modification. La partie plug-in du projet (dossiers autres que src/Globals
et src/ZM
) peut être distribuée et modifiée sans respecter le protocole Apache-2.0 (déclaration de copyright) lorsqu'elle ne référence pas de code dans le framework.
Remarque : Lorsque vous utilisez un logiciel robot au protocole AGPL-3.0
tel que mirai pour vous connecter au framework, l'utilisation de ce framework vous oblige à redistribuer les parties que vous avez écrites ou modifiées à l'aide AGPL-3.0
.
Lorsque vous contribuez au code, veuillez conserver les informations sensibles de votre fichier de configuration globale en sécurité et ne téléchargez pas de fichiers de configuration contenant des informations personnelles sur des sites Web tels que GitHub.
Merci à JetBrains d'avoir fourni le support de l'outil de développement PhpStorm pour ce projet open source :
Merci au développeur @sunxyw pour quelques suggestions visant à normaliser le développement de projets.