Telegram Inline Keyboard Problem

Hi Leute,

ich habe mir vor 2 Tagen einen Telegram-Bot erstellt, und bisher läuft alles ganz gut. Ich wollte dann Buttons hinzufügen, um ein Command zu senden, z. B. /start.

Problem:
Der Button wird mir zwar angezeigt, aber sobald ich darauf klicke, lädt es und lädt es, doch es passiert nichts. Nach einer Weile bricht der Vorgang dann ab. Ich habe bereits viele Foren durchstöbert und verschiedene Dinge ausprobiert, aber bisher keine Lösung gefunden.

Kennt ihr eine?
Habe ich vielleicht etwas übersehen?
Mach ich was falsch?

Hier mein code:

data:
  inline_keyboard:
    - - - Start
        - /start
  message: |
    Hi 👋
action: telegram_bot.send_message

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

Naja,

  1. sieht das bei dir ganz anders aus als in der Doku:
...
actions:
  - action: notify.NOTIFIER_NAME
    data:
      title: "*Send a message*"
      message: "That's an example that _sends_ a *formatted* message with a custom inline keyboard."
      data:
        inline_keyboard:
          - 'Task 1:/command1, Task 2:/command2'
          - 'Task 3:/command3, Task 4:/command4'
  1. müssen ja auch Aktionen den Tasten zugeordnet werden.
    Woher soll denn HA wissen, was passieren soll?

Wie man das macht, frage ich mich auch gerade und wäre sehr dankbar, wenn es jemand erklären könnte.

Bei mir sieht es aktuell so aus:

action: notify.home
data:
  title: "*Aquarium*"
  message: Der Filter ist seit 30 min aus.
  data:
    inline_keyboard:
      - Anschalten:/command1, Ignorieren:/command2

Dafür bekomme ich auch die passende Mitteilung.

Aber wie kann ich nun die CallBacks auswerten?
Ich habe jetzt schon ne Stunde bei Onkel Google verbracht, aber nirgends gibt es eine schöne Beschreibung, wie das geht…

Edit:

Ein Stück bin ich schon weitergekommen.

Mit der folgenden Automation kann ich zu mindest die im Chat eingegebenen Befehle abfragen und verarbeiten:

alias: Testrückmeldung
description: ""
triggers:
  - event_type: telegram_command
    event_data:
      command: /command1
    trigger: event
actions:
  - data:
      message: erfolgreich
    action: notify.home
mode: single

Gebe ich jetzt z.B. ‘/command1’ ein, bekomme ich eine Nachricht “erfolgreich” zurück.
Dies funktioniert aber nicht mit dem Inline Keyboard.

Doppelpost, weil LÖSUNG

ich habe es jetzt mit 2 Automationen geschafft.
Diese kann man natürlich noch richtig schick machen.
Es handelt sich hierbei noch um die Testautomationen.

  1. Nachricht an Telegram mit Inline Keyboard senden:
    Gebe ich in telegram /test ein, wird die Nachricht geschickt.
    Den Auslöser kann man dann natürlich an jeden Sensor, etc. koppeln.
alias: Sende Nachricht an Telegram
description: ""
triggers:
  - event_type: telegram_command
    event_data:
      command: /test
    trigger: event
conditions: []
actions:
  - action: notify.home
    data:
      title: "*Aquarium*"
      message: Der Filter ist seit 30 min aus.
      data:
        inline_keyboard:
          - Anschalten:/command1, Ignorieren:/command2
          - In 5min erinnern:/command3
initial_state: "on"
mode: single

  1. CallBack auswerten und Tasten weitergeben:
    Zum Test lasse ich mir hier Bestätigungen an Telegram schicken.
    Das kann man aber gegen jede x beliebige Aktion ersetzen
alias: Testrückmeldung
description: ""
triggers:
  - event_type: telegram_callback
    event_data:
      command: /command1
    trigger: event
    id: command1
  - event_type: telegram_callback
    event_data:
      command: /command2
    trigger: event
    id: command2
  - event_type: telegram_callback
    event_data:
      command: /command3
    trigger: event
    id: command3
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - command1
        sequence:
          - data:
              message: erfolgreich eingeschaltet
            action: notify.home
      - conditions:
          - condition: trigger
            id:
              - command2
        sequence:
          - data:
              message: erfolgreich ignoriert
            action: notify.home
      - conditions:
          - condition: trigger
            id:
              - command3
        sequence:
          - data:
              message: ok, ich nerve in 5min nochmal.
            action: notify.home
mode: single

Das ganze sieht dann so aus:

Im Grunde war (bei mir) nur der - event_type: telegram_command falsch.
Dieser muss - event_type: telegram_callback lauten. :face_with_peeking_eye:

Für eine Lösung auch erlaubt bzw. gewünscht.
Dann aber Bitte auch mit dem :white_check_mark: als Lösung kennzeichnen. :wink:
Hab‘s für Dich mal angekreuzt.