如何使用Java开发QQ机器人 方法二
使用Java開發(fā)QQ機(jī)器人- CQ & HTTP TO CQ
警告 此方法已經(jīng)無效,可以看simple-robot框架 2.x的帖子:如何用Java寫QQ機(jī)器人 v2.0。
使用酷Q平臺下的HTTP TO CQ插件以及simple-robot核心標(biāo)準(zhǔn)庫作為依賴。
此插件與框架的 簡陋 簡單介紹:文檔處簡介
使用Java開發(fā)QQ機(jī)器人框架的方法一(也是更加推薦的方法):方法一: 使用CQ HTTP插件
前往項(xiàng)目Github地址點(diǎn)擊star以收獲作者的感謝:GayHub
快速開始
一、安裝
1. 下載并安裝 酷Q
前往酷Q官方下載地址下載酷Q應(yīng)用,并安裝(啟動一次),然后關(guān)閉。
2. 下載并安裝 HTTP TO CQ插件
①. 前往HTTP TO CQ的 releases 下載最新版本。
②. 將下載好的.cpk格式文件移動至酷Q根目錄下的/app文件夾下。
③. 啟動一次酷Q程序,右鍵酷Q標(biāo)志,選擇:應(yīng)用 > 應(yīng)用管理,如圖所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-gcC80kIu-1582724960083)(https://i.vgy.me/QpgBpK.png)]
然后將會出現(xiàn)應(yīng)用管理界面,選擇HTTP API插件并選擇啟用,如圖所示:
HTTP TO CQ插件自帶UI,對于新手來說還是比較友好的。其配置UI圖例如圖:
3. 創(chuàng)建Java項(xiàng)目
你可以使用一切支持的方式來自動構(gòu)建項(xiàng)目,以下將會舉幾個(gè)例子:
[info] 版本號請自行替換為 Maven倉庫中的最新版本:https://img.shields.io/maven-central/v/io.github.ForteScarlet.simple-robot-core/component-forhttpapi
①. Maven
<dependency><groupId>io.github.ForteScarlet.simple-robot-core</groupId><artifactId>component-forhttpapi</artifactId><version>${version}</version> </dependency>②. Gradle
implementation 'io.github.ForteScarlet.simple-robot-core:component-forhttpapi:${version}'③. Grape
@Grapes(@Grab(group='io.github.ForteScarlet.simple-robot-core', module='component-forhttpapi', version='${version}') ) )二. 使用
4. 配置
有兩個(gè)地方需要你進(jìn)行配置:
- 酷Q的HTTP TO CQ
- 你需要啟動的Java程序
從Java的配置開始吧。
由于目前文件配置尚比較繁瑣,便暫時(shí)先只介紹代碼配置的方式。如果對目前的較為繁瑣的文件配置有興趣,請?jiān)诹私獯a配置的情況下查看 文件配置方式
首先,創(chuàng)建一個(gè)類,實(shí)現(xiàn)com.forte.qqrobot.component.forhttpapi.HttpApp接口,并實(shí)現(xiàn)接口中的before與after方法。
現(xiàn)在假定你這個(gè)類叫做 RunApp , 方便后續(xù)的代稱。當(dāng)然,它實(shí)際上叫做什么都無所謂。
可以發(fā)現(xiàn),before方法中存在一個(gè)叫做HttpConfiguration的參數(shù),我們就要通過這個(gè)參數(shù)對象進(jìn)行配置。
以下我將會列舉最常見的幾項(xiàng)配置信息,而全面的配置可選項(xiàng)請查看核心通用配置 與 組件額外配置
關(guān)于HTTP TO CQ的配置與Java程序的配置信息,我簡單畫了這么一個(gè)對應(yīng)關(guān)系圖:
!!! 千萬別忘了寫端口號! 插件的提交地址的默認(rèn)值并沒有寫端口號,這是個(gè)坑 !!!
5. 運(yùn)行
歷盡千辛萬苦,終于到了這一步。
首先,新建一個(gè)main方法在任意地方。
寫下以下代碼,并且別忘了那個(gè)RunApp實(shí)際上代表了什么:
[success] 如果這時(shí)候一看到控制臺所輸出的日志中最終出現(xiàn)了你的機(jī)器人的一些信息,那么恭喜,這說明你已經(jīng)發(fā)送、獲取、設(shè)置消息了。
那么能不能監(jiān)聽到消息呢?寫一些代碼來測試一下吧。
6. 第一個(gè)監(jiān)聽器
①. 新建一個(gè)類
[info] 盡量在RunApp的同級目錄或者子級目錄下創(chuàng)建。
創(chuàng)建好之后,在這個(gè)類上標(biāo)注一個(gè)注解:@com.forte.qqrobot.anno.depend.Beans, 即@Beans
②. 寫一個(gè)監(jiān)聽私信的方法
我們寫一個(gè)監(jiān)聽私信消息滿足正則:hello.*的私信消息監(jiān)聽函數(shù),且當(dāng)我們收到消息后,復(fù)讀。
完整代碼如下:
注:如果在默認(rèn)配置的情況下,監(jiān)聽器的被掃描包范圍在RunApp啟動器的同級包目錄與其子目錄。
③. 在來一次
這次我們再啟動一次,如果發(fā)現(xiàn)啟動日志中成功加載了這個(gè)監(jiān)聽函數(shù),那就試著給你的機(jī)器人發(fā)送一句hello world吧。
如果它也回復(fù)了你一句hello world,那么說明至此你已經(jīng)成功了,可以繼續(xù)深入的探索 文檔 中所提供的豐富功能并實(shí)現(xiàn)你想要的機(jī)器人吧~
7. 失敗了?
如果跟著上述流程完整無誤的操作卻無法成功,也不要?dú)怵H,嘗試根據(jù)常見問題匯總進(jìn)行排查。
總結(jié)
以上是生活随笔為你收集整理的如何使用Java开发QQ机器人 方法二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用FlashBoot3.2c 将 U
- 下一篇: 【蓝桥杯2015Java】奇妙的数字、打