NEWS
Javascript wird nicht beendet und läuft in Hintergrund
-
Hallo,
Ich versuche mittels Javascript das Discord.js dazu zu bringen wenn in einem Server oder direkt der Bot angeschrieben wird mir etwas mitzuteilen da ich nicht über node-red gehen wollte.
Es funktioniert auch schon, dass ich etwas zurückbekomme. Wenn ich aber das Script stoppe läuft es anscheinend im Hintergrund weiter und wenn ich es wieder starte bekomme ich 2. Antworten zurück. Dies erhöht sich bei jedem mal Starten des Scripts.
Die Einzige Möglichkeit es zu beenden ist die ganze Instanz javascript.0 zu restarten.Was mache ich falsch oder ist es so und nicht umsetzbar was ich mir vorstelle.
Hier auch noch der Code mit welchem ich es versuche.const Discord = require('discord.js'); var token = "XXX-XXX-XXX"; var prefix = "::"; var client = new Discord.Client(); client.on('ready', () => { console.log('i am ready!') console.log('Logged in as ' + client.user.username + ' ....') console.log(client.user.id) }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('Pong!'); msg.reply(msg.author.id); }; }); client.login(token);
Bin leider Ratlos und wenn es schon mal so einen Betrag gegeben hat habe ich ihn leider nicht gefunden.
Einen schönen Abend
Andreas -
Ich vermute, du musst den Client beenden, da sonst die Verbindung bestehen bleibt, und die JavaScript-Sandbox nicht beendet wird.
Füge folgende Zeilen am Ende in den Skript ein:
onStop(() => { client.destroy(); });
-
Ich danke dir genau das hat gefehlt.
funktioniert super. Hatte mir schon Gedanken gemacht mit der Vorschlaghammer Methode daran zu gehen.
Eigenen Instance und die jedes mal Stoppen und Starten wenn das Script beendet wird.
Dies ist natürlich die bessere Art.Danke noch mal und einen schönen Tag AlCalzone