寫這篇文章有兩個目的,一是作為學習筆記,方便在下次重新部署時複習使用。二是算是一個不成熟的教程吧,但是整體流程也是從別人那裡學來的
其實是在家閒得無聊找點事情做
僅展示沒有遇到錯誤的情況
如果遇到報錯,請先通過搜索引擎搜索遇到的情況以及報錯文本
或者查看官方網站中的常見問題以及官方頻道
首先,我也是個小白,遇到感興趣的東西就喜歡鼓捣一下,有什麼寫錯的地方歡迎指正。我是根據官方文檔以及Initial-heart 大佬的教程才完成部署。只不過大佬的教程是在 Windows 系統下部署,思路是一樣的,本文只是在 linux 系統下部署。
在開始之前先介紹一下我的部署環境以及使用的工具
使用阿里雲伺服器部署,操作系統:Ubuntu 20.04
會用到開源 SSH 工具 Tabby 下載鏈接:官網
以及 ftp 工具 FlashFXP 官網 付費軟體可以試用,或者:百度雲盤 (提取碼) 藍奏雲 (密碼)
滑動驗證助手 (安裝到手機或模擬器中) Github 鏈接
Tabby 使用方法:打開軟體後選擇設置 - 配置與連接,點擊新配置,選擇 SSH 連接,輸入伺服器公網 IP 及用戶名密碼即可 (需注意,在此軟體中請不要使用 Ctrl+C 來複製文本,而是用鼠標左鍵選中文本後右鍵點擊即可複製。同理粘貼文本直接右鍵即可。另外當你要輸入某個文件名時,只需輸入文件名前 1 或多個字母後,按 Tab 鍵即可補全)
FlashFXP 使用方法:菜單欄會話 - 快速連接,輸入伺服器公網 IP 及用戶名密碼即可
接下來正式開始
{mtitle title="部署 mirai"/}
打開mirai-Release,選擇最新版本,找到需要使用的文件
右鍵 - 複製鏈接地址
接下來來到 Tabby,輸入以下命令,回車運行,新建一個名為 mirai 的文件夾
mkdir mirai
執行以下命令查看當前目錄下的所有文件
ls
可以看到已經新建完成
執行以下命令進入 mirai 目錄,可以理解為雙擊打開文件夾 ( cd ..
為返回上級 )
cd mirai
執行以下命令下載 mirai,URL 為剛才複製的鏈接
wget URL
等待下載完成
再次執行 ls
命令即可看到下載好的文件
執行以下命令設置文件權限
chmod 777 文件名
設置完後文件名顏色會改變
執行以下命令運行文件開始下載
./文件名
安裝過程中會有幾個選項需要選擇
是否安裝 Java:選擇 y 安裝
Java 版本:選擇最高版本
JRE & JDK:選擇 JDK
Binary Architecture:選擇 x64
稍後還會詢問是否下載 MCL,選擇 y 下載
看到這個即為安裝完成,按任意鍵退出
ls
可以看到安裝好的文件
執行以下命令啟動 MCL,第一次啟動需要初始化,下載運行庫和插件
完成後會有這句話
初始化完成,現在可以按 Ctrl+C 結束進程
接下來來到 FlashFXP,按照路徑找到這個文件,右鍵 - 編輯
將 QQ 號填到 account,密碼填到 value,protocol 推薦填 IPAD
注意,冒號和值之間必須有一個空格!
注意,冒號和值之間必須有一個空格!
注意,冒號和值之間必須有一個空格!
填好後保存並關閉
./mcl
再次運行 mcl
會看到這樣,選中最後一條信息,鼠標右鍵單擊複製,發送到手機上
打開滑動驗證助手,把這一串粘貼上去,點下一步
完成驗證
複製給出的 Ticket,回到電腦
單擊右鍵粘貼,回車
接下來需要短信驗證,輸入 yes,回車
輸入短信驗證碼,登錄成功
最後出現這樣的提示,mcl 啟動成功
Ctrl+C 關閉
{mtitle title="安裝 mah"/}
打開mah-Release,選擇最新版本,找到需要使用的文件
下載到電腦上,接下來使用另一種方法下載安裝 mah
當然,你也可以繼續使用前面介紹的方法,使用 cd
命令移動到 mirai/plugins 目錄下,使用 wget URL
的方式安裝
在 FlashFXP 中,左側為本機電腦文件,右側為伺服器
將文件從左邊拖到右邊即可
再次 ./mcl
啟動 mcl,等待初始化完成後 Ctrl+C 關閉
來到此目錄下,空白處右鍵刷新
進入新出現的文件夾
右鍵編輯打開 setting.yml
刪除原有的內容,將下面的內容粘貼進去,改變 verifyKey 的值
## 啟用的 adapter, 內置有 http, ws, reverse-ws, webhook
adapters:
- http
- ws
## 是否開啟認證流程, 若為 true 則建立連接時需要驗證 verifyKey
## 建議公網連接時開啟
enableVerify: true
verifyKey: 1234567890
## 開啟一些調試信息
debug: false
## 是否開啟單 session 模式, 若為 true,則自動創建 session 綁定 console 中登錄的 bot
## 開啟後,接口中任何 sessionKey 不需要傳遞參數
## 若 console 中有多個 bot 登錄,則行為未定義
## 確保 console 中只有一個 bot 登陸時啟用
singleMode: false
## 歷史消息的緩存大小
## 同時,也是 http adapter 的消息隊列容量
cacheSize: 4096
## adapter 的單獨配置,鍵名與 adapters 項配置相同
adapterSettings:
## 詳情看 http adapter 使用說明 配置
http:
host: localhost
port: 8080
cors: ["*"]
unreadQueueMaxSize: 100
## 詳情看 websocket adapter 使用說明 配置
ws:
host: localhost
port: 8060
reservedSyncId: -1
{mtitle title="部署 AmiyaBot"/}
點擊上方的配置與連接,會顯示連接歷史,點擊新建一個窗口
分別右鍵重命名,方便分別控制啟動 mirai 和 AmiyaBot
首先第一步,安裝 git
第一種方法 (有可能會出現後續步驟中識別不到 git 的情況):
點擊下載 使用 FlashFXP 放到根目錄下,或者 wget
命令下載
chmod 777 文件名
給予權限
tar -xzvf 文件名
解壓縮
第二種方法:
依次執行 apt-get update -y
apt-get upgrade -y
更新 apt 工具
apt install git
安裝 git
git --version
查看已安裝的 git 版本,能查詢到即為安裝成功
接下來,克隆倉庫
git clone https://github.com/AmiyaBot/Amiya-Bot.git
cd Amiya-Bot
pip install -r requirements.txt
安裝依賴
playwright install --with-deps chromium
安裝 Chromium
來到此目錄下右鍵編輯
將 host 改為 0.0.0.0,authKey 密碼可不填,但為了安全建議填寫
最後
python3 amiya.py
運行
mirai 窗口 : cd mirai
, ./mcl
AmiyaBot 窗口: cd Amiya-Bot
, python3 amiya.py
兩邊都啟動成功後進入下一步,連接控制台
{mtitle title="連接控制台"/}
首先來到伺服器控制台 (以阿里雲為例),選擇實例進入詳情
安全組 - 配置規則
點擊手動添加,端口範圍設置為 8088/8088,授權對象設置為 0.0.0.0/0,保存
保險起見也在本地放開 8088 端口,具體操作為打開控制面板,選擇防火牆
高級設置
入站規則 - 新建規則
選擇端口
選擇 TCP,下方填寫 8088,確定保存
在瀏覽器中打開控制台 http://console.amiyabot.com
服務地址為http:// 伺服器公網 IP:8088,密鑰為 server.yaml 中填寫的 authKey
選擇實例管理
按照下圖配置 (可控實例可填可不填,內容為你的群號)
完成後是這樣的
接下來就可以到插件商店安裝需要的插件了,每個插件都會有說明如何配置和使用
好了,現在可以在群裡或私聊和兔兔互動了
雖然現在已經可以正常運行了,但是只要關閉 Tabby,進程也會隨之關閉。那么,總不能電腦一直不關機且運行 Tabby 吧。那么,解決方法就是接下來要介紹的 ——screen
{mtitle title="screen 保活"/}
如果發現接下來的命令無法執行,那可能是系統還未安裝 screen,Ubuntu 系統執行以下命令安裝
apt-get install screen
首先執行以下命令創建一個名為 mirai 的會話
screen -S mirai
執行之後看起來好像沒有發生什麼變化,實際上 screen 已經在運行了
接下來執行 ./mcl
啟動 mcl,啟動完成後按下 Ctrl+A+D,這時候會話會被暫時中斷,但是會話中執行的命令不會被中斷。
同理,使用 cd
命令移動到 AmiyaBot 目錄下,創建名為 AmiyaBot 的會話,執行 python3 amiya.py
啟動 amiya.py ,再次按下 Ctrl+A+D 中斷會話。現在,可以隨時關閉 Tabby 了,程序會一直在運行。
學會了如何中斷會話,那麼如何恢復會話呢?
首先 screen -ls
查看會話列表, screen -r 會話名稱
或者 screen -r id號
就可以恢復會話了。
關閉會話: exit
剩餘內容 (大概率不寫):
1.Nginx 反向代理加密連接,可參考 (此教程)
2. 視頻版
3. 插件中公招和 ChatGPT 的配置
很多內容都來自於互聯網以及自己瞎鼓捣,不保證 100% 正確,如有錯誤和遺漏歡迎指出
PS:可能是因為我還裝了寶塔面板的原因吧,訪問控制台總是會提示接口請求失敗。不太想繼續折騰了,就這樣吧,這篇文章應該也不會再更新了。