其他分享
首页 > 其他分享> > 使用酷Q SDK开发QQ机器人

使用酷Q SDK开发QQ机器人

作者:互联网

酷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制作一个机器人?

标签:QQ,int32,机器人,return,私聊,消息,msg,CQ,SDK
来源: https://www.cnblogs.com/buyishi/p/10392579.html