前端框架选型是企业提升开发效率与用户体验的关键因素
756
2022-10-20
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~