使用酷Q SDK開發QQ機器人

酷Q SDK下載地址:https://github.com/CoolQ/cqsdk-vchtml

打開工程,編輯appmain.cppgit

將「私聊消息」處的代碼github

更改成json

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是接收到的消息多線程

將「羣消息」處的代碼app

更改成函數

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是羣消息的來源羣號spa

與CQ_sendGroupMsg相似的還有CQ_sendPrivateMsg(發送私聊消息)、CQ_sendDiscussMsg(發送討論組消息)等.net

接下來,進入工程屬性->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製做一個機器人?

相關文章
相關標籤/搜索