시로
v2.3.5
Onebot 프로토콜을 기반으로 한 QQ Robotic Rapid Development 프레임 워크
문서 · 다운로드 · 빠른 시작 · 기부금 참여
v2
버전에서JDK 17+
및SpringBoot 3.0.0+
만자세한 내용은 프로젝트 문서 v2 마이그레이션 안내서를 참조하십시오
의존성을 도입 할 때
latest
버전의Maven Central
버전으로 바꾸십시오.
< dependency >
< groupId >com.mikuac groupId >
< artifactId >shiro artifactId >
< version >latest version >
dependency >
implementation( " com.mikuac:shiro:latest " )
implementation ' com.mikuac:shiro:latest '
application.yaml
구성 파일을 작성하거나 고급 구성 파일을 참조하십시오.
server :
port : 5000
@ Shiro
@ Component
public class ExamplePlugin {
// 更多用法详见 @MessageHandlerFilter 注解源码
// 当机器人收到的私聊消息消息符合 cmd 值 "hi" 时,这个方法会被调用。
@ PrivateMessageHandler
@ MessageHandlerFilter ( cmd = "hi" )
public void fun1 ( Bot bot , PrivateMessageEvent event , Matcher matcher ) {
// 构建消息
String sendMsg = MsgUtils . builder (). face ( 66 ). text ( "Hello, this is shiro demo." ). build ();
// 发送私聊消息
bot . sendPrivateMsg ( event . getUserId (), sendMsg , false );
}
// 如果 at 参数设定为 AtEnum.NEED 则只有 at 了机器人的消息会被响应
@ GroupMessageHandler
@ MessageHandlerFilter ( at = AtEnum . NEED )
public void fun2 ( GroupMessageEvent event ) {
// 以注解方式调用可以根据自己的需要来为方法设定参数
// 例如群组消息可以传递 GroupMessageEvent, Bot, Matcher 多余的参数会被设定为 null
System . out . println ( event . getMessage ());
}
// 同时监听群组及私聊消息 并根据消息类型(私聊,群聊)回复
@ AnyMessageHandler
@ MessageHandlerFilter ( cmd = "say hello" )
public void fun3 ( Bot bot , AnyMessageEvent event ) {
bot . sendMsg ( event , "hello" , false );
}
}
plugin-list
정의 할 필요가 없습니다.resources/application.yaml
다음 내용을 추가합니다MESSAGE_BLOCK
목록은 순서대로 실행됩니다.
application.yaml
구성 파일을 작성하거나 고급 구성 파일을 참조하십시오.
server :
port : 5000
shiro :
plugin-list :
- com.example.bot.plugins.ExamplePlugin
@ Component
public class ExamplePlugin extends BotPlugin {
@ Override
public int onPrivateMessage ( Bot bot , PrivateMessageEvent event ) {
if ( "hi" . equals ( event . getMessage ())) {
// 构建消息
String sendMsg = MsgUtils . builder ()
. face ( 66 )
. text ( "hello, this is shiro example plugin." )
. build ();
// 发送私聊消息
bot . sendPrivateMsg ( event . getUserId (), sendMsg , false );
}
// 返回 MESSAGE_IGNORE 执行 plugin-list 下一个插件,返回 MESSAGE_BLOCK 则不执行下一个插件
return MESSAGE_IGNORE ;
}
@ Override
public int onGroupMessage ( Bot bot , GroupMessageEvent event ) {
if ( "hi" . equals ( event . getMessage ())) {
// 构建消息
String sendMsg = MsgUtils . builder ()
. at ( event . getUserId ())
. face ( 66 )
. text ( "hello, this is shiro example plugin." )
. build ();
// 发送群消息
bot . sendGroupMsg ( event . getGroupId (), sendMsg , false );
}
// 返回 MESSAGE_IGNORE 执行 plugin-list 下一个插件,返回 MESSAGE_BLOCK 则不执行下一个插件
return MESSAGE_IGNORE ;
}
}
Shiro
프로젝트 | 설명하다 | 주목 |
---|---|---|
llonebot | NTQQ를 QQ 로봇 개발 용 OneBot11 프로토콜로 만들 수 있습니다. | |
lagrange.core | NTQQ 프로토콜 구현 | |
go-cqhttp | Mirai와 Miraigo를 기반으로 한 Onebot Golang 기본 구현 | 유지 보수를 중단하십시오 |
OpenShamRock | xpessed를 기반으로 한 OneBot 표준을 기반으로 한 로봇 프레임 워크 |
자세한 내용은 이미 기여한 모든 사람들에게 감사를 표하십시오!
이 제품은 GNU 일반 공개 버전에 따라 라이센스가 있습니다.
또는이 제품은 https://www.gnu.org/licenses/lgpl-3.0.html에 출판 된 GNU Less General Public Life에 따라 비유됩니다
라이브 벤스에 대해 궁금한 점이 있거나 상업용 클로 시크 제품에서 라이브러리를 사용하고 싶다면 언제든지 우리를 동점하십시오.
JetBrains는 오픈 소스 프로젝트를 지원하는 무료 라이센스를 제공합니다.