NEWS
[gelöst] Telegram Adapter - Nachricht an User x
-
Gibt es eine Möglichkeit das Scripte die Telegram Nachrichten nur an User x senden? Momentan bekommen alle beim bot angemeldeten User die Nachrichten. Waschmaschine fertig braucht z.b nur die Frau und würde ich nur ihr schicken lassen. Weiß aber nicht ob das möglich ist. Kann momentan nur die Telegram Instanz wählen. Einer ne Idee?
Gesendet von meinem SM-G928F mit Tapatalk
-
Das sollte doch mit einem zweiten bot auf zweiter telegram instanz funktionieren, oder?
Zumindest habe ich das so, aber auf einem Handy. Müsste genauso so funktionieren auf zweitem Handy.
-
Ja gut das würde gehen. Hab auch aktuell 2. Aber ich mag keine 5 oder mehr bots laufen haben würde gerne das Script erweitern das er diese Nachricht nur an Benutzer x schickt.
Also ein Update von mir:
Man kann bei Telegram sich mit seiner UserID nachrichten senden lassen. Das sollte mit dem Adapter möglich sein.
Ich schaue mir mal den Adapter an ob ich da was rausbekomme.
Hier steht was.. ich teste das mal:
Chat ID From version 0.4.0 you can use chat ID to send messages to chat. sendTo('telegram.0', {text: 'Message to chat', chatId: 'SOME-CHAT-ID-123');
So geht es :!: Prima nun geht alles mit einem Bot 8-)
-
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?