NEWS
[Frage] Telegram Bot mit Buttons ausstatten.
-
Moin,
Man kann ja mit dem Telegram Bot so einiges bauen. Nun wollte ich mich aktuell mal mit dem Thema Buttons beschäftigen.
Ich habe mir das Test Script mal eingefügt.
! ````
sendTo('telegram.1', {
text: 'Help',
reply_markup: {
keyboard: [
['Zeit', 'Line 1, Button 2'],
['Line 2, Button 3', 'Line 2, Button 4']
],
resize_keyboard: true,
one_time_keyboard: true
}
});OK funzt. Das Script gibt Help aus wenn es gestartet wird und zeigt 4 Buttons. Nun will ich aber mit dem Textbefehl Help die Buttons ansteuern. Wie mache ich das? Wie erstelle ich Untermenüs mit Buttons? Verstehe das ganze noch nicht richtig bin ja auch kein Programmierer :lol:
-
Verstehe das ganze noch nicht richtig bin ja auch kein Programmierer `
Das Script sendet eine Nachricht an alle Telegram Nutzer die beim Bot registriert sind. Die Buttons werden in Telegram mit der Nachricht angezeigt.
Aber was willst du jetzt mit dem Text 'Help' machen?
Wenn du einen Button drückst wird der Zurück an ioBroker geschickt und darauf kannst du dann reagieren. Dazu brauchst du Text2Command, dort kannst du dann festlegen was passieren soll.
Du musst in den Einstellungen von Telegram noch die Instanz von Text2Command auswählen.
-
ja genau text to command habe ich schon am laufen.
Beispiel:
Ich sende help - Der Bot soll mir eine Auswahl anbieten | texttocommand, help als trigger dann muss ich ja auf das script was ich oben habe verweisen. das sollte ja dann einmalig ausgeführt werden ist das richtig (oder schon zu kompliziert) ich meine ich habe in dem script ja noch keinen auslöser eingebaut sondern löse es durch script einschalten aus. (wahrscheinlich ist ein trigger im script zum auslösen besser)
Ich klicke auf button 1 der löst nun button 1 im text to command aus… soweit richtig ne? und das dann einfach weiter ausbauen.... Klingt recht simpel. :lol:
-
Ah ok jetzt hab ich kapiert was du willst.
Du möchtest die Auswahl angezeigt bekommen wenn du 'Help' an deinen Bot schickst.
Dann musst du mit Text2Command dein Skript ausführen, das ist richtig. Ich sehe hier keine Notwendigkeit einen Trigger zu verwenden.
Ich klicke auf button 1 der löst nun button 1 im text to command aus… soweit richtig ne? und das dann einfach weiter ausbauen `
Genau so. -
ich kann das script ja nur auf true oder false setzen.
habe ich da gerade einen denkfehler?
würde mit texttocommand nun das script auf true setzen und danach rennt es ja weiter nochmal true setzen bringt doch nix.
müsste es dann intern im script sich selber wieder ausschalten lassen. oder?