Skip to content

一个基于CoolqSocketAPI二次开发的CoolqJavaBot

License

Notifications You must be signed in to change notification settings

wtdcode/CoolqJavaBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoolqJavaBot

简介

一个基于CoolqSocketAPI二次开发的CoolqJavaBot。

感谢@jqqqqqqqqqq给与了非常多的关键性指导(以及他的repo)。

因为Coolq没有现成的Java轮子,只能自己造了。

最近

  • 把Sender和Dispatcher全部放入Server,预计以后结构不会有太大变化了。
  • 过滤图片、表情、at信息完成。
  • repo改名,跟sdk还差得远呢(。

TODO

  • 为所有的ex.printStackTrace()加上应有的异常处理。
  • 把协议中剩余的Msg全部实现,并添加相应的deal接口。
  • 测试框架的稳定性。
  • 按照群组分发信息,构造一个GroupManager?

配置环境

其实Coolq部分主要是用CoolqSocketAPI转发消息,所以直接去找别人编译好的就好了(逃

在这里下载最新的CoolqSocketAPI后放到Coolq的插件目录,在Coolq插件里启动即可。

然后请在根目录下放置一个config.json文件用于环境配置,我已经提供了一个example供参考

{
    "database": { 
        "driver": "com.mysql.jdbc.Driver", 
        "url": "jdbc:mysql://127.0.0.1:3306/someSchema", 
        "username": "usr", 
        "password": "pwd" 
    },
    "target_port": 11235, 
    "server_port": 23333, 
    "admin": "12450" 
}

其中target_port是cqsocketapi监听端口,一般是11235,而server_port就是bot的端口,只要不冲突可以随意设置,admin是Bot管理的QQ号(未实现功能)。

一个简单的复读机

import cqjsdk.msg.*;
import cqjsdk.server.*;

public class Main {
    class FuDuJi extends CQJModule {
        public FuDuJi(){
            String[] strings ={"GroupMessage"};
            register(strings); // 这里注册监听的信息种类
        }
        protected Msg dealGroupMsg(RecvGroupMsg msg){
            String text = msg.getText();
            text = "(".concat(text).concat(")"); // 构造付读字符串
            SendGroupMsg smsg = new SendGroupMsg(msg.getGroup(), text);
            return Msg.SendandNext(smsg); // 表示发送并且不截断
        }
    }
    public void go(){
        FuDuJi f = new FuDuJi(); // 实例化Module
        Server c = Server.getServer(11235,23333); // 创建服务端
        c.start();
    }
    public static void main(String[] args){
        Main fdj = new Main();
        fdj.go();
    }
}

About

一个基于CoolqSocketAPI二次开发的CoolqJavaBot

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages