love.forte.simple-robot:serialization-json-moshi

simple-robot是一个通用bot开发框架,以同一种灵活的标准来编写不同平台的bot应用。而simpler-robot便是simple-robot 2.x版本命名。

License

License

Categories

Categories

JSON Data Moshi Serialization Data Formats
GroupId

GroupId

love.forte.simple-robot
ArtifactId

ArtifactId

serialization-json-moshi
Last Version

Last Version

2.0.0-BETA.3
Release Date

Release Date

Type

Type

jar
Description

Description

simple-robot是一个通用bot开发框架,以同一种灵活的标准来编写不同平台的bot应用。而simpler-robot便是simple-robot 2.x版本命名。

Download serialization-json-moshi

How to add to project

<!-- https://jarcasting.com/artifacts/love.forte.simple-robot/serialization-json-moshi/ -->
<dependency>
    <groupId>love.forte.simple-robot</groupId>
    <artifactId>serialization-json-moshi</artifactId>
    <version>2.0.0-BETA.3</version>
</dependency>
// https://jarcasting.com/artifacts/love.forte.simple-robot/serialization-json-moshi/
implementation 'love.forte.simple-robot:serialization-json-moshi:2.0.0-BETA.3'
// https://jarcasting.com/artifacts/love.forte.simple-robot/serialization-json-moshi/
implementation ("love.forte.simple-robot:serialization-json-moshi:2.0.0-BETA.3")
'love.forte.simple-robot:serialization-json-moshi:jar:2.0.0-BETA.3'
<dependency org="love.forte.simple-robot" name="serialization-json-moshi" rev="2.0.0-BETA.3">
  <artifact name="serialization-json-moshi" type="jar" />
</dependency>
@Grapes(
@Grab(group='love.forte.simple-robot', module='serialization-json-moshi', version='2.0.0-BETA.3')
)
libraryDependencies += "love.forte.simple-robot" % "serialization-json-moshi" % "2.0.0-BETA.3"
[love.forte.simple-robot/serialization-json-moshi "2.0.0-BETA.3"]

Dependencies

compile (4)

Group / Artifact Type Version
love.forte.common : ioc jar 1.0.0-ALPHA.5
love.forte.simple-robot : serialization-json-core jar 2.0.0-BETA.3
com.squareup.moshi : moshi jar 1.11.0
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.21

Project Modules

There are no modules declared in this project.

- simpler-robot -

github    |    gitee
> 感谢 CatCode 开发团队成员制作的simbot logo <
> 走过路过,不要忘记点亮一颗喔~ <

简介

这是一个通用机器人开发框架,是simple-robot(下文简称simbot)的2.x版本。

simbot 是一个JVM平台的通用机器人开发框架,基于simbot核心API并对接开发不同平台的机器人应用,你可以使用相同的代码风格来开发不同平台的机器人。

simbot 在发展过程中,很多功能的使用灵感来自于springboot,例如基础依赖注入与注解监听,并且对于一些主要组件专门提供了springboot-starter模块以方便开发者快速整合springboot(当然,如果可以,我依旧更希望你使用原生simbot环境)。

simbot 提供了丰富的api接口与各种模块以支持机器人开发者与组件开发者使用,对于机器人开发者,你可以通过功能丰富的注解来实现各种较为复杂的事件匹配逻辑。对于组件开发者,你拥有很高的可选择性与灵活性来针对一个平台进行对接。

以及更多高级特性等待你的发现...

支持平台

目前支持的机器人平台:

计划中准备支持的平台:

  • QQ
    • onebot(QQ机器人通用协议)
  • TG
  • discord

文档

simpler-robot文档:https://www.yuque.com/simpler-robot/simpler-robot-doc

其他模块

simpler-robot所独立的公共模块项目:

simpler-robot所使用的特殊码CatCode:

极简示例

文档-快速开始:https://www.yuque.com/simpler-robot/simpler-robot-doc/qeyorq

监听消息

@Beans
public class TestListener {
  /** 发送一句“我收到了”,并再复读收到的所有消息 */
  @OnPrivate
  public void listen(PrivateMsg msg, MsgSender sender) {
    sender.SENDER.sendPrivateMsg(msg, "我收到了");
    sender.SENDER.sendPrivateMsg(msg, msg.getMsgContent());
  }
}

监听并筛选消息

@Beans
public class TestListener {
  /** 监听群里的 'hi! simbot' 消息并作出回应 */
  @OnGroup
  @Filter("hi! simbot")
  public void listenGroup(GroupMsg msg, MsgSender sender) {
    // 获取发消息的人的账号
    String accountCode = m.getAccountInfo().getAccountCode();
    // 准备at这个人的CatCode
    String at = CatCodeUtil.INSTANCE.getStringTemplate().at(accountCode);
    // 发送消息
    sender.SENDER.sendGroupMsg(m, at + " 我在哦");
  }
}

@Beans
public class TestListener {
  /** 通过依赖注入得到消息构建器工厂。 */  
  @Depend
  private MessageContentBuilderFactory builderFactory;
  
  /** 监听群里的 'hi! simbot' 消息并作出回应 */
  @OnGroup
  @Filter("hi! simbot")
  public void listenGroup(GroupMsg msg, MsgSender sender){
    // 获取发消息的人的账号
    String accountCode = msg.getAccountInfo().getAccountCode();
    // 获取消息构建器
    MessageContentBuilder builder = builderFactory.getMessageContentBuilder();
    // 构建消息实例
    MessageContent msgContent = builder.at(accountCode).text(" 我在哦").build();
    // 发送消息
    sender.SENDER.sendGroupMsg(msg, msgContent);
  }
}

协助我

  • 你可以通过 pr 为项目代码作出贡献。
  • 你可以通过 issue 提出一个建议或者反馈一个问题。
  • 你可以通过 讨论区 与其他人或者simbot开发团队相互友好交流。
  • 如果你通过此项目创建了一个很酷的项目,欢迎通过 issue讨论区QQ群寻找群主 等方式联系团队开发人员,并将你酷酷的项目展示在作品展示区。

捐助我

如果你喜欢这个项目,不妨试着 捐助 一下我们,十分感谢。

特别鸣谢

感谢 jetbrains 为团队提供的免费 IntelliJ IDEA 授权,也希望大家能够支持IDEA,支持正版。

Versions

Version
2.0.0-BETA.3
2.0.0-BETA.2
2.0.0-BETA.1
2.0.0-ALPHA.12
2.0.0-ALPHA.11
2.0.0-ALPHA.10
2.0.0-ALPHA.9
2.0.0-ALPHA.8
2.0.0-ALPHA.7
2.0.0-ALPHA.6
2.0.0-ALPHA.5
2.0.0-ALPHA.4
2.0.0-ALPHA.3
2.0.0-ALPHA.2