Autor Thema: Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM  (Gelesen 440156 mal)

Offline chr2k

  • Sr. Member
  • ****
  • Beiträge: 595
Gibt es eine Möglicheit Zahlen in Telegram nicht als Link dargestellt zu bekommen?

Online amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5538
Mit backquote vorne?
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline chr2k

  • Sr. Member
  • ****
  • Beiträge: 595
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.

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3947
    • Meine Seite im fhemwiki
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

Also so etwas wie


<code>1234567</code>

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

Offline rob

  • Full Member
  • ***
  • Beiträge: 165
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
eingesetztes Sys: fhem@Raspi3B mit DietPi (Debian Stretch) als Unterbau auf USB-HDD am aktiven Hub | Z-Wave Stick Aeotec AEOEZW090-C | nanoJeeLink | SIGNALduino@433 | SIGNALduino@868 | RFXtrx433e | Denkovi USB-OW-Busmaster | Arduinos, ESP-07er und Sonoff Basics m. config. Firmata/EspEasy

Offline chr2k

  • Sr. Member
  • ****
  • Beiträge: 595
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

Offline rob

  • Full Member
  • ***
  • Beiträge: 165
Klappt wunderbar.
Also ist es doch bereits steuerbar. Gut zu wissen.  :)

Weitere Infos unter https://sourceforge.net/p/telegram-bot/wiki/markdown_syntax/#md_ex_text und https://stackoverflow.com/questions/38119481/send-bold-italic-text-on-telegram-bot-with-html werde mir jetzt mal in Ruhe anschauen.

Danke und viele Grüße
rob
eingesetztes Sys: fhem@Raspi3B mit DietPi (Debian Stretch) als Unterbau auf USB-HDD am aktiven Hub | Z-Wave Stick Aeotec AEOEZW090-C | nanoJeeLink | SIGNALduino@433 | SIGNALduino@868 | RFXtrx433e | Denkovi USB-OW-Busmaster | Arduinos, ESP-07er und Sonoff Basics m. config. Firmata/EspEasy

Offline dora71

  • Full Member
  • ***
  • Beiträge: 143
Was auch geht im ParseMode HTML ist:

<pre>56789</pre>
Gruß Rainer

Offline dora71

  • Full Member
  • ***
  • Beiträge: 143
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

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3947
    • Meine Seite im fhemwiki
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

Offline dora71

  • Full Member
  • ***
  • Beiträge: 143
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

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3947
    • Meine Seite im fhemwiki
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

Offline dora71

  • Full Member
  • ***
  • Beiträge: 143
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

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3947
    • Meine Seite im fhemwiki
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
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline dora71

  • Full Member
  • ***
  • Beiträge: 143
Manchmal muss man nur hartnäckig bleiben, sowohl als Entwickler als auch als User  8)

Danke für's schnelle fixen.

Gruß Rainer

 

decade-submarginal