zhamao-framework는 고성능 채팅 로봇 + 웹 서버 개발 프레임워크입니다.
개발자 QQ 그룹: 670821194 그룹 채팅에 참여하려면 클릭하세요.
프레임워크 자체를 개발하기 위해 함께 협력할 의향이 있는 개발자가 있다면, 개발에 참여할 수 있도록 PR이나 Issue를 제출해주세요! 프레임워크 자체의 핵심 설계에 대한 더 나은 아이디어가 있는 경우 작성자(현재 2명만)로 개발 팀을 구성하여 OneBot V12 생태계 및 프레임워크 자체 개발에 참여할 수 있습니다.
관련된 진행 중인 버전 작업은 프로젝트 열을 참조하세요!
Zhamao 프레임워크는 PHP로 작성되었으며 주로 API 서비스 및 채팅 로봇을 지향합니다. 여기에는 Websocket, HTTP 및 기타 모니터링 및 요청 라이브러리가 포함되어 있으며 사용자 코드가 모듈화되어 있으며 주석을 사용하여 다양한 기능을 쉽게 작성할 수 있습니다.
프레임워크의 주요 목적은 HTTP 서버와 로봇 구축 프레임워크입니다. 특히 챗봇 메시지 처리의 경우 더욱 편리하고 포괄적입니다. 다양한 대화 메커니즘과 내부 호출 메커니즘을 제공하며 다양한 방식으로 자신만의 플러그인을 설계할 수 있습니다.
#[BotCommand('Hello')]public function hello(BotContext $ctx) { $ctx->reply("안녕하세요, 저는 Zha Mao입니다!") // 간단한 명령형 응답} #[Route('/index')]public function index() { return "<h1>hello!</h1>" // 신속한 HTTP 서비스 개발}
프레임워크는 현재 Linux, WSL, macOS 및 Windows 환경에서 직접 작업을 지원합니다. Linux 및 macOS 환경의 경우 아래 원클릭 설치 스크립트를 직접 사용할 수 있습니다.
다른 환경에 설치 및 배포하려는 경우 Docker 빠른 배포를 사용하거나 환경을 수동으로 설치한 후 프레임워크를 설치할 수 있습니다. 자세한 내용은 설명서를 참조하세요.
# Linux, macOS는 다음을 클릭하여 PHP 환경을 감지하고 프레임워크를 설치합니다. bash <(curl -fsSL https://zhamao.xin/v3.sh)# 프레임워크 시작 cd zhamao-v3 ./zhamao 서버
원클릭 설치 스크립트를 사용하면 다음과 같은 매개변수를 사용자 정의할 수도 있습니다.
# 스크립트는 기본적으로 시스템의 PHP를 감지합니다. 감지를 건너뛰고 독립된 PHP 버전을 설치하려면 이 환경 변수를 추가하세요. import ZM_NO_LOCAL_PHP="yes" # 스크립트가 독립된 PHP 버전을 설치하는 경우 기본 버전입니다. 다른 버전을 사용하려면 이 환경 변수를 추가하여 버전을 지정하세요. import ZM_DOWN_PHP_VERSION="8.2"# 기본적으로 스크립트는 프레임워크의 'zhamao-app'을 현재 디렉터리에 저장합니다. 설치용 디렉터리입니다. 다른 디렉터리를 사용하려면 이 환경 변수를 추가하세요. import ZM_CUSTOM_DIR="my-custom-app"# 패키지스트를 사용하려는 경우 스크립트는 이 프로젝트에 대해 Alibaba Cloud 국내 가속 이미지를 사용합니다. 소스에 이 환경 변수를 추가하세요.export ZM_COMPOSER_PACKAGIST="yes"# 이전 환경 변수를 실행한 후 원클릭 설치 스크립트를 실행하면 사용자 정의 매개변수를 구현할 수 있습니다! 배쉬 <(curl -fsSL https://zhamao.xin/v3.sh)
대체 설치 방법에 대해서는 설명서를 참조하세요.
문서 보기(중국에서 자체 제작): https://framework.zhamao.xin/
대체 링크(외국 호스팅): https://framework.zhamao.me/
여러 로봇 클라이언트가 동시에 연결되도록 기본 지원
Annotation과 기본 속성 주석을 동시에 사용할 수 있는 유연한 주석 이벤트 바인딩 메커니즘
완전한 플러그인 시스템인 플러그인은 다른 사람이 사용할 수 있도록 작성 및 패키징되거나 배포될 수 있습니다.
플러그인 형식으로 작성되어 다른 Composer 구성 요소와 자유롭게 결합하거나 단일 파일로 작성하여 처리할 수 있습니다.
모듈 패키징 및 핫 로딩을 지원하여 모듈 공유가 더욱 편리해졌습니다.
메모리에 상주하여 전역 캐시 변수를 어디서나 사용할 수 있어 다양한 캐싱 솔루션 제공
MySQL, SQLite, Redis 및 기타 데이터베이스 연결 풀과 함께 제공
HTTP 서버이자 WebSocket 서버이며, 자신만의 HTTP API 인터페이스를 구축할 수 있습니다.
crazywhalecc/static-php-cli를 통해 수동으로 컴파일하고 설치할 필요가 없는 선택적 내장 PHP 환경
사용 중 문제가 발견되면 이슈를 제출하거나 직접 Fork하고 수정한 후 Pull Request를 제출할 수 있습니다.
현재 이 프로젝트는 단 두 사람에 의해 유지 관리되고 있어 많은 에너지를 소비하므로 프레임워크에 대한 기여를 매우 환영합니다.
이 프로젝트는 작성자의 여가 시간에 개발되었습니다. 유용하다고 생각되면 기부해 주시면 플러그인을 개선하는 데 더 많은 동기를 부여할 수 있습니다.
우리는 기부된 자금을 Explosive Bot의 서버 비용과 이 프로젝트에서 추진되는 프레임워크 문서화에 사용할 것입니다. 기부 목록
프레임워크 개발에 직접 참여하고 싶지 않다면, 프레임워크 생태계 개선에 도움이 되도록 작성한 모듈을 공유할 수도 있습니다.
프레임워크와 SDK는 Explosive Robot 프로젝트의 핵심 프레임워크 오픈 소스 부분입니다. 폭발로봇은 저자가 직접 만든 고성능 로봇으로 전국 컴퓨터 디자인 공모전에서 1등을 차지한 작품이다.
저자의 폭발성 로봇은 2018년 초부터 5년 동안 안정적으로 작동하며 계속 반복되고 있다.
문제를 제출하거나 문제 해결을 위해 그룹(670821194)에 가입할 수 있습니다.
본 프로젝트의 콘텐츠를 업데이트할 때는 적시에 GitHub 업데이트에 주의하시기 바랍니다. 업데이트하기 전에 플러그인이나 프로젝트 코드를 백업하시기 바랍니다.
프로젝트 프레임워크는 Apache-2.0 프로토콜을 사용하는 오픈 소스이므로 배포하거나 다시 작성하고 수정하는 경우 해당 프로토콜을 따라야 합니다. 프로젝트 플러그인 부분( src/Globals
및 src/ZM
폴더 이외의 폴더)은 프레임워크 내에서 코드를 참조하지 않는 경우 Apache-2.0 프로토콜(저작권 선언)을 따르지 않고 배포 및 수정이 가능합니다.
참고 : mirai와 같은 AGPL-3.0
프로토콜 로봇 소프트웨어를 사용하여 프레임워크에 연결할 때 이 프레임워크를 사용하려면 AGPL-3.0
프로토콜을 사용하여 작성하거나 수정한 부분을 재배포해야 합니다.
코드를 제공할 때 전역 구성 파일의 민감한 정보를 안전하게 유지하고 개인 정보가 포함된 구성 파일을 GitHub와 같은 웹사이트에 업로드하지 마세요.
이 오픈 소스 프로젝트에 PhpStorm 개발 도구 지원을 제공한 JetBrains에게 감사드립니다.
프로젝트 개발 표준화를 위한 몇 가지 제안을 주신 개발자 @sunxyw에게 감사드립니다.