使用酷Q SDK開發QQ機器人
阿新 • • 發佈:2019-02-18
運行 example 重啟 ons 自動 建議 return font text
酷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, constchar *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制作一個機器人?
使用酷Q SDK開發QQ機器人