ich habe für diverse Informationen meines Hauses verschiedene TelegramGruppen, in denen jeweils der erstellte Bot Teilnehmer ist und über das Addon "telegram_with_chatID" fleißig Informationen preisgibt.
Nun strauchel ich bereits beim erstellen einer neuen Gruppe jedess Mal über die Tatsache, dass man die benötigte GruppenID nicht "einfach" auslesen kann, sondern ernst (z.B.) den @GetIDBot hinzufügen muss, um zuverlässig an diese Info zu kommen.
Soweit, so gut. Nun spielt man etwas zu viel und wandelt seine Gruppe ausversehen in eine "supergroup" (Was Vorteile für Mitgliedsgrößen >200 bieten soll und diverse andere "tolle" features freischaltet).
Es gibt jedenfalls keinen weg von einer supergruppe zurück zu einer normalen Gruppe und es ändert sich auch die ID
Und da wir nun schon mal eh hier gefangen sind, frage ich mich ob man die #Topic-Funktion für unseren Bot aus OH irgendwie nutzen kann?
Im Browser lautet das Url pattern wie folgt: https://web.telegram.org/a/#-XXXXXXXXXXXXX_1
X = unsere chatid (wesentlich länger bei supergroup als eine id aus normalen groups
_1 = ist das #GeneralTopic
_12 = war zum Bsp. das erste Testtopich, dass ich erstellt habe
_15 = das zweite (also keine Logik)
Habe mal folgende Schnelle Abwandlung probiert:
Code: Alles auswählen
uid: telegram_with_chatID_topicID
tags:
- marketplace:131112
props:
parameters: []
parameterGroups: []
timestamp: Apr 4, 2024, 1:19:14 PM
component: BlockLibrary
config:
name: Telegram with ChatID+TopicID
slots:
blocks:
- component: BlockType
config:
args0:
- name: MESSAGE
type: input_value
- name: BOT
type: input_value
- name: CHAT_ID
type: input_value
- name: TOPIC_ID
type: input_value
colour: "#2ea5d8"
helpUrl: ""
inputsInline: true
lastDummyAlign0: right
message0: send on Telegram %1 from bot %2 with chat id %3 & topic %4
nextStatement: ""
previousStatement: ""
tooltip: ""
type: message
slots:
code:
- component: BlockCodeTemplate
config:
template: >
{{utility:things}}.getActions('telegram', {{input:BOT}}).sendTelegram({{input:CHAT_ID}}_{{input:TOPIC_ID}}, {{input:MESSAGE}});
toolbox:
- component: PresetInput
config:
fields:
TEXT: What's up?
name: MESSAGE
shadow: true
type: text
- component: PresetInput
config:
name: BOT
shadow: true
type: oh_thing
- component: PresetInput
config:
fields:
NUM: 123
name: CHAT_ID
shadow: true
type: math_number
- component: PresetInput
config:
fields:
NUM: 45
name: TOPIC_ID
shadow: true
type: math_number
utilities:
- component: UtilityJavaType
config:
javaClass: org.openhab.core.model.script.actions.Things
name: things
Obwohl folgender Artikel diese Änderung nahe legt: https://medium.com/@rezvovvad/send-noti ... 570b7ab929[WARN ] [gram.internal.action.TelegramActions] - Failed to send telegram message: Bad Request: chat not found
Ich versuche gleich mal ein Ticket für das Binding zu öffnen, da ich denke dass man mit wenig Aufwand diese Erweitung hinzufügen können sollte.
https://community.openhab.org/t/new-tel ... /54806/420
LG