إطار التطوير السريع لروبوت QQ استنادًا إلى بروتوكول OneBot
التوثيق · التنزيل · البدء السريع · المساهمة
بدءًا من الإصدار
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 باستخدام بروتوكول OneBot-v11 القياسي وهو متوافق مع جميع عملاء بروتوكول OneBot الذين يدعمون WebSocket العكسي.
مشروع | يصف | ملاحظة |
---|---|---|
LLOneBot | اجعل NTQQ يدعم بروتوكول OneBot11 لتطوير الروبوت QQ | |
لاغرانج.الأساسية | تنفيذ بروتوكول NTQQ | |
go-cqhttp | تنفيذ OneBot Golang الأصلي استنادًا إلى Mirai وMiraiGo | توقف عن الصيانة |
افتح شامروك | تنفيذ إطار عمل الروبوت القياسي OneBot استنادًا إلى Xpose |
راجع المساهمة للحصول على التفاصيل. شكرًا لجميع الأشخاص الذين ساهموا بالفعل!
هذا المنتج مرخص بموجب ترخيص GNU General Public License الإصدار 3. تم نشر الترخيص بواسطة مؤسسة البرمجيات الحرة المنشورة على https://www.gnu.org/licenses/gpl-3.0.html.
وبدلاً من ذلك، تم ترخيص هذا المنتج بموجب ترخيص GNU Lesser General License الإصدار 3 للاستخدام غير التجاري. تم نشر الترخيص بواسطة مؤسسة البرمجيات الحرة على https://www.gnu.org/licenses/lgpl-3.0.html. .
لا تتردد في الاتصال بنا إذا كانت لديك أية أسئلة حول الترخيص أو إذا كنت ترغب في استخدام المكتبة في منتج تجاري مغلق المصدر.
تقدم JetBrains تراخيص مجانية لدعم المشاريع مفتوحة المصدر.