Cadre de développement rapide du robot QQ basé sur le protocole OneBot
Documentation · Télécharger · Démarrage rapide · Contribuer
À partir de la version
v2
seulsJDK 17+
etSpringBoot 3.0.0+
sont pris en charge.Consultez le guide de migration de la documentation du projet v2 pour plus de détails.
Lors de l'introduction de dépendances, veuillez remplacer la version
latest
par la dernière version deMaven Central
< dependency >
< groupId >com.mikuac</ groupId >
< artifactId >shiro</ artifactId >
< version >latest</ version >
</ dependency >
implementation( " com.mikuac:shiro:latest " )
implementation ' com.mikuac:shiro:latest '
Écrivez le fichier de configuration
application.yaml
ou référez-vous au fichier de configuration avancée
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
les plug-ins suivants ne seront pas exécutés.Écrivez le fichier de configuration
application.yaml
ou référez-vous au fichier de configuration avancée
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 est développé à l'aide du protocole standard OneBot-v11 et est compatible avec tous les clients du protocole OneBot prenant en charge le WebSocket inversé.
projet | décrire | Remarque |
---|---|---|
LLOneBot | Faites en sorte que votre NTQQ prenne en charge le protocole OneBot11 pour le développement de robots QQ | |
Lagrange.Core | Implémentation du protocole NTQQ | |
aller-cqhttp | Implémentation native de OneBot Golang basée sur Mirai et MiraiGo | Arrêter la maintenance |
OuvertShamrock | Implémenter le framework robot standard OneBot basé sur Xposed |
Voir Contribuer pour plus de détails. Merci à toutes les personnes qui ont déjà contribué !
Ce produit est sous licence GNU General Public License version 3. La licence est telle que publiée par la Free Software Foundation publiée sur https://www.gnu.org/licenses/gpl-3.0.html.
Alternativement, ce produit est sous licence GNU Lesser General Public License version 3 pour une utilisation non commerciale. La licence est telle que publiée par la Free Software Foundation publiée sur https://www.gnu.org/licenses/lgpl-3.0.html. .
N'hésitez pas à nous contacter si vous avez des questions sur les licences ou si vous souhaitez utiliser la bibliothèque dans un produit commercial fermé.
JetBrains propose des licences gratuites pour prendre en charge les projets open source.