使用 node.js 和子进程打开 .bat 文件的问题 discord bot [关闭]

问题描述 投票:0回答:0

我不是程序员,我对任何有关代码的知识都一无所知。然而,我真的很想做这件事,所以我的手有点脏。

我正在尝试使用 discord.js、node.js 和子进程模块让 discord 机器人打开我的 minecraft 服务器。 它基本上告诉所有这些很棒的程序打开我的minecraft服务器文件夹中的start.bat。

这没有按预期工作,所以我对 JS 东西的原始代码做了一些调整。它的名称是 console-bot.js

这是我尝试使用的原始文件:https://github.com/Stonley890/mc-console-bot

这是我调整后修改后的文件:

https://drive.google.com/drive/folders/15-42jB9GNoHCHSpW761KqJKpEoBp4wNv?usp=sharing

里面还有.bat文件。

现在的问题是,当 .bat 文件打开时,它的行为有所不同。它要求我在 eula.txt 文件中输入“true”,这对于 minecraft 服务器 来说很常见。问题是,文件在那里并且设置为 true,所以我认为它没有找到它。当我自己打开 .bat 时不会发生这种情况。 此外,当我将其设置为绕过 eula.txt 文件时,它也不起作用。

让我展示一下我卡在哪里:

C:\Users\Administrador>node desktop\server\edited-console-bot.js
Bot online! Woohoo!
Attempting to start server.
Starting net.minecraft.server.Main

[11:36:44] [ServerMain/INFO]: Building unoptimized datafixer

[11:36:44] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

child process exited with code 0
C:\Users\Administrador\desktop\server\edited-console-bot.js:66
                message.guild.channels.resolve(serverstatus).setName('SERVER: DOWN ❌');
                                               ^

ReferenceError: serverstatus is not defined
    at ChildProcess.<anonymous> (C:\Users\Administrador\desktop\server\edited-console-bot.js:66:48)
    at ChildProcess.emit (node:events:525:35)
    at maybeClose (node:internal/child_process:1091:16)
    at Socket.<anonymous> (node:internal/child_process:449:11)
    at Socket.emit (node:events:513:28)
    at Pipe.<anonymous> (node:net:322:12)

Node.js v18.14.2

当我自己打开 .bat 文件时,这不会发生。

javascript node.js batch-file minecraft child-process
© www.soinside.com 2019 - 2024. All rights reserved.