Ich fühle @ixchi Antwort ist der Kompromiss jetzt. I fair ist vielleicht nicht möglich, alle vorherigen set-Befehle in Telegramm convenction (/something
) zu löschen, so dass Sie zumindest einen /start
oder einen/help-Befehl einstellen müssen.
Die Ausgabe/Einschränkung von Befehlen Konzepten in API Telegramm bietet nun die gerade als GLOBAL Liste thinked ist :-(
einmal bei bot Schöpfung gefassten, die für eine sehr einfache Anwendung chatbot ok ist, aber ist nicht das Beste für einen Bot, der eine komplexe "Zustandsmaschine" mit vielen verschiedenen "Status" verarbeiten muss.
Was ich stattdessen möchte, ist in der Laufzeit eine Liste von CONTEXTUAL Befehle zu setzen.
Ich erkläre mit einem n Beispiel: Lassen Sie nehmen an, das chatbot Gespräch im Status ist: shopping_cart_order_processing
In diesem Fall würde Ich mag die Eingabeschnittstelle mit einer Liste in Bezug auf diesen Status erfüllen:
/add ITEM_ID
/entfernen ITEM_ID
/Liste Liste aller Artikel im Warenkorb
/Kasse Ihre Bestellung abschicken!
usw. usw.
Danach, wenn der Benutzer den Auftrag setzen, vielleicht die Statusänderung in order_sent
und die Befehlsliste ändern könnten!
Natürlich ist die Einschränkung ist nur eine Frage der Chat-App Einrichtung Benutzeroberfläche (die / Taste/pop-uplist) und der Bot wie jeder Benutzer Aussage ohnehin interpretieren kann:
/help
Hilfe
die Liste der Kontextbefehle vorschlägt.
Ich hoffe, dass meine Überlegungen dies helfen.
Wie auch immer, ich möchte diese "Change Request" an Telegram Bot Jungs setzen ... aber ich weiß nicht, wie man Bot-Jungs für eine CR kontaktieren.
Wie auch immer Telegram Bot API sind erstaunlich und in einem Work-in-Progres Pahes jetzt (siehe: https://core.telegram.org/bots/api)!
Ich akzeptierte die Antwort, obwohl ich nicht alle Befehle wie erwähnt löschen konnte – Guy