yh-qqrobot機(jī)器人簡(jiǎn)介
yh-qqrobot是一個(gè)基于若依框和go-cqhttp集成的系統(tǒng),一開始我只是揣著好奇的心態(tài)接觸了一下go-cqhttp,想玩下機(jī)器人,然后發(fā)現(xiàn)挺好玩的,就去找了一下java的實(shí)現(xiàn)代碼,卻發(fā)現(xiàn)基本都是python的,而且使用java實(shí)現(xiàn)的功能也不是特別完善,就自己嘗試著研發(fā)了一個(gè)機(jī)器人系統(tǒng)
該系統(tǒng)主要實(shí)現(xiàn)功能有
-
chatgpt對(duì)話
-
有道翻譯
-
定時(shí)提醒任務(wù)
-
關(guān)鍵詞動(dòng)態(tài)配置
可針對(duì)不同好友和群組進(jìn)行關(guān)鍵詞配置
github地址(已棄用):https://github.com/nssnail/yh-qqrobot-basics
gitee地址(因?yàn)間ithub很多人無(wú)法訪問(wèn),已修改為gitee地址):https://gitee.com/nssnail/yh-qqrobot-basics/tree/master
文檔地址: https://docs.yh-qqrobot.com(請(qǐng)參照此文檔,該文章有些功能還是舊的版本)
若依官網(wǎng):http://ruoyi.vip/
go-cqhttp官網(wǎng):https://go-cqhttp.org/
QQ號(hào):2844089416 (問(wèn)題請(qǐng)輸入’qq’驗(yàn)證)
體驗(yàn)群:742321295(群已被風(fēng)控,但是可以提問(wèn),私聊可以體驗(yàn)機(jī)器人)
本文僅提供windows安裝方式,linux安裝請(qǐng)移步文檔
注意,目前版本很多搞怪api的接口已被關(guān)閉,目前gpt,文心一言,有道翻譯還能使用,其他接口請(qǐng)自行調(diào)試
go-cqhttp搭建
1.下載應(yīng)用
前往官網(wǎng)下載https://github.com/Mrs4s/go-cqhttp/releases,目前相對(duì)穩(wěn)定版本為v1.01
找到 go-cqhttp_windows_amd64.exe
并下載
2.生成bat文件
雙擊exe后一直確定會(huì)生成一個(gè)bat文件
3. 初始化項(xiàng)目
雙擊bat文件,改項(xiàng)目選擇0,采用http通信方式,回車
選擇完后關(guān)閉bat文件,當(dāng)前目錄下會(huì)生成一個(gè)config.yml
配置文件
4. 配置
將config.yml
配置替換成下面配置
# go-cqhttp 默認(rèn)配置文件
account: # 賬號(hào)相關(guān)
uin: 123 # QQ賬號(hào)
password: '123'
encrypt: false # 是否開啟密碼加密
status: 0 # 在線狀態(tài) 請(qǐng)參考 https://docs.go-cqhttp.org/guide/config.html#在線狀態(tài)
relogin: # 重連設(shè)置
delay: 3 # 首次重連延遲, 單位秒
interval: 3 # 重連間隔
max-times: 0 # 最大重連次數(shù), 0為無(wú)限制
# 是否使用服務(wù)器下發(fā)的新地址進(jìn)行重連
# 注意, 此設(shè)置可能導(dǎo)致在海外服務(wù)器上連接情況更差
use-sso-address: true
# 是否允許發(fā)送臨時(shí)會(huì)話消息
allow-temp-session: false
# 是否禁用協(xié)議更新
disable-protocol-update: false
heartbeat:
# 心跳頻率, 單位秒
# -1 為關(guān)閉心跳
interval: 5
message:
# 上報(bào)數(shù)據(jù)類型
# 可選: string,array
post-format: string
# 是否忽略無(wú)效的CQ碼, 如果為假將原樣發(fā)送
ignore-invalid-cqcode: false
# 是否強(qiáng)制分片發(fā)送消息
# 分片發(fā)送將會(huì)帶來(lái)更快的速度
# 但是兼容性會(huì)有些問(wèn)題
force-fragment: false
# 是否將url分片發(fā)送
fix-url: false
# 下載圖片等請(qǐng)求網(wǎng)絡(luò)代理
proxy-rewrite: ''
# 是否上報(bào)自身消息
report-self-message: false
# 移除服務(wù)端的Reply附帶的At
remove-reply-at: false
# 為Reply附加更多信息
extra-reply-data: false
# 跳過(guò) Mime 掃描, 忽略錯(cuò)誤數(shù)據(jù)
skip-mime-scan: false
# 是否自動(dòng)轉(zhuǎn)換 WebP 圖片
convert-webp-image: false
output:
# 日志等級(jí) trace,debug,info,warn,error
log-level: warn
# 日志時(shí)效 單位天. 超過(guò)這個(gè)時(shí)間之前的日志將會(huì)被自動(dòng)刪除. 設(shè)置為 0 表示永久保留.
log-aging: 15
# 是否在每次啟動(dòng)時(shí)強(qiáng)制創(chuàng)建全新的文件儲(chǔ)存日志. 為 false 的情況下將會(huì)在上次啟動(dòng)時(shí)創(chuàng)建的日志文件續(xù)寫
log-force-new: true
# 是否啟用日志顏色
log-colorful: true
# 是否啟用 DEBUG
debug: false # 開啟調(diào)試模式
# 默認(rèn)中間件錨點(diǎn)
default-middlewares: &default
# 訪問(wèn)密鑰, 強(qiáng)烈推薦在公網(wǎng)的服務(wù)器設(shè)置
access-token: ''
# 事件過(guò)濾器文件目錄
filter: ''
# API限速設(shè)置
# 該設(shè)置為全局生效
# 原 cqhttp 雖然啟用了 rate_limit 后綴, 但是基本沒插件適配
# 目前該限速設(shè)置為令牌桶算法, 請(qǐng)參考:
# https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
rate-limit:
enabled: false # 是否啟用限速
frequency: 1 # 令牌回復(fù)頻率, 單位秒
bucket: 1 # 令牌桶大小
database: # 數(shù)據(jù)庫(kù)相關(guān)設(shè)置
leveldb:
# 是否啟用內(nèi)置leveldb數(shù)據(jù)庫(kù)
# 啟用將會(huì)增加10-20MB的內(nèi)存占用和一定的磁盤空間
# 關(guān)閉將無(wú)法使用 撤回 回復(fù) get_msg 等上下文相關(guān)功能
enable: true
sqlite3:
# 是否啟用內(nèi)置sqlite3數(shù)據(jù)庫(kù)
# 啟用將會(huì)增加一定的內(nèi)存占用和一定的磁盤空間
# 關(guān)閉將無(wú)法使用 撤回 回復(fù) get_msg 等上下文相關(guān)功能
enable: false
cachettl: 3600000000000 # 1h
# 連接服務(wù)列表
servers:
# 添加方式,同一連接方式可添加多個(gè),具體配置說(shuō)明請(qǐng)查看文檔
#- http: # http 通信
#- ws: # 正向 Websocket
#- ws-reverse: # 反向 Websocket
#- pprof: #性能分析服務(wù)器
- http: # HTTP 通信設(shè)置
address: 127.0.0.1:5700 # HTTP監(jiān)聽地址
version: 11 # OneBot協(xié)議版本, 支持 11/12
timeout: 5 # 反向 HTTP 超時(shí)時(shí)間, 單位秒,<5 時(shí)將被忽略
long-polling: # 長(zhǎng)輪詢拓展
enabled: false # 是否開啟
max-queue-size: 2000 # 消息隊(duì)列大小,0 表示不限制隊(duì)列大小,謹(jǐn)慎使用
middlewares:
<<: *default # 引用默認(rèn)中間件
post: # 反向HTTP POST地址列表
- url: 'http://127.0.0.1:9999/getMessage' # 地址
# secret: '' # 密鑰
# max-retries: 3 # 最大重試,0 時(shí)禁用
# retries-interval: 1500 # 重試時(shí)間,單位毫秒,0 時(shí)立即
#- url: http://127.0.0.1:5701/ # 地址
# secret: '' # 密鑰
# max-retries: 10 # 最大重試,0 時(shí)禁用
# retries-interval: 1000 # 重試時(shí)間,單位毫秒,0 時(shí)立即
必要配置
設(shè)置QQ號(hào)和密碼
account: # 賬號(hào)相關(guān)
uin: 123 # QQ賬號(hào)
password: '123' ##密碼
配置服務(wù)器請(qǐng)求地址(不用修改,用于請(qǐng)求java服務(wù))
post: # 反向HTTP POST地址列表
- url: 'http://127.0.0.1:9999/getMessage'
5. 運(yùn)行項(xiàng)目
再次運(yùn)行bat文件
選擇1自動(dòng)提交
復(fù)制鏈接地址之后在瀏覽器打開,驗(yàn)證完后可能會(huì)二次驗(yàn)證,選擇手機(jī)號(hào)驗(yàn)證即可,出現(xiàn)以下界面則啟動(dòng)成功
如果沒啟動(dòng)服務(wù)端會(huì)一直重試,請(qǐng)按照下面教程完成服務(wù)端啟動(dòng)再重新打開即可
yh-qqrobot搭建
前往github地址克隆項(xiàng)目,或者下載zip
搭建后端
1. 導(dǎo)入sql文件
新建數(shù)據(jù)庫(kù)并導(dǎo)入sql文件,sql文件在sql目錄下
2. 配置文件
參考配置文檔配置文檔
如果僅初學(xué)使用,請(qǐng)配置以下配置即可
注意默認(rèn)是啟用代理配置,因?yàn)閏hatgpt訪問(wèn)需要代理,詳細(xì)參考配置文檔
3. 導(dǎo)入到idea
-
打開idea
-
打開file->open,選擇yh-qqrobot-basic目錄
-
配置好maven后reimport
-
運(yùn)行項(xiàng)目
如果上面沒有這個(gè)類,找到Y(jié)hApplication這個(gè)類,右鍵運(yùn)行
控制臺(tái)出現(xiàn)yh-qqrobot啟動(dòng)成功則完成
搭建前端
-
使用vscode打開yh-ui文件夾或者直接cmd進(jìn)入到y(tǒng)h-ui目錄下
-
初始化項(xiàng)目
npm install
-
啟動(dòng)項(xiàng)目
npm run dev
出現(xiàn)登錄也則運(yùn)行成功,賬號(hào)密碼admin/admin123
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-439730.html
ps:如果幫到大家點(diǎn)個(gè)贊給個(gè)關(guān)注謝謝,歡迎大家進(jìn)群交流文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-439730.html
到了這里,關(guān)于基于java(springboot)和go-cqhttp實(shí)現(xiàn)QQ機(jī)器人的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!