当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 3 Fork 0

法欧特斯卡雷特 / CQ-LEMOC-FOR-JAVA
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 6.46 KB
一键复制 编辑 原始数据 按行查看 历史
ForteScarlet 提交于 2020-02-27 20:29 . 更新文档

基于simple-robot与LEMOC插件的Java开发框架

img

如果需要获得更好的阅读体验,请前往 原文档 -> 组件-酷Q-LEMOC -> 快速开始 处阅读 或尝试直接进入快速开始

点击项目右上角的star展示完整文档

快速开始



一、安装

1. 下载并安装 酷Q

前往酷Q官方下载地址下载酷Q应用,并安装(启动一次),然后关闭。


2. 下载并安装 LEMOC插件

①. 前往LEMOC的 社区帖子 下载最新版本。 ②. 将下载好的.cpk格式文件移动至酷Q根目录下的/app文件夹下。 ③. 启动一次酷Q程序,右键酷Q标志,选择:应用 > 应用管理,如图所示: 然后将会出现应用管理界面,选择LEMOC插件并选择启用,如图所示:

[success] LEMOC的配置界面很简单(但是有可能会因为兼容性等BUG导致显示不全):

3. 创建Java项目

你可以使用一切支持的方式来自动构建项目,以下将会举几个例子:

[info] 版本号请自行替换为 Maven仓库中的最新版本:

①. Maven

<dependency>
  <groupId>io.github.ForteScarlet.simple-robot-core</groupId>
  <artifactId>component-forlemoc</artifactId>
  <version>${version}</version>
</dependency>

②. Gradle

implementation 'io.github.ForteScarlet.simple-robot-core:component-forlemoc:${version}'

③. Grape

@Grapes(
  @Grab(group='io.github.ForteScarlet.simple-robot-core', module='component-forlemoc', version='${version}')
)

4. 配置

有两个地方需要你进行配置:

  • 酷Q的LEMOC
  • 你需要启动的Java程序

从Java的配置开始吧。

[warning] 由于目前文件配置尚比较繁琐,便暂时先只介绍代码配置的方式。如果对目前的较为繁琐的文件配置有兴趣,请在了解代码配置的情况下查看 文件配置方式

首先,创建一个类,实现com.forte.qqrobot.component.forlemoc.LemocApp接口,并实现接口中的beforeafter方法。

[info] 现在假定你这个类叫做 RunApp , 方便后续的代称。当然,它实际上叫做什么都无所谓。

可以发现,before方法中存在一个叫做LinkConfiguration的参数,我们就要通过这个参数对象进行配置。 这个LinkConfiguration中比较核心的几项配置内容为:

// 获取连接用的IP地址,即Lemoc所在的IP地址,默认为localhost 
setLinkIp(String linkIp);
// 连接端口号,默认为25303 
setPort(Integer port);
// 设置机器人的QQ号
setLocalQQCode(String qqcode);
// 设置机器人的昵称
setLocalQQNick(String nick);

[success] 一共只有这么几个配置项,再回去看看LEMOC的配置界面,你大概已经知道了该如何对应了吧~

是的,只要使设置的连接端口号与LEMOC的设置相同,再填上LEMOC所在的IP地址即可。

5. 运行

历尽千辛万苦,终于到了这一步。 首先,在LEMOC插件处配置好你的配置信息。 然后,新建一个main方法在任意地方。 写下以下代码,并且别忘了那个RunApp实际上代表了什么:

LemocApplication application = new LemocApplication();
// 启动
application.run(new RunApp());

[success] 如果这时候控制台有提示"连接成功"且没有报错等信息,则说明ws连接成功了。LEMOC组件框架暂时不支持自动获取机器人的信息,所以需要使用者在配置LinkConfiguration的时候手动配置。

那么能不能监听到消息呢?写一些代码来测试一下吧。

6. 第一个监听器

①. 新建一个类

[info] 尽量在RunApp的同级目录或者子级目录下创建。 创建好之后,在这个类上标注一个注解:@com.forte.qqrobot.anno.depend.Beans, 即@Beans

②. 写一个监听私信的方法

我们写一个监听私信消息满足正则:hello.*的私信消息监听函数,且当我们收到消息后,复读。 完整代码如下:

@Beans
public class TestListener {

    @Listen(MsgGetTypes.privateMsg)
    @Filter("hello.*")
    public void testListen1(PrivateMsg msg, MsgSender sender) {
        System.out.println(msg);
        // 以下三种方法均可
效果相同
        sender.SENDER.sendPrivateMsg(msg, msg.getMsg());
//        sender.SENDER.sendPrivateMsg(msg.getQQ(), msg.getMsg());
//        sender.SENDER.sendPrivateMsg(msg.getQQCode(), msg.getMsg());
    }
}

③. 在来一次

这次我们再启动一次,如果发现启动日志中成功加载了这个监听函数,那就试着给你的机器人发送一句hello world吧。 如果它也回复了你一句hello world,那么说明至此你已经成功了,探索文档所提供的众多功能并实现你的机器人吧~

7. 失败了?

如果跟着上述流程完整无误的操作却无法成功,也不要气馁,尝试根据常见问题汇总进行排查或者加入QQ群782930037进行咨询。

1
https://gitee.com/ForteScarlet/CQ-LEMOC-FOR-JAVA.git
git@gitee.com:ForteScarlet/CQ-LEMOC-FOR-JAVA.git
ForteScarlet
CQ-LEMOC-FOR-JAVA
CQ-LEMOC-FOR-JAVA
master

搜索帮助