NEWS
[gelöst] Telegram Adapter - Nachricht an User x
-
Würdest du uns zeigen, wie das mit den Chat-IDs geht. Wie bekomme ich diese raus?
Gesendet von iPhone mit Tapatalk
-
Was geht jetzt genau? Du kannst an jeden beliebigen telegram user schicken?
Welcher Absender erscheint dann? Der Bot?
Ist die Chat-ID unter Blockly der Username?
Ich habe zwei bots laufen am Handy, da ich den einen auf lautlos stelle und der andere zum Alarme senden ist (auch nachts).
Würdest du uns zeigen, wie das mit den Chat-IDs geht. Wie bekomme ich diese raus? `
Wüsste ich auch gerne. -
Also der Absender ist weiterhin der Bot den Ihr angelegt habt. Mit den zusätzlichen Code (siehe unten) wird der Adapter/Bot angewiesen die Nachricht nur an die jeweilige Chat ID zu versenden. Anzeigetechnisch ändert sich nichts.
Die ChatID auszulesen war sehr schwierig für mich die ganzen Anleitungen im Netz wollten nicht.
Dann bin ich auf den Bot: http://telegram.me/userinfobot gestoßen.
Einfach <size size="120">den Bot mit Telegram anschreiben</size> und ihr bekommt vom der Telegram App die ID zurück.
Ich erstelle meine Scripts meist mit Blockly da ich echt noch wenig plan von Javascript habe. Da ich dann aber nicht die Codezeile einfügen konnte habe ich immer erst das Script zuende gebaut und dann die Codezeile im nachhinein angefügt.
Zur Codezeile diese lautet:
chatId: 'SOME-CHAT-ID-123'
Diese wird in den sendTo Befehl eingebaut. Da ich kein Experte bin kann ich euch nicht genau sagen wie ihr das am besten einbaut. Ich habe es nach dem Beispiel gemacht und es ging.
Hier mein Beispielscript was die Tür Checkt und immer wenn sie geöffnet oder geschlossen wird eine Nachricht sendet.
on({id: 'hm-rpc.0.NEQ1824439.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log(((obj.state ? obj.state.val : "") ? 'Tür zur Wohnung wurde geöffnet' : 'Tür zur Wohnung wurde geschlossen')); sendTo("telegram.0", "send", { text: ((obj.state ? obj.state.val : "") ? 'Tür zur Wohnung wurde geöffnet' : 'Tür zur Wohnung wurde geschlossen'), chatId: 'XXX' }); });
-
Danke, damit kann ich es ausprobieren.
Die ID vom Bot scheint dann die 9-stellige Zahl zu sein im telegram Adapter, oder? Das ist der Anfang des tokens.
-
Nein!
Du benötigst deine ChatID!
Also die ID von deiner App. Der Bot sendet die Nachricht ja zu dir!
-
Nein!
Du benötigst deine ChatID!
Also die ID von deiner App. Der Bot sendet die Nachricht ja zu dir!
Danke, hat jetzt geklappt. Der Bot heisst also "userinfobot"… ich hatte fälschlicherweise den code
> /userinfobot ` versucht gehabt. -
Super 8-)
Das sollte theoretisch auch mit Bildern usw. klappen habe ich aber noch nicht eingerichtet.
-
Zur Codezeile diese lautet: `
Irgendwo habe ich wohl wieder nen Bock drin.
Habe das Script angepasst auf meine schaltbare Funkdose zum testen. ChatID habe ich ausgelesen nur leider kommt eine Fehlermeldung:
telegram.0 2018-08-21 14:30:38.416 error Cannot send message [user - undefined]: Error: ETELEGRAM: 400 Bad Request: chat not found
Habe ich was vergessen zu konfigurieren ?
-
Dieses Thema hat mir geholfen. Die Chat ID findet man einfach unter dem Telegram Adapter. Dort wird die letzte User ID und auch die letzte Chat ID angezeigt. Also super Easy. Jetzt antwortet der Bot nur noch da wo er es hin senden soll!
Gruß
Christoph
-
Auch wenn dieses Thema schon älter ist: ich möchte mir per Script eine NAchricht zukommen lassen:
sendTo('telegram.0', { text: 'Bitte wähle ein Button', reply_markup: { keyboard: [ ['nichts unternehmen', '3d drucker ausschalten'], ], resize_keyboard: true, one_time_keyboard: true } }); {1}
Nun habe ich versucht mittels 'chatID: 9988776655' an verschiedenen Stellen nur mir diese Nachricht zukommen zu lassen, was aber nicht funktioniert hat. Kann mir einer verraten wo die ChatID genau gesetzt werden muss in "meinem" Script?