Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Telegram: GruppenID werden nicht unterstützt

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Telegram: GruppenID werden nicht unterstützt

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

      Hi,

      ich habe das gerade getestet, weil ich versucht habe dass mir mein Bot in Gruppen antwortet.

      Das hier funktioniert:

      sendTo('telegram.0', {
            text:   'TEXT',
            chatId: -1655xxxxx});
      
      

      Mein Bot ist Admin im diesem Chat damit er die Nachrichten lesen kann. Weiß nicht ob das einen Unterschied macht.

      1 Reply Last reply Reply Quote 0
      • O
        ohuf last edited by

        Hi

        habe das selbe Problem. Hier die Lösung… und die Erklärung, warum es im Blockly nicht funktioniert:

        Wie oben bereits beschrieben, funktioniert folgender Code, um eine Telegramm Nachricht an eine Gruppenchat zu schreiben:

            sendTo("telegram.0", "send", {
                text: 'Wau-Wau!',
                chatId: -301230000
            });
        
        

        Dabei ist es unerheblich, ob die Gruppen-Chat-Nummer als String ( '-301960000' ) oder - wie oben dargestellt - ohne Anführungszeichen geschrieben wird.

        Das Problem ist nun, dass Blockly den o.a. Funktionsaufruf nicht verwendet.

        Der von Blockly generierte Funktionsaufruf sieht so aus (testweise mit einer Gruppen-Id):

            sendTo("telegram.0", "send", {
                text: 'Miau!',
                user: '-301230000'
            });
        
        

        Wer sieht's?

        Genau: statt chatId verwendet Blockly immer das Attribut user.

        Mit "user" funktioniert das Senden an Gruppenchats nicht.

        Es gibt eine Möglichkeit, dennoch Gruppenchats zu senden. Dazu muss das "Blockly" Diagramm nach Javascript umgewandelt werden. Wenn das allerdings mit der Drop-Down "Enginetyp" im Skriptfenster gemacht wird, dann gibt's von Javascript keinen Weg zurück nach Blockly!!! Bei komplexeren Skripten mag das für den einen oder anderen eine Delle in der Wartbarkeit bedeuten.. 🙂

        Die tatsächlich richtige Art der Korrektur wäre, wenn der Autor des Telegramm Adapters statt user immer chatId in Blockly verwenden würde: Mit chatId ist es egal, ob ich einen einzelnen Teilnehmer (über die positive User ID) oder einen Gruppenchat adressiere.

        Vielleicht können wir das auch selber ändern??

        Hoffe, das hilft dem einen oder anderen weiter.

        1 Reply Last reply Reply Quote 0
        • O
          ohuf last edited by

          … habe jetzt ein "issue" im Git geöffnet:

          https://github.com/ioBroker/AdapterRequests/issues/99

          ohuf created this issue in ioBroker/AdapterRequests

          closed Blockly Telegram SendTo: Allow for Group chat receivers (not only single users) #99

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

            Gefixt in Version 1.2.6

            -12345678 als Empfänger im Blockly Block wird ab Telegram Adapter Version 1.2.6 als chatId interpretiert und nicht mehr als User.

            Gruß

            1 Reply Last reply Reply Quote 0
            • H
              Hohenbostler last edited by

              Hi ich habe jetzt die 1.2.6 drauf und so wie ich das sehe ist es immer noch User ID oder ?

              Mache ich evtl etwas falsch. ?

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

                Wie sieht dein Script denn aus? Gruppenids beginnen immer mit - also z. B. -1234567..

                Wenn du -1234567 als Empfänger einträgst im Blockly wird automatisch im Hintergrund auf chatId umgestellt..

                Gruß

                1 Reply Last reply Reply Quote 0
                • H
                  Hohenbostler last edited by

                  Hallo,

                  danke für die schnelle Antwort. So funktioniert es Prima 😉

                  1 Reply Last reply Reply Quote 0
                  • D
                    deifel last edited by

                    Hallo zusammen,

                    ich versuche gerade, mein Telegram Script an eine Gruppe ans Laufen zu bekommen.

                    Das Problem ist bei nachfolgendem Script, dass ich nicht die Variablen bekomme, sondern den Text als solches.

                    Kann mir jemand auf die Sprünge helfen und sagen, wie ich das Script umbauen kann?

                    Ist sicherlich nur ne Kleinigkeit, bin aber leider zu sehr Anfänger…

                    Vielen Dank im Voraus!!!

                     sendTo('telegram.0', { text: 'getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val+" "+getState("javascript.0.Status.Lichter.Anzahl_ein"/*Anzahl der eingeschalteten Lichter*/).val+" "+getState("javascript.0.Status.Lichter.Ansage"/*Eingeschaltete Lichter (Ansage)*/).val);', chatId: '-24387978'});
                    
                    1 Reply Last reply Reply Quote 0
                    • X
                      Xyolyp last edited by

                      Wenn du Code in Anführungszeichen setzt wird er nicht ausgeführt, sondern es wird der Text verwendet, der in den Anführungszeichen steht. So sollte es funktionieren:

                      sendTo('telegram.0', { 
                      	text: getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val+" "+getState("javascript.0.Status.Lichter.Anzahl_ein"/*Anzahl der eingeschalteten Lichter*/).val+" "+getState("javascript.0.Status.Lichter.Ansage"/*Eingeschaltete Lichter (Ansage)*/).val), 
                      	chatId: '-24387978'});
                      
                      1 Reply Last reply Reply Quote 0
                      • D
                        deifel last edited by

                        Danke Dir für Deine Hilfe. Leider spuckt mir Javascript sofort einen Scriptfehler aus. Hatte selbst schon in der Art herumprobiert.

                        Er bringt mir einen Syntax Error. Scheint also noch irgendwo ein Fehler drin zu sein 😞

                        Wäre Dir dankbar, wenn Du den siehst?

                        Grüße

                        1 Reply Last reply Reply Quote 0
                        • D
                          deifel last edited by

                          Zum Vergleich: Das Script hier funktioniert mit Telegram. Aber da fehlt mir die Angabe der Chat-ID, die ich für den Gruppenchat brauche…

                          sendTo('telegram.0', getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val+" "+getState("javascript.0.Status.Lichter.Anzahl_ein"/*Anzahl der eingeschalteten Lichter*/).val+" "+getState("javascript.0.Status.Lichter.Ansage"/*Eingeschaltete Lichter (Ansage)*/).val);
                          
                          1 Reply Last reply Reply Quote 0
                          • BuZZy
                            BuZZy last edited by

                            sendTo('telegram.0', {
                                text: getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val + ' ' + getState("javascript.0.Status.Lichter.Anzahl_ein").val + ' ' + getState("javascript.0.Status.Lichter.Ansage").val,
                                chatId: '-24387978'
                            });
                            

                            Gruß

                            1 Reply Last reply Reply Quote 0
                            • D
                              deifel last edited by

                              @BuZZy:

                              sendTo('telegram.0', {
                                  text: getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val + ' ' + getState("javascript.0.Status.Lichter.Anzahl_ein").val + ' ' + getState("javascript.0.Status.Lichter.Ansage").val,
                                  chatId: '-24387978'
                              });
                              

                              Gruß `

                              Rückmeldung: Funktioniert perfekt, danke Dir vielmals!

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

                                Sollte so gehen. Nicht geprüft, weil ich jetzt im Büro sitze.

                                var inhalt = 'Fenster auf = ';
                                inhalt += getState("javascript.0.zählen_Fenster.textFensteraufAnsage").val;
                                inhalt += '\nLichter an = ';
                                inhalt += getState("javascript.0.Status.Lichter.Anzahl_ein").val;
                                inhatl += '\nLichter Ansage = ';
                                inhalt += getState("javascript.0.Status.Lichter.Ansage").val;
                                
                                var MyChatId = "-24387978"
                                
                                sendTo('telegram.0', {text: inhalt, chatId: MyChatId});
                                

                                Den Inhalt habe ich optisch ein wenig angepasst. aber das ist deine Arbeit! 😉

                                1 Reply Last reply Reply Quote 0
                                • D
                                  derAndyk last edited by

                                  Hallo zusammen,

                                  danke für die Tipps hat funktioniert 🙂

                                  jetzt mal eine Frage da ich keine JS Erfahrung habe, kann man dies (an eine Gruppen ID Senden) auch über Blockly machen?

                                  kann leider in meinen Blockly Scripten die Zeile nicht hinzufügen 😞

                                  ich musste das komplette Script kopieren und neu als JS erstellen… ist das der einzige Weg ??

                                  LG Andy

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

                                    Einfach als Empfänger im Blockly die ChatID eintragen.

                                    Gruß

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    311
                                    Online

                                    31.6k
                                    Users

                                    79.5k
                                    Topics

                                    1.3m
                                    Posts

                                    14
                                    28
                                    5328
                                    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