Also sagen wir, ich habe 2 Dateien, a.js und b.js, wobei a.js ist ein einfaches node.js Skript, das b aufruft. js ist ein Discord.js-Bot.Knoten js, diskord.js Bot mit exec starten, läuft nicht richtig
a.js
const { exec } = require(‘child_process’);
exec(‘node b.js’, (err,stdout,stderr) => {
console.log(‘err: ‘ + err + ‘\n stdout: ‘ + stdout + ‘\n stderr:‘ + stderr);
});
b.js
const Discord = require(‘discord.js’);
const fs = require(‘fs’);
var bot = new Discord.Client();
var token;
fs.readFile(‘token.txt’,(err,data) => {
if(err){console.log(err); process.exit(0);}
token = data;
});
bot.on(‘ready’,()=>{console.log(‘ready’);});
bot.on(‘message’, message => {
if(message.content == ‘ping’){
message.channel.send(‘pong’);
}
});
bot.login(token);
Als ich a.js laufen, ist der einzige Ausgang ist
err:
stdout:
stderr:
a.js dann beendet und es scheint, als ob b.js nie ausgeführt wurde. Ich habe mich gefragt, warum das passiert und warum. Zusätzlich, wenn jemand sich fragt, warum ich das mache, habe ich das als Teil eines größeren Drehbuchs und ich habe das Problem auf diese Weise reduziert. Und der Hauptteil ist, dass b.js von exec ausgeführt werden muss. Ich verwende dies in Windows 10 mit der neuesten Version von Knoten und Discord.js. Danke
Das ist nicht das Problem, das ich habe, denn wenn ich das tue, was Sie getan haben, funktioniert es gut – BElgy
Keine Sorge, ich habe eine andere Antwort unten gepostet, hoffe es hilft :) –