https://github.com/wtdcode/coolqjavabot
一个基于CoolqSocketAPI二次开发的CoolqJavaBot
https://github.com/wtdcode/coolqjavabot
coolq java
Last synced: 3 months ago
JSON representation
一个基于CoolqSocketAPI二次开发的CoolqJavaBot
- Host: GitHub
- URL: https://github.com/wtdcode/coolqjavabot
- Owner: wtdcode
- License: gpl-3.0
- Created: 2017-11-05T09:54:20.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-01T11:53:44.000Z (over 7 years ago)
- Last Synced: 2025-01-25T05:41:19.512Z (4 months ago)
- Topics: coolq, java
- Language: Java
- Homepage:
- Size: 204 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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();
}
}
```