Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Javascript wird nicht beendet und läuft in Hintergrund

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Javascript wird nicht beendet und läuft in Hintergrund

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AndiB last edited by

      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

      AlCalzone 1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @AndiB last edited by

        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();
        });
        
        1 Reply Last reply Reply Quote 0
        • A
          AndiB last edited by

          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

          1 Reply Last reply Reply Quote 1
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          743
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          181
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo