Skip to content

Youtong0826/Chat-Bridge-for-Discord-and-Minecraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat Bridge for Discord and Minecraft

不用任何插件,不用任何模組,不用任何 Add-on,只要原版世界就可以讓人們在 Discord 與 Minecraft 之間聊天 ! (僅限基岩版)

實現原理

透過 WebSocket Server 與 Minecraft Client 之間進行連線。

server

先對客戶端發送訂閱請求,接收到訊息後再利用 Discord API 將訊息傳至 Discord 的聊天頻道,同時也會監聽 Discord 頻道是否有新訊息並對客戶端發送訊息。

client

客戶端接收到伺服端的請求後就會自動監聽 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) 這樣就成功啦 !

備註: 需開啟作弊或是創造模式

預覽:

alt text

alt text

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

About

【Python】在 Discord 與 Minecraft 之間聊天吧 ! (僅限基岩版)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages