Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. WhatsApp Adapter - Verzögerung beim Versand

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    WhatsApp Adapter - Verzögerung beim Versand

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @surfer09 last edited by

      @surfer09 sagte in WhatsApp Adapter - Verzögerung beim Versand:

      Eigentlich wollte ich meinen Telegram-Adapter ablösen, weil ich Telegram ansonsten nicht benutze.

      Ich nutze nur telegram.
      Weil es über whatsapp nicht so funktioniert wie ich es möchte (hast du ja schon selber festgestellt).

      surfer09 1 Reply Last reply Reply Quote 0
      • surfer09
        surfer09 @bahnuhr last edited by

        @bahnuhr Ja, schade eigentlich. Bleibe dann auch bei Telegram.

        Ro75 1 Reply Last reply Reply Quote 0
        • Ro75
          Ro75 @surfer09 last edited by

          @surfer09 Ich nutze nicht den Adapter, sondern ein reines Skript. Da dauert es keine 5 Sekunden.

          surfer09 bahnuhr 2 Replies Last reply Reply Quote 0
          • surfer09
            surfer09 @Ro75 last edited by

            @ro75 Okay.. Darf ich fragen, wie das Skript aussieht? Ich bin jetzt nicht so der Programmierer.

            1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @Ro75 last edited by

              @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

              @surfer09 Ich nutze nicht den Adapter, sondern ein reines Skript. Da dauert es keine 5 Sekunden.

              bei whatsapp ?
              cool

              Dann zeig doch mal das Script.

              1 Reply Last reply Reply Quote 0
              • Ro75
                Ro75 last edited by

                Dieses Skript stammt von: Stephan Kreyenborg

                Das als GLOBAL:

                /*
                 * @copyright 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                 *
                 * @author 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                 *
                 * Dieses Skript dient zur freien Verwendung in ioBroker zur Versendung Nachrichten an den CallMeBot Service.
                 * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
                 * und Performance entwickelt.
                 * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
                 *
                 * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
                 * https://www.kreyenborg.koeln
                 * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
                 * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
                 * 
                 * Ansprüche gegenüber Dritten bestehen nicht. 
                 * 
                 * Skript Name:        WhatsAppBot
                 * Skript Version:    1.1
                 * Erstell-Datum:    19. April 2021
                 * 
                 * Aufruf erfolgt mit: WhatsAppBot(0, "Dies ist eine Testnachricht!");
                 * Wobei 0 das erste registrierte Gerät ist, das zweite hat die 1 usw. Für alle Geräte gleich "alle" benutzen
                 */
                function WhatsAppBot(empfaenger, text) {
                    // Hier kommen Deine API Keys rein
                    var api_keys = ["75XXXX", "17XXXXX", "89XXXXX"];
                
                    // Hier kommen die zughörigen Telefonnummern rein
                    var telephone_nummer = ["+491522XXXXX", "+491525XXXXXX", "+49163XXXXX"];
                
                    // Textnachricht bereinigen
                    var nachricht = text.replace(/\s/g, "+");
                    nachricht = nachricht.replace(/<br>/g,"%0A");
                
                    // An alle oder nur an einen bestimmten Empfänger
                    if (Array.isArray(empfaenger)) {
                        for (let i = 0; i < empfaenger.length; i++) {
                            sendeWhatsApp(telephone_nummer[empfaenger[i]], api_keys[empfaenger[i]], nachricht);
                        }
                    }
                    if (empfaenger == "alle") {
                        for (let i = 0; i < telephone_nummer.length; i++) {
                            sendeWhatsApp(telephone_nummer[i], api_keys[i], nachricht);
                        }
                    }
                
                    if (Number.isInteger(empfaenger)) {
                        sendeWhatsApp(telephone_nummer[empfaenger], api_keys[empfaenger], nachricht);
                    }
                }
                
                function sendeWhatsApp(empfaenger, api_key, nachricht) {
                    if (empfaenger != "" && api_key != "" && empfaenger != undefined && api_key != undefined) {
                        exec("curl -X GET 'https://api.callmebot.com/whatsapp.php?phone=" + empfaenger + "&text=" + nachricht + "&apikey=" + api_key + "'",
                            function (error, stdout, stderr) {
                                if (stdout.includes("Message queued") || stdout.includes("invalid") || stdout.includes("currently a limit")) {
                                    if (stdout.includes("Message queued")) {
                                        log("WhatsAppBot: Erfolg: Nachricht an " + empfaenger + " verschickt!");
                                    }
                                    if (stdout.includes("invalid")) {
                                        log("WhatsAppBot: Fehler: API Key für " + empfaenger + " ist ungültig!");
                                    }
                                    if (stdout.includes("currently a limit")) {
                                        log("WhatsAppBot: Fehler: 25 Nachrichten pro 4 Stunden Limit erreicht für " + empfaenger + "!");
                                    }
                                } else {
                                    log("WhatsAppBot: Fehler: Nachricht an " + empfaenger + " konnte nicht verschickt werden! Error: " + error);
                                }
                            });
                    } else {
                        log("WhatsAppBot: Fehler: Empfänger oder API Key für diese Position ungültig!");
                    }
                }
                
                

                So der Aufruf:

                WhatsAppBot("alle", "Essenplanung schon erledigt?");
                

                oder

                WhatsAppBot([0,1], Toner hat noch eine Restkapazität von ...");
                
                surfer09 bahnuhr DJMarc75 3 Replies Last reply Reply Quote 2
                • surfer09
                  surfer09 @Ro75 last edited by

                  @ro75 Danke! Ich arbeite überwiegend mit Blockly Skripten, wie bekomme ich das denn dort untergebracht? Also so wie ich das verstehe, müsste ja nur der Aufruf im Blockly Skript passieren, das Globale Skript lege ich als Java-Skript in den Global Ordner?!

                  Ro75 1 Reply Last reply Reply Quote 0
                  • Ro75
                    Ro75 @surfer09 last edited by

                    @surfer09 Ja, das kommt nach Global. Nur mit Blockly kann icht dir leider nicht helfen.

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active @Ro75 last edited by

                      @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                      WhatsAppBot([0,1], Toner hat noch eine Restkapazität von ...");

                      Im Script steht:

                       log("WhatsAppBot: Fehler: 25 Nachrichten pro 4 Stunden Limit erreicht für " + empfaenger + "!");
                      

                      Ist es richtig, dass man "nur" 25 Nachrichten in 4 Stunden senden darf ?

                      Wenn ja, dann ist das völlig unbrauchbar.

                      Ro75 1 Reply Last reply Reply Quote 0
                      • Ro75
                        Ro75 @bahnuhr last edited by

                        @bahnuhr JA die kostenfreie Variante. Das gilt aber nicht nur für das Skript, auch für den Adapter.

                        bahnuhr 1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active @Ro75 last edited by

                          @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                          JA die kostenfreie Variante. Das gilt aber nicht nur für das Skript, auch für den Adapter.

                          Ok, Danke für die Info.

                          Dann für mich völlig unbrauchbar. Bleibe bei telegram.
                          25 Nachrichten hab ich ja in 15 Minuten.
                          Also nix für mich.

                          1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @Ro75 last edited by

                            @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                            Das als GLOBAL:

                            Warum ?

                            bahnuhr Ro75 Homoran 3 Replies Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @DJMarc75 last edited by

                              @djmarc75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                              @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                              Das als GLOBAL:

                              Warum ?

                              Weil man mit einem Kurzbefehl:
                              whatsapp ....
                              das globale Script aufruft und dort das ganze abgearbeitet wird.

                              DJMarc75 1 Reply Last reply Reply Quote 1
                              • Ro75
                                Ro75 @DJMarc75 last edited by

                                @djmarc75 So stand es in der Anleitung. Kann man mit Sicherheit auch nicht in Global ablegen.

                                bahnuhr 1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active @Ro75 last edited by

                                  @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                                  nicht in Global ablegen.

                                  ne nicht sinnvoll.

                                  Dann muss man ja alles (key, nr., etc) in jedem Script einfügen wo es Verwendung findet.

                                  1 Reply Last reply Reply Quote 0
                                  • DJMarc75
                                    DJMarc75 @bahnuhr last edited by

                                    @bahnuhr sagte in WhatsApp Adapter - Verzögerung beim Versand:

                                    Weil man mit einem Kurzbefehl:
                                    whatsapp ....
                                    das globale Script aufruft und dort das ganze abgearbeitet wird.

                                    ok, verstanden 👍

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

                                      @djmarc75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                                      @ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:

                                      Das als GLOBAL:

                                      Warum ?

                                      dann ist das Skript wie ein Adapter und steht jedem anderen Skript zur Verfügung

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      475
                                      Online

                                      32.0k
                                      Users

                                      80.4k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      21
                                      537
                                      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