Discord.js - Code von JavaScript Dateien einbetten?
Hi, ich habe eine index Datei für den Bot. Habe dann eine andere index ein Verzeichniss drüber. Nun will ich die Codes der oberen index, in die untere einbetten, ohne den Code direkt in die untere deklarieren zu müssen! Hatte es mit
require('../index.js')
versucht, nur hatte der Bot dann versucht, die obere JS auszuführen (was der nicht sollte, sollte ja nur die Codes einbetten)! Nun die Frage, wie kann ich die Codes einbetten?
include('../index.js')
funktioniert ja nicht!
1 Antwort
Was machst's denn für einen Unterschied ob er es einbettet oder in der anderen Datei ausführt?
Das require wird ja sowieso erst ausgeführt, wenn das Programm da angekommen ist.
Sagen wir in index.js steht folgendes:
console.log("a");
Jetzt bettest du das ganze in dein Programm ein:
doX();
console.log("a"); <- Wurde eingebettet
doY();
Wenn man das ganze nun ausführt, dann wird auch das eingebettete ausgeführt.
Von demher ist das doch komplett gleich zu dem:
doX();
require(index.js); <- Führt den Code von der Datei aus, und zwar auch erst, wenn das Programm hier ankommt
doY();
Wenn du nicht willst, dass es ausgeführt wird, dann pack es in eine Funktion und übergib die.
Vielleicht hilft dir localstorage?
Damit kannst du eine Variable setzen und auslesen, und die ist für alle gleich:
https://www.npmjs.com/package/node-localstorage
Oder einfach mit Environment-Variablen?
Ich meinte, die ganzen Commands solen von allen Bots gelesen werden! Beispiel:
Bot A nutzt den Befehl ping... Bot B zu just in diesem Moment auch! Dieser Befehl ist jedoch weder in Bot A noch in Bot B direkt deklariert, sondern in index.js, die ein Verzeichniss drüber ist!
Heißt wenn Bot A einen Befehl aus der index.js-Datei ausführt, dann soll den Bot B auch ausführen?
Und wenn Bot B einen ausführt, dann soll den Bot A auch ausführen?
Es geht darum, dass der Code in index.js ist und beide Bots eben einfach auf diese zugreifen, sodass der Code nicht zigmal kopiert werden muss!
Dann mach in index.js den Code als Funktion
und dann exportier die Funktion, z.B. mit
module.exports = {
dieFunktion: dieFunktion
};
Und wie deklariere ich diese Funktion dann in den Bots?
Ja, nur will ich mehrere Bots mit dem selben Code führen, und habe keinen Bock mehr, jeden Bot bei jeder Änderung einzelnt aktualisieren zu müssen!