• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

coolq: 酷Q机器人服务端

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

coolq

开源软件地址:

https://gitee.com/zhangmrit/coolq

开源软件介绍:

Spring-CQ

基于 酷Q、cqhttp、SpringBoot、反向websocket 的 QQ 机器人框架

使用了开源jar https://github.com/lz1998/Spring-CQ

编写插件

  1. 编写XXXPlugin,继承CQPlugin

    /*** 示例插件* 插件必须继承CQPlugin,上面要 @Component** 添加事件:光标移动到类中,按 Ctrl+O 添加事件(讨论组消息、加群请求、加好友请求等)* 查看API参数类型:光标移动到方法括号中按Ctrl+P* 查看API说明:光标移动到方法括号中按Ctrl+Q*/@Componentpublic class DemoPlugin extends CQPlugin {   /**    * 收到私聊消息时会调用这个方法    *    * @param cq    机器人对象,用于调用API,例如发送私聊消息 sendPrivateMsg    * @param event 事件对象,用于获取消息内容、群号、发送者QQ等    * @return 是否继续调用下一个插件,IGNORE表示继续,BLOCK表示不继续    */   @Override   public int onPrivateMessage(CoolQ cq, CQPrivateMessageEvent event) {       // 获取 发送者QQ 和 消息内容       long userId = event.getUserId();       String msg = event.getMessage();       if (msg.equals("hi")) {           // 调用API发送hello           cq.sendPrivateMsg(userId, "hello", false);           // 不执行下一个插件           return MESSAGE_BLOCK;       }       // 继续执行下一个插件       return MESSAGE_IGNORE;   }   /**    * 收到群消息时会调用这个方法    *    * @param cq    机器人对象,用于调用API,例如发送群消息 sendGroupMsg    * @param event 事件对象,用于获取消息内容、群号、发送者QQ等    * @return 是否继续调用下一个插件,IGNORE表示继续,BLOCK表示不继续    */   @Override   public int onGroupMessage(CoolQ cq, CQGroupMessageEvent event) {       // 获取 消息内容 群号 发送者QQ       String msg = event.getMessage();       long groupId = event.getGroupId();       long userId = event.getUserId();       if (msg.equals("hello")) {           // 回复内容为 at发送者 + hi           String result = CQCode.at(userId) + "hi";           // 调用API发送消息           cq.sendGroupMsg(groupId, result, false);           // 不执行下一个插件           return MESSAGE_BLOCK;       }       // 继续执行下一个插件       return MESSAGE_IGNORE;   }}

    截图

  2. 创建一个CQConfig类

    @EnableCQpublic class Config {    public static void init(){        CQGlobal.pluginList.add(DemoPlugin.class);        // CQGlobal.pluginList.add(XXXXXXXX); // 如果还有别的功能,在这里add,模仿上面一行    }}
  3. 在主函数中,Spring启动前执行CQConfig.init()

    @SpringBootApplicationpublic class DemoApplication {    public static void main(String[] args) {        SpringApplication.run(DemoApplication.class, args);    }}

测试应用

  1. 修改application.properties的端口,默认8081
  2. 运行SpringCqApplication的main方法

打包应用

  1. 使用maven打包应用
    mvn clean package
  2. 在target目录下,spring-cq-0.0.1-SNAPSHOT.jar即为打包的jar

运行应用

  1. 输入指令
    java -jar spring-cq-0.0.1-SNAPSHOT.jar

如果是Windows,并且不需要查看运行情况,可以直接双击jar文件运行,右下角托盘会出现小图标

Windows运行酷Q和cqhttp

  1. 准备酷Q Air
    • 方案一:下载已经配置好cqhttp的酷Q Air
    • 方案二:自己配置
      1. 下载酷Q Air
      2. 下载CQHTTP插件
      3. 创建文件酷Q Air\data\app\io.github.richardchien.coolqhttpapi\config.ini
        [general]use_http=falseuse_ws_reverse=truews_reverse_url=ws://127.0.0.1:8081/ws/cq/ws_reverse_use_universal_client=trueenable_heartbeat=trueheartbeat_interval=60000
  2. 解压后运行 CQA.exe 登录QQ账号

Docker运行酷Q和cqhttp

  1. 安装酷Q和CQHTTP插件
    docker run -d --name cq01 \-v $(pwd)/coolq:/home/user/coolq \-p 9000:9000 \-e VNC_PASSWD=你的VNC密码(不超过8位) \-e COOLQ_URL=http://dlsec.cqp.me/cqa-tuling \-e COOLQ_ACCOUNT=你的机器人QQ号 \-e CQHTTP_USE_HTTP=false \-e CQHTTP_USE_WS_REVERSE=true \-e CQHTTP_WS_REVERSE_URL=ws://宿主机地址:8081/ws/cq/ \-e CQHTTP_WS_REVERSE_UNIVERSAL_CLIENT=true \-e CQHTTP_ENABLE_HEARTBEAT=true \-e CQHTTP_HEARTBEAT_INTERVAL=60000 \richardchien/cqhttp
    如果不知道宿主机地址是什么,可以使用Docker的host模式,共享主机网络
    docker run -d --name cq01 \-v $(pwd)/coolq:/home/user/coolq \--net=host \-e VNC_PASSWD=你的VNC密码(不超过8位) \-e COOLQ_URL=http://dlsec.cqp.me/cqa-tuling \-e COOLQ_ACCOUNT=你的机器人QQ号 \-e CQHTTP_USE_HTTP=false \-e CQHTTP_USE_WS_REVERSE=true \-e CQHTTP_WS_REVERSE_URL=ws://127.0.0.1:8081/ws/cq/ \-e CQHTTP_WS_REVERSE_UNIVERSAL_CLIENT=true \-e CQHTTP_ENABLE_HEARTBEAT=true \-e CQHTTP_HEARTBEAT_INTERVAL=60000 \richardchien/cqhttp
  2. 访问 http://127.0.0.1:9000 登录QQ账号

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap