Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

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

Vorheriges Thema - Nächstes Thema

chr2k

Gibt es eine Möglicheit Zahlen in Telegram nicht als Link dargestellt zu bekommen?

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

chr2k

Zitat von: amenomade am 22 März 2020, 20:40:47
Mit backquote vorne?

Du meinst dieses Zeichen? `

Was meinst du mit vorne?

Ich habe es jetzt vor der Zahl eingefügt. Jeodch wird es mir dann in der Nachricht lediglich als Tet ausgegeben.

Dann habe ich die Zahl "eingeqoutet", wie ich hier gelesen habe: https://linuxwiki.de/Backquote
Half auch nicht.

viegener

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

rob

Hallo.

Ein ähnliches Thema gab es hier damals schon (Post #2010). Ich hatte mal anhand versch. Smartphones Unterschiede in den Clients dargestellt (https://forum.fhem.de/index.php/topic,38328.msg871878.html#msg871878).

Telegram aus dem Playstore unter Android 7 macht bei mir Zahlen nur dann zum Link, wenn ich +49 davor setze. Und nur dann.
Unter LineageOS (Andro 9) und Telegram vom F-Droid dagegen zeigt es die meisten Zahlen als Link (analog unter iOS).

Man muss unterscheiden in lange Zahlen, wo das Phänomen überwiegend auftritt, und kurze Zahlen.

Der einzige mir bekannte Fall, wo aus langen Zahlen zuverlässig kein Link wird: ein + davor. Richtig nützlich ist das natürlich nicht.
z.B. set myTelegramBot msg +0123456

Kurze Zahlen werden bei keiner meiner Telegram-Varianten zum Link. Kurz heißt: zweistellig ohne Komma (12) oder einstellig mit einer Nachkommastelle (7.9). Mehr Stellen = lange Zahl = als Link bei einigen Clients.

Mein Fazit: Wird vom Client gesteuert und ist derzeit noch nicht wirklich beeinflussbar. Vielleicht ist es aber schon überholt ;)

Viele Grüße
rob

chr2k

Zitat von: viegener am 23 März 2020, 18:27:03
Hast Du mal versucht die Lösung als HTML und dann mit Code zu versenden:

https://stackoverflow.com/questions/50389855/telegram-messages-from-bot-or-manual-how-to-avoid-numbers-becoming-links-on-mo

Sowas hab ich ja per Google vergeblich gesucht.

Klappt wunderbar. Danke. Jedoch scheinen jetzt die Ziffern eine andere Schriftart zu haben als voher?!


Gruß
Christian

rob


dora71

Was auch geht im ParseMode HTML ist:

<pre>56789</pre>

Gruß Rainer

dora71

Halo zusammen,

vielleicht stand es hier schon irgendwo und/oder ich habe es überlesen. Aber ich glaube, ich habe noch einen Bug gefunden:  ???

Ich bekomme es nicht hin, in einem at-Kommando eine Nachricht mit HTML oder Markdown zu formatieren.
Es funktioniert sowohl in einem DOIF als auch direkt in der Telegram Bot Instanz ausgeführt.
Als "parseModeSend" habe ich "3_InMsg" ausgewählt.

Hat irgendjemand ein lauffähiges Beispiel für mich?

Danke und frohe Ostertage.

Gruß Rainer

viegener

Zitat von: dora71 am 11 April 2020, 23:10:40
Halo zusammen,

vielleicht stand es hier schon irgendwo und/oder ich habe es überlesen. Aber ich glaube, ich habe noch einen Bug gefunden:  ???

Ich bekomme es nicht hin, in einem at-Kommando eine Nachricht mit HTML oder Markdown zu formatieren.
Es funktioniert sowohl in einem DOIF als auch direkt in der Telegram Bot Instanz ausgeführt.
Als "parseModeSend" habe ich "3_InMsg" ausgewählt.

Hat irgendjemand ein lauffähiges Beispiel für mich?

Danke und frohe Ostertage.

Gruß Rainer

Damit ich einen potentiellen Bug lösen kann, müsste ich wissen was nicht funktioniert. Also kannst Du ein Beispiel geben, was nicht funktioniert?

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

dora71

Zitat von: viegener am 12 April 2020, 00:17:00
Damit ich einen potentiellen Bug lösen kann, müsste ich wissen was nicht funktioniert. Also kannst Du ein Beispiel geben, was nicht funktioniert?

Ich versuche, das mal zu konkretisieren. Wie ich bereits schrieb, habe ich in der Telegram Instanz als "parseModeSend" "3_InMsg" ausgewählt.

Was jetzt nicht funktioniert, ist:

define beispiel at 07:30:00 set teleBot message Markdown *Fetter Text*
oder
define beispiel at 07:30:00 set teleBot message HTML <b>Fetter Text</b>

Was hingegen funktioniert, ist:

define gutesbeispiel DOIF ([07:30]) (set teleBot message HTML <b>Fetter Text</b>)

Hoffe, die Erklärung reicht so.

Gruß Rainer

viegener

Zitat von: dora71 am 12 April 2020, 09:52:13
Ich versuche, das mal zu konkretisieren. Wie ich bereits schrieb, habe ich in der Telegram Instanz als "parseModeSend" "3_InMsg" ausgewählt.

Was jetzt nicht funktioniert, ist:

define beispiel at 07:30:00 set teleBot message Markdown *Fetter Text*
oder
define beispiel at 07:30:00 set teleBot message HTML <b>Fetter Text</b>

Was hingegen funktioniert, ist:

define gutesbeispiel DOIF ([07:30]) (set teleBot message HTML <b>Fetter Text</b>)

Hoffe, die Erklärung reicht so.

Gruß Rainer

Nein leider nicht, denn beide Beispiel funktionieren bei mir problemlos und erzeugen das erwartete Ergebnis (ohne log meldung, ohne Warnung, weder bei Ausführung noch beim define).

Also wäre es gut zu sagen was nicht funktioniert? Generell wenn etwas in DOIF geht und in at nicht, ist die Vermutung ja erstmal, dass es an Besonderheiten von at liegen könnte. Aber wie gesagt es funktioniert bei mir und es ist auch nicht klar, was in diesem Fall nicht funktionieren
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

dora71

Hallo nochmal,

habe noch mal ein wenig tiefer gegraben und herausgefunden, dass wohl ein Zeilenumbruch das Übel ausmacht:

Gebe ich in der Definition eines ATs z. B. folgendes ein:
*19:45:00 set teleBot message Markdown *Test mit Fettschrift:*
Luftdruck: bla


erscheint in Telegram folgendes:
Markdown *Test mit Fettschrift:*
Luftdruck: bla

Arbeite ich in der Definition anstatt mit dem Zeilenumbruch mit "\n" und schreibe alles hintereinander weg, funktioniert es mit der Fettschrift wie gewünscht. So hätte ich wenigstens einen Weg mit AT zu arbeiten.

Sollte die Erklärung immer noch nicht reichen, noch mal melden. Kein Problem. Und danke für das schnelle Kontrollieren.

Im Logbuch tauchen bei mir auch keine Fehler auf. Auch nicht beim define oder bei der Ausführung.

Gruß Rainer

viegener

Zitat von: dora71 am 12 April 2020, 19:51:59
Hallo nochmal,

habe noch mal ein wenig tiefer gegraben und herausgefunden, dass wohl ein Zeilenumbruch das Übel ausmacht:

Gebe ich in der Definition eines ATs z. B. folgendes ein:
*19:45:00 set teleBot message Markdown *Test mit Fettschrift:*
Luftdruck: bla


erscheint in Telegram folgendes:
Markdown *Test mit Fettschrift:*
Luftdruck: bla

Arbeite ich in der Definition anstatt mit dem Zeilenumbruch mit "\n" und schreibe alles hintereinander weg, funktioniert es mit der Fettschrift wie gewünscht. So hätte ich wenigstens einen Weg mit AT zu arbeiten.

Sollte die Erklärung immer noch nicht reichen, noch mal melden. Kein Problem. Und danke für das schnelle Kontrollieren.

Im Logbuch tauchen bei mir auch keine Fehler auf. Auch nicht beim define oder bei der Ausführung.

Gruß Rainer

Ja Du hast völlig recht - habs korrigiert und neues telegramBot-MOdul sollte ab morgen im update verfügbar sein

Danke fürs finden!
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

dora71

Manchmal muss man nur hartnäckig bleiben, sowohl als Entwickler als auch als User  8)

Danke für's schnelle fixen.

Gruß Rainer