An open API service indexing awesome lists of open source software.

https://github.com/wtdcode/coolqjavabot

一个基于CoolqSocketAPI二次开发的CoolqJavaBot
https://github.com/wtdcode/coolqjavabot

coolq java

Last synced: 3 months ago
JSON representation

一个基于CoolqSocketAPI二次开发的CoolqJavaBot

Awesome Lists containing this project

README

        

# CoolqJavaBot

## 简介

一个基于[CoolqSocketAPI](https://github.com/yukixz/cqsocketapi)二次开发的CoolqJavaBot。

感谢@[jqqqqqqqqqq](https://github.com/jqqqqqqqqqq)给与了非常多的关键性指导(以及他的[repo](https://github.com/jqqqqqqqqqq/coolq-telegram-bot))。

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

## 最近

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

## TODO

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

## 配置环境

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

[在这里](https://github.com/jqqqqqqqqqq/coolq-telegram-bot/releases)下载最新的CoolqSocketAPI后放到Coolq的插件目录,在Coolq插件里启动即可。

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

```json
{
"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号(未实现功能)。

## 一个简单的复读机

```java
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();
}
}
```