Mirai框架qq機器人教程
本教程代碼部分已經過時,為2.0-M1版!!!
請閱讀新版2.0-M2版的教程
或
官方的框架教程 官方啟動器教程
0.前言
目前mirai項目官方已經停止維護並且好像刪庫了? 但是由於其開源性質,有很多clone的庫在github上
c++版github地址:點我
kotlin版github地址:點我
c++版教程csdn:點我
溫馨提示:請勿使用qq機器人做非法的事情
1. 安裝Java
最低1.8,推薦15
推薦下載openjdk而不是甲骨文的,不然mirai-console-loader會報錯
自行百度(以后如果有時間回來補教程)
記得配置環境變量
如何檢測成功安裝: 按Win+R
>輸入cmd
然后回車-> 輸入java -version
2.安裝Mirai啟動器
mirai目前啟動器有2個(詳情)
- MiraiOk是一個安裝MiraiOK的一鍵安裝包
最新官方及全版本Github下載地址(里面readme.md里面有下載整合包地址)(最近github下載好像提速了,我就不另外傳到國內網盤了,如有需要評論區說) - 推薦用mirai-console-loader
本文作者windows版本備份(使用舊框架的miraiok和新框架的mirai-console-loader)
3.下載IDEA或其他編譯器
從搜索引擎搜索官網進去下載
或者用其他編輯器也可以
4.創建mirai-console插件項目
該插件可以讓你快速生成mirai項目
Step1: 在IDEA中按快捷鍵ctrl+alt+s
或者點擊File->Setting
Step2: 找到里面的Plugin
Step3: 在Marketplace里面搜索Mirai
和Kotlin
安裝
但是,筆者在IDEA 2020.2版本中無法安裝插件或新建項目沒mirai的項目,如果有這種情況,有3種解決方法
-
到筆者的庫下載生成好的項目,並自己修改信息(舊版的kotlin框架)
-
感謝網友提醒,這種情況下也可以手動下載插件然后導入插件從而安裝
github下載地址 -
用官方提供的例子(新的kotlin框架)
4.1 通過git創建
如果是用github上的項目創建,那就從github上下載,然后用IDE打開整個文件夾就好了
4.2 通過插件創建項目
Step1 就像正常創建項目一樣,File->New->Project
Step2 選mirai-console,這里隨便填(不知道的盡量不改,推薦語言kotlin,博主搞了半天的java版還是沒用)然后next
Step3 兩個id隨便寫,包管理器建議這樣配置,然后next
Step4 隨意
5.解決代碼報錯
如圖 創建項目好后會呈現這樣子
這個時候你們的代碼會報錯,顯示找不到包,這是gradle依賴出問題了
請自行到上方有寫的作者儲存庫里復制build.gradle的內容並忽略以下內容
Step1 打開build.gradle
添加和刪除如圖,其他不變
implementation(“net.mamoe:mirai-core-qqandroid:1.1.3”)
compile fileTree(dir:’/jars/’,includes: [’*.jar’])
Step2 在根目錄下創建jars
文件夾,如圖
Step3 把miraiok下的content下的第一個.jar
文件復制到jars
文件夾下,如圖
然后就解決了。
6. miraiOK結構
從上往下依次是
開發SDK(也就是依賴庫)
jre1.8.0_252 也就是java運行環境
不知道干什么的空文件夾
運行日志
插件目錄(gradle生成jar后復制到這)
不知道干什么的空文件,應該是控制版本
不知道干什么的xml文件
配置文件
虛擬設備信息(qq協議用)
一個庫
主程序(點擊運行機器人)
7.mirai 舊版kotlin代碼例子解析
reply即為回復方法,如
"HI" reply("X")
與
if(message.toString()=="HI")reply("X")
一個道理
8.官方開發文檔
9. 一個簡單的kotlin例子
10. 用gradle生成插件文件(.jar)
Step1 點擊側邊欄的gradle
Step2 雙擊jar任務
Step3 在lib目錄下找到.jar文件
Step4 把這個jar文件復制到miraiok的plugins目錄下
ps:這個文件夾是運行后生成的
Step5 運行mirai
11.在mirai中已有的一些插件
一些tips
- 在MiraiOK的文件夾下的config.txt可以設置自動登錄
- 在plugin.xml可以改項目信息
有什么評論區問,以后再補充
應該沒有人和我一樣半夜2點寫教程吧(笑
此外 可以來找我機器人玩啊(qq號:481784853)
相關群 1044565129