Seite 1 von 1

Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 12. Jan 2022 23:02
von ./mf
Hallo. Ich habe einen Telegram Bot verbunden, der in zwei Chats posten darf.

In einer der Chats soll er ganz normal posten und in dem anderen mit Markdown formatierte Nachrichten umsetzen.

Unter OH2.5 habe ich das in einem Config File hinterlegt.

Code: Alles auswählen

bots=bot1,bot2

bot1.chatId=123
bot1.token=12345678:abcdefgh
bot1.parseMode=Markdown

bot2.chatId=-456
bot2.token=12345678:abcdefgh
bot2.parseMode=None
Jetzt mit OH3.2 mache ich alles in der Main UI. Lege ich einen zweiten Bot Connector an, um die Einstellung zu trennen, meckert OH im Log, dass es nur einen(*) geben kann.

Code: Alles auswählen

Telegram exception: GetUpdates failed with error_code 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
Wie aber kann ich das in der Main UI einstellen? Oder wir kann man zumindest Script seitig sagen, ob formatiert wird, oder nicht. ZB hatte ich auch mal diese Meldung ...

Code: Alles auswählen

Failed to send telegram message: Bad Request: chat not found
Hier habe ich aber rausgefunden, dass bei multiplen ChatIDs, die ID im Aufruf als erster Parameter enthalten sein muss. Diese Meldung ist nun weg.

Bleibt nur noch das partielle Markdown Problem. Ideen?


(*) Highlander :-D

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 13. Jan 2022 00:19
von udo1toni
Die Frage ist, wie Du tatsächlich angelegt hast. Das Telegram Binding in openHAB3 arbeitet mit dem Thing Modell. Pro Bot legst Du ein Thing an. Damit stehen dann auch die Parameter für MarkDown pro Thing zur Verfügung. Du kannst auch einen Bot mit mehreren ChatIDs verbinden, aber das ist dann ein Thing und entsprechend gibt es dann auch nur einmal die Möglichkei, MarkDown einzustellen.

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 13. Jan 2022 13:27
von ./mf
udo1toni hat geschrieben: 13. Jan 2022 00:19 Pro Bot legst Du ein Thing an
Genau das war auch mein Plan und so habe ich gestartet.

Dann bekomme ich aber dies in der Logausgabe, wenn ich ein Telegram verschicken will.

Code: Alles auswählen

Telegram exception: GetUpdates failed with error_code 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 13. Jan 2022 14:23
von int5749
./mf hat geschrieben: 13. Jan 2022 13:27
Genau das war auch mein Plan und so habe ich gestartet.
Dann poste doch mal Deine Konfig (natürlich mit User/PW/Bots anonymisiert) aber eben Thing, Item und Rule.
Evtl. sieht man dann mal wo ein Fehler sein könnte. :D

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 13. Jan 2022 17:36
von ./mf
int5749 hat geschrieben: 13. Jan 2022 14:23 Dann poste doch mal Deine Konfig (natürlich mit User/PW/Bots anonymisiert) aber eben Thing, Item und Rule.
WIe kann ich diese aus Main UI in Textform exportieren?
Ansonsten muss ich Screenshots machen.

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 13. Jan 2022 18:17
von int5749
./mf hat geschrieben: 13. Jan 2022 17:36 WIe kann ich diese aus Main UI in Textform exportieren?
Ansonsten muss ich Screenshots machen.
Export geht leider nicht, dann bleiben Screenshots, bzw. kannst Du in den Things/Items auf den Reiter Code wechseln und dort den YAML Code markieren und kopieren.

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 14. Jan 2022 16:26
von ./mf
Irgendwie hatte das gestern mit dem WebUI nicht geklappt. Ich habe da lustigerweise immer mal Fehler, wenn ich mit "Zurück" zurück gehe. Zb beim Anschauen/Vergleichen von Things / Items, etc. Oft habe ich auch einen Grauschleier auf der Seite, oder das Suchfeld macht nichts... Nach F5 ist es meist wieder ok, aber oft "hängt" auch die Ganze UI. Einmal muss ich den Container komplett neu starten, weil der sich nicht "erholt" hatte.... :-D

Sei es drum. Hier nun die Things.

Aktuell

Code: Alles auswählen

UID: telegram:telegramBot:bot1
label: Telegram Bot Instance
thingTypeUID: telegram:telegramBot
configuration:
  proxyType: SOCKS5
  longPollingTime: 25
  parseMode: Markdown
  chatIds:
    - ">0815"
    - ">0816"
  botToken: super:geheim
geplant

Code: Alles auswählen

UID: telegram:telegramBot:bot1
label: Telegram Bot 1
thingTypeUID: telegram:telegramBot
configuration:
  proxyType: SOCKS5
  longPollingTime: 25
  parseMode: Markdown
  chatIds:
    - ">0815"
  botToken: super:geheim

UID: telegram:telegramBot:bot2
label: Telegram Bot 2
thingTypeUID: telegram:telegramBot
configuration:
  proxyType: SOCKS5
  longPollingTime: 25
  parseMode: None
  chatIds:
    - ">0816"
  botToken: super:geheim

Ein Item gibt es nicht... Das ist meine aktuelle abgespeckte Rule. Mit nur einem Bot.

Code: Alles auswählen

var tg1 = actions.get("telegram", "telegram:telegramBot:bot1");
tg1.sendTelegram(0815, "mach was ...");
Sobald ich das zweite Thing anlege, kommen og Meldungen alá "Es kann nur Einen geben"....

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 14. Jan 2022 20:53
von udo1toni
Und unter openHAB2 hat das so funktioniert? Ich könnte mir vorstellen, dass openHAB sich daran stört, dass es sich um den selben Bot handelt. (gesetzt den Fall, super:geheim ist in beiden Bots tatsächlich identisch)

Eventuell wäre es sinnvoll, die Frage ins englische Forum zu eskalieren, dort liest vielleicht der Entwickler mit...

Re: Telegram | multiple Chat IDs | Markdown partiell

Verfasst: 14. Jan 2022 22:39
von ./mf
super:geheim ist absolut identisch. Nur eben die Chat ID nicht ....
EN kann ich machen. Thx