不用任何插件,不用任何模組,不用任何 Add-on,只要原版世界就可以讓人們在 Discord 與 Minecraft 之間聊天 ! (僅限基岩版)
透過 WebSocket Server 與 Minecraft Client 之間進行連線。
先對客戶端發送訂閱請求,接收到訊息後再利用 Discord API 將訊息傳至 Discord 的聊天頻道,同時也會監聽 Discord 頻道是否有新訊息並對客戶端發送訊息。
客戶端接收到伺服端的請求後就會自動監聽 Minecraft 聊天室的新訊息並回傳給伺服端,收到伺服端的訊息後就會根據內容傳到 Minecraft 聊天室。
- Minecraft BE
- Python
$\ge$ 3.8
使用以下指令來下載所需套件
pip install -r requirements.txt
在最外層創建 .env
檔案並寫入你的 Discord 機器人 Token
TOKEN = "Your Discord Bot Token"
接著可以到 setting.json
設定各項內容
{
"server": { // 主機位址
"host": "127.0.0.1",
"port": 9000
},
"discord": {
"channel": 1259342904309321831, // dicsord 的頻道 id
"message": "**[Minecraft]** **` {user} `** : {msg}" // discord 端的訊息的樣板 {user} 是名字 {msg} 則是訊息
},
"minecraft": {
"message": "§9[Discord] §e{user}§r: {msg}" // Minecraft 端的訊息樣板,同上
}
}
最後進去 Minecraft 設定 -> 一般
-> 網路設定
-> 需要有加密的 WebSockets
關掉
設定完畢後執行 src/main.py
,任何可以啟動 python 檔案的方法都行
舉例:
cd D:\GitHub\Chat-Bridge-for-Discord-and-Minecraft
python src/main.py
成功的話會出現這些訊息
INFO:websocket_server.websocket_server:Listening on port 9000 for clients..
INFO:websocket_server.websocket_server:Starting BridgeWebSocketServer on main thread.
INFO:Discord:>> Bot is online <<
接著回到 Minecraft 世界,輸入指令 /wsserver host:port
或是 /connect host:port
(e.g /wsserver 127.0.0.1:9000
) 這樣就成功啦 !
備註: 需開啟作弊或是創造模式
shell:
INFO:Minecraft:a new client connected. id: 1 address: 127.0.0.1:60869
INFO:Minecraft:received a message: "hi" by user youtong08266142
INFO:Discord:received a message: "Hello" by user Youtong
INFO:Minecraft:received a message: "cool~" by user youtong08266142
INFO:Discord:received a message: "awa" by user Youtong