NEWS
Telegram: GruppenID werden nicht unterstützt
-
würde mich auch interessieren .. jemand ne Lösung?
-
Hier auch. Wenn ich's über den Browser schicke, funktioniert's einwandfrei, aus ioBroker gehts immer an meinen persönlichen Chat, nicht in die Gruppe.
-
Bin ich der Einzige mit diesem Problem - oder der Einzige, der an Gruppen sendet? `
Hallo zusammen,vielleicht hat sich das Problem ja mittlerweile schon gelöst, aber ich habe gerade erfolgreich Nachrichten an meine Gruppe weitergeleitet. Kein Problem.
sendTo('telegram.0', { text: 'TEXT', chatId: -1655xxxxx});
Ich habe Adapter v1.0.8 installiert.
@Fitti: In deinem Code ist direkt hinter der chatid ein Komma. Probiere es mal ohne. Das sieht irgendwie nicht richtig aus.
-
aber wie kann ich in Blockly die chatid hinzufügen?
-
gibts hier schon was neues?
-
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.
-
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.
-
… habe jetzt ein "issue" im Git geöffnet:
-
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ß
-
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. ?
-
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ß
-
Hallo,
danke für die schnelle Antwort. So funktioniert es Prima
-
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'});
-
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'});
-
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
-
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);
-
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ß
-
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!
-
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!
-
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