1. 程式人生 > >使用酷Q SDK開發QQ機器人

使用酷Q SDK開發QQ機器人

運行 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, 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制作一個機器人?

使用酷Q SDK開發QQ機器人