Проблема с Node.js и Mineflayer
from javascript import require, On
def bot(host: str, port: int, login: str):
try:
mineflayer = require("mineflayer")
bot = mineflayer.createBot({
"host": host,
"port": port,
"username": login,
"version": "1.20.4",
"auth": "offline"
})
@On(bot, 'chat')
def on_msg(this, user, message, *args):
if user != login:
try:
print(f"chat {user}: {message}")
except Exception as e:
print("Произошла ошибка:", e)
except Exception as e:
print("Произошла ошибка:", e)
if __name__ == "__main__":
host = "localhost"
port = 34567
bot(host, port, "Qwerty")
Программа срабатывает один раз, после чего необходимо перезапустить сервер, иначе она выдаёт следующую ошибку:
(venv) alexander@alexander-MEGABOOK-K16SDA:~/MyProgs/MineSpammer$ /home/alexander/MyProgs/MineSpammer/venv/bin/python /home/alexander/MyProgs/MineSpammer/src/bot.py
[JSE] node:internal/validators:289
[JSE] throw new ERR_INVALID_ARG_TYPE(name, 'Array', value);
[JSE] ^
[JSE]
[JSE] TypeError [ERR_INVALID_ARG_TYPE]: The "list" argument must be an instance of Array. Received an instance of Buffer
[JSE] at Function.concat (node:buffer:581:3)
[JSE] at updateAndValidateSession (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/minecraft-protocol/src/client/chat.js:61:114)
[JSE] at Client.<anonymous> (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/minecraft-protocol/src/client/chat.js:192:55)
[JSE] at Client.emit (node:events:517:28)
[JSE] at emitPacket (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/minecraft-protocol/src/client.js:84:12)
[JSE] at FullPacketParser.<anonymous> (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/minecraft-protocol/src/client.js:113:9)
[JSE] at FullPacketParser.emit (node:events:517:28)
[JSE] at addChunk (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/readable-stream/lib/internal/streams/readable.js:323:12)
[JSE] at readableAddChunk (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/readable-stream/lib/internal/streams/readable.js:300:9)
[JSE] at Readable.push (/home/alexander/MyProgs/MineSpammer/venv/lib/python3.12/site-packages/javascript/js/node_modules/readable-stream/lib/internal/streams/readable.js:246:10) {
[JSE] code: 'ERR_INVALID_ARG_TYPE'
[JSE] }
[JSE]
[JSE] Node.js v18.19.1
Я переустановил node.js и js, но не помогло
Источник: Stack Overflow на русском