Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Wie kann ich den Streamer.bot Client in JS verwenden?

    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

    Wie kann ich den Streamer.bot Client in JS verwenden?

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

      Hallo,

      ich hatte hier die Frage zur Verwendung von einem generellen WebSocket zur Anbindung von OBS gestellt: WebSocket Client in einem Skript verwenden? - das funktioniert auch wunderbar. Nun ergibt sich für ein neues Projekt aber die Anbindung an Streamer.bot. Es gibt hier einen offiziellen Client, welchen man eigentlich via npm installieren können sollte, wenn ich dieser Doku folge.

      Ich habe ja nun schon verstanden, dass man das gewünschte npm Modul dem JavaScript Adapter bekannt machen muss und habe ihn entsprechend eingetragen und den Adapter neu gestartet:

      7839daee-5a6d-408e-a051-1832a37960c3-image.png

      Ich habe in Streamer.bot einen extra WebSocket Server gestartet und mit dem standard Websocket gelingt mir auch eine Verbindung. Ich habe eher das Problem, dass die Library irgendwie nicht so funktioniert wie ich mir das denke:

      let sbServerAddress = '192.168.0.38';
      let sbServerPort = '9090';
      const StreamerbotClient = require('@streamerbot/client');
      
      const client = new StreamerbotClient({
          host: sbServerAddress,
          port: sbServerPort,
          endpoint: '/'
      });
      

      Dabei bekomme ich diesen Fehler: TypeError: StreamerbotClient is not a constructor

      Wenn ich der oben verlinkten Anleitung folge, sollte das aber so funktionieren. Jemand eine Idee was ich da falsch mache? Oder liegt das an der Lib? Kann man da irgendwie noch besser sehen, wie genau der Fehler entsteht?

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Worlik last edited by

        @worlik sagte in Wie kann ich den Streamer.bot Client in JS verwenden?:

        let sbServerPort = '9090';

        Da läuft in einem Standard-Setup schon die ioBroker-Datenbank.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Thomas Braun last edited by

          @thomas-braun sagte in Wie kann ich den Streamer.bot Client in JS verwenden?:

          @worlik sagte in Wie kann ich den Streamer.bot Client in JS verwenden?:

          let sbServerPort = '9090';

          Da läuft in einem Standard-Setup schon die ioBroker-Datenbank.

          sischer datt?

          9000 und 9001hätte ich jetzt gesagt 🤔

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @Homoran last edited by

            @homoran
            Du hast natürlich Recht. Hatte ich gerade mit was anderem verwuchselt.

            1 Reply Last reply Reply Quote 0
            • M
              MCU last edited by

              @worlik evtl?

              const { StreamerbotClient } = require('@streamerbot/client');
              
              1 Reply Last reply Reply Quote 0
              • W
                Worlik last edited by

                @Thomas-Braun Der Websocket Server läuft auf einem anderen PC, deswegen ist der Port eigentlich egal.

                @MCU Interessant, so funktioniert es. Allerdings verstehe ich nicht, wann man die geschweiften Klammern braucht und wann nicht. Wie erkennt man das? Try and error? Beim WebSocket selbst sieht das ja zum Beispiel dann so aus:

                const WebSocketClient = require('websocket').client;
                

                Oder müsste das in der jeweiligen Doku stehen? Habe ich so leider nicht gefunden. 😒

                M haus-automatisierung 2 Replies Last reply Reply Quote 0
                • M
                  MCU @Worlik last edited by MCU

                  @worlik Man schaut in die Doku.
                  https://github.com/Streamerbot/client

                  0c79fcda-aee1-430b-8e5d-ecd933cf694b-image.png

                  W 1 Reply Last reply Reply Quote 1
                  • W
                    Worlik @MCU last edited by

                    @mcu Okay, also sprich die von mir oben schon verlinkte Doku auf der offiziellen Webseite ist falsch:

                    dae034b1-560a-429e-a9ac-bf3341a9ab4b-image.png

                    Die Angabe:

                    import { StreamerbotClient } from '@streamerbot/client';
                    

                    funktioniert übrigens auch in JavaScript so nicht.

                    Das hier funktioniert als einziges und das habe ich keiner Doku gefunden:

                    const { StreamerbotClient } = require('@streamerbot/client');
                    

                    Ich kenne mich mich node.js nicht aus und schreibe sonst immer Vanilla JavaScript oder verwende für Oberflächen Dinge wie jQuery. Also keine Ahnung, wo nun hier die genauen Zusammenhänge sind. Aber egal, habe ja nun eine funktionierende Lösung. Vielen Dank für die Hilfe. 😁

                    1 Reply Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @Worlik last edited by

                      @worlik sagte in Wie kann ich den Streamer.bot Client in JS verwenden?:

                      Allerdings verstehe ich nicht, wann man die geschweiften Klammern braucht und wann nicht. Wie erkennt man das?

                      const WebSocketClient = require('websocket').client;
                      

                      Das ist das gleiche wie

                      const { client } = require('websocket');

                      Ist nur eine andere Schreibweise und nennt sich "Object destructuring".

                      Object destructuring is a JavaScript feature that allows you to extract specific properties from an object and assign them to variables in a more concise and readable way. It's a way to "unpack" values from objects and simplify your code when working with objects with many properties.

                      W 1 Reply Last reply Reply Quote 1
                      • W
                        Worlik @haus-automatisierung last edited by

                        @haus-automatisierung Vielen Dank.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        630
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        380
                        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