Ikarai's blog

Ikarai's blog

记录学习,记录生活

在Linux系統部署明日方舟AmiyaBot群聊機器人

寫這篇文章有兩個目的,一是作為學習筆記,方便在下次重新部署時複習使用。二是算是一個不成熟的教程吧,但是整體流程也是從別人那裡學來的
其實是在家閒得無聊找點事情做


僅展示沒有遇到錯誤的情況
如果遇到報錯,請先通過搜索引擎搜索遇到的情況以及報錯文本
或者查看官方網站中的常見問題以及官方頻道


首先,我也是個小白,遇到感興趣的東西就喜歡鼓捣一下,有什麼寫錯的地方歡迎指正。我是根據官方文檔以及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,選擇最新版本,找到需要使用的文件
mirai1
右鍵 - 複製鏈接地址
mirai2
接下來來到 Tabby,輸入以下命令,回車運行,新建一個名為 mirai 的文件夾
mkdir mirai
執行以下命令查看當前目錄下的所有文件
ls
可以看到已經新建完成
mkdir
執行以下命令進入 mirai 目錄,可以理解為雙擊打開文件夾 ( cd ..為返回上級 )
cd mirai
cd mirao
執行以下命令下載 mirai,URL 為剛才複製的鏈接
wget URL
wget
等待下載完成
wget mirai
再次執行 ls 命令即可看到下載好的文件
ls mirai
執行以下命令設置文件權限
chmod 777 文件名
chmod1
設置完後文件名顏色會改變
ls2
執行以下命令運行文件開始下載
./文件名
./mcl1
安裝過程中會有幾個選項需要選擇
是否安裝 Java:選擇 y 安裝
Java 版本:選擇最高版本
JRE & JDK:選擇 JDK
Binary Architecture:選擇 x64
./mcl
./mcl
稍後還會詢問是否下載 MCL,選擇 y 下載
./mcl
看到這個即為安裝完成,按任意鍵退出
./mcl
ls可以看到安裝好的文件
ls
執行以下命令啟動 MCL,第一次啟動需要初始化,下載運行庫和插件
./mcl
完成後會有這句話
./mcl
初始化完成,現在可以按 Ctrl+C 結束進程
接下來來到 FlashFXP,按照路徑找到這個文件,右鍵 - 編輯
fxp
將 QQ 號填到 account,密碼填到 value,protocol 推薦填 IPAD
注意,冒號和值之間必須有一個空格!
注意,冒號和值之間必須有一個空格!
注意,冒號和值之間必須有一個空格!
填好後保存並關閉
txt
./mcl 再次運行 mcl
會看到這樣,選中最後一條信息,鼠標右鍵單擊複製,發送到手機上
url
打開滑動驗證助手,把這一串粘貼上去,點下一步
phone
完成驗證
phone
複製給出的 Ticket,回到電腦
phone
單擊右鍵粘貼,回車
ticket
接下來需要短信驗證,輸入 yes,回車
phone
輸入短信驗證碼,登錄成功
success
最後出現這樣的提示,mcl 啟動成功
success
Ctrl+C 關閉

{mtitle title="安裝 mah"/}

打開mah-Release,選擇最新版本,找到需要使用的文件
mah
下載到電腦上,接下來使用另一種方法下載安裝 mah
當然,你也可以繼續使用前面介紹的方法,使用 cd命令移動到 mirai/plugins 目錄下,使用 wget URL的方式安裝
在 FlashFXP 中,左側為本機電腦文件,右側為伺服器
將文件從左邊拖到右邊即可
fxp
fxp
再次 ./mcl啟動 mcl,等待初始化完成後 Ctrl+C 關閉
./mcl
來到此目錄下,空白處右鍵刷新
fxp
進入新出現的文件夾
fxp
右鍵編輯打開 setting.yml
fxp
刪除原有的內容,將下面的內容粘貼進去,改變 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"/}

點擊上方的配置與連接,會顯示連接歷史,點擊新建一個窗口
t
t
分別右鍵重命名,方便分別控制啟動 mirai 和 AmiyaBot
t
首先第一步,安裝 git
第一種方法 (有可能會出現後續步驟中識別不到 git 的情況):
點擊下載 使用 FlashFXP 放到根目錄下,或者 wget命令下載
git
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
clone
cd Amiya-Bot
cd
pip install -r requirements.txt 安裝依賴
pip
playwright install --with-deps chromium 安裝 Chromium
Chromium
來到此目錄下右鍵編輯
fxp
將 host 改為 0.0.0.0,authKey 密碼可不填,但為了安全建議填寫
server
最後
python3 amiya.py 運行
mirai 窗口 : cd mirai./mcl AmiyaBot 窗口: cd Amiya-Botpython3 amiya.py
兩邊都啟動成功後進入下一步,連接控制台

{mtitle title="連接控制台"/}

首先來到伺服器控制台 (以阿里雲為例),選擇實例進入詳情
ali
安全組 - 配置規則
ali
點擊手動添加,端口範圍設置為 8088/8088,授權對象設置為 0.0.0.0/0,保存
保險起見也在本地放開 8088 端口,具體操作為打開控制面板,選擇防火牆
pc
高級設置
pc
入站規則 - 新建規則
pc
選擇端口
pc
選擇 TCP,下方填寫 8088,確定保存
pc
在瀏覽器中打開控制台 http://console.amiyabot.com
服務地址為http:// 伺服器公網 IP:8088,密鑰為 server.yaml 中填寫的 authKey
co
選擇實例管理
con
按照下圖配置 (可控實例可填可不填,內容為你的群號)
con
完成後是這樣的
con
接下來就可以到插件商店安裝需要的插件了,每個插件都會有說明如何配置和使用
con
好了,現在可以在群裡或私聊和兔兔互動了
雖然現在已經可以正常運行了,但是只要關閉 Tabby,進程也會隨之關閉。那么,總不能電腦一直不關機且運行 Tabby 吧。那么,解決方法就是接下來要介紹的 ——screen

{mtitle title="screen 保活"/}

如果發現接下來的命令無法執行,那可能是系統還未安裝 screen,Ubuntu 系統執行以下命令安裝
apt-get install screen
首先執行以下命令創建一個名為 mirai 的會話
screen -S mirai
screen
執行之後看起來好像沒有發生什麼變化,實際上 screen 已經在運行了
接下來執行 ./mcl啟動 mcl,啟動完成後按下 Ctrl+A+D,這時候會話會被暫時中斷,但是會話中執行的命令不會被中斷。
同理,使用 cd命令移動到 AmiyaBot 目錄下,創建名為 AmiyaBot 的會話,執行 python3 amiya.py啟動 amiya.py ,再次按下 Ctrl+A+D 中斷會話。現在,可以隨時關閉 Tabby 了,程序會一直在運行。
screen
學會了如何中斷會話,那麼如何恢復會話呢?
首先 screen -ls查看會話列表, screen -r 會話名稱或者 screen -r id號 就可以恢復會話了。
screen
關閉會話: exit


剩餘內容 (大概率不寫):
1.Nginx 反向代理加密連接,可參考 (此教程)
2. 視頻版
3. 插件中公招和 ChatGPT 的配置


很多內容都來自於互聯網以及自己瞎鼓捣,不保證 100% 正確,如有錯誤和遺漏歡迎指出

PS:可能是因為我還裝了寶塔面板的原因吧,訪問控制台總是會提示接口請求失敗。不太想繼續折騰了,就這樣吧,這篇文章應該也不會再更新了。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。