日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

如何使用Java开发QQ机器人 方法二

發(fā)布時(shí)間:2024/8/1 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用Java开发QQ机器人 方法二 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用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í)際上代表了什么:

HttpApplication application = new HttpApplication(); // 啟動 application.run(new RunApp());

[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ù)讀。
完整代碼如下:

@Beans public class TestListener {@Listen(MsgGetTypes.privateMsg)@Filter("hello.*")public void testListen1(PrivateMsg msg, MsgSender sender) {System.out.println(msg);// 以下三種方法均可,效果相同sender.SENDER.sendPrivateMsg(msg, msg.getMsg()); // sender.SENDER.sendPrivateMsg(msg.getQQ(), msg.getMsg()); // sender.SENDER.sendPrivateMsg(msg.getQQCode(), msg.getMsg());} }

注:如果在默認(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。