Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

Begonnen von viegener, 20 Juni 2015, 18:59:41

Vorheriges Thema - Nächstes Thema

amenomade

Telegram verhindert alle Bot zu Bot Kommunikationen.
Direkt ist es dann nicht möglich, @IFTTT Bor und FHEM Bot miteinander kommunizieren zu lassen. Irgendwelcher hat es mit Tasker auf einem Handy in der Mitte versucht. Ich weiss nicht, ob er es geschaft hat. Such mal im Forum.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

rr725

Zitat von: amenomade am 05 September 2017, 12:17:34
Telegram verhindert alle Bot zu Bot Kommunikationen.
Direkt ist es dann nicht möglich, @IFTTT Bor und FHEM Bot miteinander kommunizieren zu lassen.

so etwas hatte ich befürchtet- vielen dank.

viegener

Zitat von: mrbreil am 03 September 2017, 15:44:16
my $msgId = ReadingsVal("teleBot", "msgId", "");
fhem "set teleBot msgEdit $msgId ****";


Habe ich schon probiert, klappt aber leider nicht.

TelegramBot_Callback teleBot: No retry for (ret: Callback returned error :Bad Request: message can't be edited:) for msg 242711327 : ****

Eine Nachricht, die jemand anders gesendet hat (und deren id steht in msgid) kann meines Wissens nicht verändert werden. Nur Nachrichten die der Bot versendet hat. Deren Id steht in sentMsgId. Diese Id muss man sich dann merken - nach erfolgreichem Versenden
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Marlen

Ja, und an wem!
msgEdit <msgid> [ @<peer1> ] <text>


Man kann die Nachricht aber nur einmal ändern!
Wozu nutzt ihr das?

LG
  Marlen

andies

Zitat von: Marlen am 06 September 2017, 21:24:03
Man kann die Nachricht aber nur einmal ändern!
Wozu nutzt ihr das?
Nur einmal? Ich sende mehrfach Grafiken und wollte eigentlich immer die vorletzte Grafik durch die letzte/nächste ersetzen. Das  geht dann also nicht? (Kann man den Chat anderweitig leeren? Der läuft einfach über.)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Marlen

Ja, hab es vorhin versucht, da ging es jedenfalls nur einmal, ob es bei Grafiken überhaupt geht, weiß ich nicht!

Du meinst, vom bot aus den gesamten Chatverlauf auf dem Handy löschen und dann eben die neuen Grafiken schicken.....glaub das geht nicht!

Hab das selbe Problem....die Chats laufen über!

LG
  Marlen

andies

Aber es geht ja händisch zu löschen. Das muss doch auch per Befehl irgendwie gehen. Verdammig.


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

viegener

Zitat von: andies am 06 September 2017, 21:45:26
Aber es geht ja händisch zu löschen. Das muss doch auch per Befehl irgendwie gehen. Verdammig.


Der Bot unterliegt bestimmten Einschränkungen und solange das API nicht erweitert wird sehe ich beim Löschen keine Lösung. Eine Nachricht lässt sich aber mehrfach verändern - so macht das auch der Dialog bei Tbotlist.
(der Link zu deletehistory bezieht sich auf das allgemeine API nicht auf das Bot-API)

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

andies

Ist eine Grafik in diesem Sinne eine "Nachricht"? Danke für den Hinweis mit dem Unterschied in den API, das habe ich nicht bemerkt.


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

viegener

Zitat von: andies am 06 September 2017, 21:51:05
Ist eine Grafik in diesem Sinne eine "Nachricht"? Danke für den Hinweis mit dem Unterschied in den API, das habe ich nicht bemerkt.

Leider können nur Texte geändert werden (Bildunterschriften wärenauch möglich aber werden in meinem Modul nicht unterstützt) - Bilder selbst nicht,

Allerdings gibt es einen Call deleteMessage der vor einiger Zeit hinzugekommen ist. Ich baue dafür eine neue Methode ein. Damit sollte es möglich sein eigene Nachrichten zu löschen (bis zu 48h)

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Es gibt in github eine neue Version mit dem set-Command msgDelete

Dadurch kann man alte nachrichten des Bots löschen, zum Beispiel so

set telegramBot msgDelete 37564

Löscht die Nachricht mit der Id 37564 aus der kommunikation mit dem defaultpeer (es kann natürlich auch ein anderer peer angegeben werden, wenn die Nachricht an jemand anderes versandt wurde). Die Id erhält man aus dem sentMsgId-Reading beim Versand der Nachricht
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Marlen

Kann man dann die Nachricht auch löschen, wenn sie an eine Gruppe gesendet wurde?

LG
  Marlen

mrbreil

Ja das würde mich auch interessieren. Außerdem soll der Bot nicht seine sondern die Nachricht eines anderen löschen, damit zB. ein Pin Code aus dem Verlauf verschwindet.

Carsten

Zitat von: mrbreil am 07 September 2017, 12:23:54
Ja das würde mich auch interessieren. Außerdem soll der Bot nicht seine sondern die Nachricht eines anderen löschen, damit zB. ein Pin Code aus dem Verlauf verschwindet.

Wenn der Bot Nachrichten von jemand anderem als dem Bot manipulieren oder löschen könnte, wäre das fatal. Das wird nie funktionieren. Du würdest ja auch nicht wollen, dass ich deine Nachrichten bearbeiten kann und Telegram weiß ja nicht, dass es für dich okay ist, wenn der Bot das macht.

PIN Eingabe könntest du über das Inline-Keyboard realisieren. Da weiß dann nur der Bot, was du gedrückt hast.

Bisher hat in Gruppen alles funktioniert, was im Direktchat funktioniert. Ich denke, das wird beim Löschen nicht anders sein

viegener

Bezüglich msgDelete: Ich habe mal ein paar Versuche gemacht:

- Ja man kann auch Nachrichten in Gruppen löschen (habe nur normale Gruppen probiert, Supergruppen vermutlich ebenfalls)
- Ja man kann auch Nachrichten von anderen Sendern in Gruppen löschen (!) - Dazu muss der Bot aber explizit im Telegramclient zum Admin gemacht werden

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können