CleverQQ机器人框架Golang版SDK

网友投稿 702 2022-10-20

CleverQQ机器人框架Golang版SDK

CleverQQ机器人框架Golang版SDK

CleverQQ-SDK-Golang

CleverQQ框架 官方已停止服务

本项目为CleverQQ(原IRQQ)插件的Golang SDK, 方便Gopher们开发插件.

使用过程中有任何问题或建议, 请大胆提Issue或PR.

更新日志

2019-09-12: 修复IRUploadPic无法正常上传图片的问题, 新增file2byte()函数用以读取文件返回[]byte, 新增TODO List任务.2019-08-04: 给IR_Event事件添加recover, 避免插件panic直接导致框架主程序闪退, 但该功能默认情况下关闭, 需要clvq.OnRecover=true开启2019-08-01: 完善文档, 提出获取本项目可能出现的异常及其解决措施2019-07-31: 增加快速编译dll工具2019-07-30: 修复IRIfFriend函数的Bug2019-07-30: 过滤一些无用文件2019-07-30: 上传本项目

注意

本项目使用了cgo, 而框架提供的IRapi.dll为32位, 故请确保你的系统中有安装32位GCC编译器

附我的GCC编译器

编译时, 请将输出的.dll文件名修改为插件名称.IR.dll, 与你代码中的插件名称保持一致, 否则会导致框架无法正常启动(闪退)请勿在项目的其他包内导入clvq包, 因为这会导致IR_Create IR_Message等4个函数重复export, 最后导致框架调用到你的插件时会闪退

获取

go get github.com/yguilai/CleverQQ-SDK-Golang

获取本项目可能出现的异常

由于地区原因, 无法成功获取到golang.org的包

https fetch failed: Get https://golang.org/x/text/encoding/simplifiedchinese?go-get=1: dial tcp 216.239.37.1:443: // connectex: A connection attempt failed because the connected party did not properly respond after a period of time,or established connection failed because connected host has failed to respond.

请尝试修改GO的系统环境变量后, 重新go get本项目. 如下:

//打开cmd,执行SET GO111MODULE=onSET GOPROXY=https://goproxy.io

通过此设置, 当你go get通过go mod方式管理的项目时, 会将https://goproxy.io作为你的代理

此功能目前对非go mod方式管理的go语言项目无效

本地GCC编译器非32位, 或无32位GCC编译器, go get后得到如下异常:

# github.com/yguilai/CleverQQ-SDK-Golang/clvqcc1.exe: sorry, unimplemented: 64-bit mode not compiled in

此异常可以忽略, 你只需遵循使用章节中的规则编译插件即可.

使用

0.导入本项目

package mainimport "github.com/yguilai/CleverQQ-SDK-Golang/clvq"func init() { clvq.PluginName = "插件名称" clvq.PluginVer = "1.0.0" //插件版本 clvq.PluginDesc = "插件说明" clvq.PluginAuthor = "作者" clvq.IREvent = irEvent}// main函数不写代码, 仅为编译需要func main() {}//通过实现clvq包内的IREvent方式来处理机器人分发下来的所有消息, 事件//如果你有e语言开发插件的经验,相信你会很快上手这个SDKfunc irEvent(qq string, msgType, subMsgType int, msgFrom, tigObjAct, tigObjPas, msg, msgNum, msgId, rawMsg, json string, ptrNext int) int { return clvq.MT_CONTINUE}

1.修改几个GO的系统环境变量

SET CGO_LDFLAGS=-Wl,--kill-atSET CGO_ENABLED=1SET GOOS=windowsSET GOARCH=386

2.编译

go build -ldflags "-s -w" -buildmode=c-shared -o 插件名称.IR.dll

建议使用bat脚本, 这会让步骤1中的修改变为临时的. 如本项目demo中的build.bat. 建议按照规则使用快速编译工具.

快速编译工具

使用

将tool目录下的build.exe和build.bat文件复制到与你导入本项目的.go文件同级目录下, 双击执行build.exe即可.

注意: 你的.go文件必须包含你自定义的插件名, 例如clvq.PluginName = "demo"

TODO List

License

MIT

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Uva 6437 - Power Plant 裸最小生成树
下一篇:POJ 1038 - Bugs Integrated, Inc. 三进制状态DP
相关文章

 发表评论

暂时没有评论,来抢沙发吧~