Schaltfläche¶
Ein antippbarer Eintrag im Telegram-Menü. Eine Schaltfläche besitzt einen
name und führt beim Antippen eine Funktion auf Ihrem Server
aus. Das Ergebnis wird an den Chat zurückgesendet.
Schaltflächen und Kategorien bilden gemeinsam den
Menü-Baum unter dem obersten Schlüssel menu in Ihrer
Konfigurationsdatei. Eine Schaltfläche erledigt die Arbeit;
eine Kategorie öffnet nur ein Untermenü.
Darstellung einer Schaltfläche¶
Schaltflächen erscheinen auf der Tastatur unter dem Nachrichtenfeld, standardmäßig zwei pro Zeile. Der von Ihnen gewählte Name ist der Text auf der Taste. Halten Sie ihn kurz genug, damit er auf einem Smartphone lesbar bleibt. Siehe Menü → Darstellung des Telegram-Menüs.
Bestandteile einer Schaltfläche¶
Jede Zeile steuert einen Bestandteil der Schaltfläche
- name: nginx neu starten # (1)!
type: button # (2)!
icon: "🔄" # (3)!
function: command # (4)!
command: "systemctl restart nginx" # (5)!
confirm: true # (6)!
- Der Text auf der Taste in Telegram. Er muss unter den benachbarten Einträgen desselben Menüs eindeutig sein.
- Hier steht immer
button. Verwenden Siecategory, wenn Sie ein Untermenü wünschen. - Optionales Emoji vor dem Namen. Es dient nur der Darstellung und ändert nicht, was ausgeführt wird.
- Die zu verwendende Funktion.
commandist die integrierte Funktion zum Ausführen eines Shell-Befehls. - Was die Funktion
commandausführt. Hier funktioniert alles, was Sie in ein Terminal eingeben könnten. - Optional. Vor der Ausführung wird „Are you sure?“ gefragt. Lassen Sie dies bei reinen Leseaktionen weg.
Was beim Antippen geschieht¶
- Der Bot sendet eine kurze Zeile Running, damit Sie wissen, dass die Ausführung begonnen hat.
- Der Befehl wird auf dem Rechner ausgeführt, auf dem der Bot läuft.
- Die Ausgabe kommt als Codeblock mit Exit-Code und Ausführungsdauer zurück. Lange Ausgaben werden in mehreren aufeinanderfolgenden Nachrichten gesendet.
- Sie bleiben im aktuellen Menü, sodass Back diese Kategorie weiterhin verlässt.
Häufige Schaltflächen¶
Symbole¶
icon setzt ein Emoji vor den Namen. Es ist rein dekorativ und kann jederzeit
geändert oder entfernt werden, ohne den ausgeführten Befehl zu verändern.
Ein Symbol ändert nur die Beschriftung
Vor riskanten Aktionen nachfragen¶
Fügen Sie confirm: true hinzu. Der Bot fragt dann zunächst mit Yes oder
Cancel nach. Verwenden Sie dies für alles, was einen Dienst stoppt, Daten
löscht oder den Rechner neu startet. Die Aufforderung läuft nach einer Weile
ab (standardmäßig nach fünf Minuten).
Unter Bestätigung erfahren Sie, wann eine Rückfrage sinnvoll ist und wie Sie die Wartezeit ändern.
Einstellungen nur für eine Schaltfläche¶
Die meisten globalen Einstellungen lassen sich für eine einzelne Schaltfläche überschreiben. Das ist praktisch, wenn sich ein Auftrag anders verhält:
Einstellungen für einen langsamen Auftrag überschreiben
timeout gibt diesem Befehl mehr Zeit, workdir wählt sein
Arbeitsverzeichnis und env ergänzt Umgebungsvariablen nur für ihn.
Werte für die Funktion¶
Schreiben Sie Funktionswerte direkt auf die Schaltfläche. command, path und
args sind Kurzfelder für gleichnamige Parameter. Eigene Namen wie url,
host, unit und lines funktionieren genauso.
Eigene Werte übergeben
Verschachteln Sie diese Werte nicht unter params:. Jeder Schlüssel muss einem
von der ausgewählten Funktion deklarierten Parameter entsprechen.
validate meldet unbekannte Namen, fehlende erforderliche
Werte sowie ungültige int- oder bool-Werte.
Konfiguration¶
Alle von einer Schaltfläche akzeptierten Felder finden Sie unter Konfiguration → Menü.