酷Q SDK下载地址:https://github.com/CoolQ/cqsdk-vc
打开工程,编辑appmain.cpp
将“私聊消息”处的代码
更改为
CQEVENT(int32_t, __eventPrivateMsg, 24)(int32_t subType, int32_t msgId, int64_t fromQQ, const char *msg, int32_t font) { CString caption; caption.Format(TEXT("QQ: %lld"), fromQQ); MessageBox(nullptr, CString(msg), caption, MB_ICONINFORMATION); //如果要回复消息,请调用酷Q方法发送,并且这里 return EVENT_BLOCK - 截断本条消息,不再继续处理 注意:应用优先级设置为"最高"(10000)时,不得使用本返回值 //如果不回复消息,交由之后的应用/过滤器处理,这里 return EVENT_IGNORE - 忽略本条消息 return EVENT_IGNORE; }
这样就能在接收到私聊消息时弹出消息框。fromQQ是消息发送者的QQ号,msg是接收到的消息
将“群消息”处的代码
更改为
CQEVENT(int32_t, __eventGroupMsg, 36)(int32_t subType, int32_t msgId, int64_t fromGroup, int64_t fromQQ, const char *fromAnonymous, const char *msg, int32_t font) { CQ_sendGroupMsg(ac, fromGroup, "自动回复的消息^_^"); return EVENT_IGNORE; //关于返回值说明, 见“_eventPrivateMsg”函数 }
这样就能在接收到群消息时自动回复。ac是AuthCode,fromGroup是群消息的来源群号
与CQ_sendGroupMsg类似的还有CQ_sendPrivateMsg(发送私聊消息)、CQ_sendDiscussMsg(发送讨论组消息)等
接下来,进入工程属性->C/C++->代码生成
将运行库更改为多线程调试
将工程属性->C/C++->预编译头->预编译头更改为不使用预编译头
构建工程,将文件cqsdk-vc-master\Release\com.example.democ.dll和cqsdk-vc-master\CQPdemo\com.example.democ.json
复制到酷Q Air\app目录中(我用的版本是酷Q Air 图灵版,https://cqp.cc/t/23253)
启动酷Q(建议用小号登录,因为酷Q会把手机QQ挤下线),打开应用管理后会发现列表里没有我们的应用
不要紧,打开酷Q Air\conf\CQP.cfg,在末尾添加
[Debug] DeveloperMode=1
保存,重启酷Q后,在列表里就能看到我们的应用了
选中我们的应用,然后点击启用
一切就绪。接下来,当酷Q接收到私聊消息和群消息时,分别会弹出消息框和自动回复
参考博文:VC++开发酷Q插件随笔、【酷Q&C++】如何利用酷Q制作一个机器人?