问题 Discord 机器人使用 Node.js 和子进程打开 .bat 文件

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

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

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

这没有正常工作,所以我对 JavaScript 的原始代码做了一些调整。它的名字是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.