2015-09-17 7 views
8

Ich versuche, alle Befehle von meinem Bot mit botFather zu löschen. Ich konnte keine Dokumente dafür finden. Es gibt eine Option, um eine neue Liste von Befehlen an BotFather zu senden, aber das hilft mir nicht, da mein Bot keine Befehle hat, da ich mit der benutzerdefinierten Tastatur arbeite.Telegram Bots: Wie entferne ich einen Befehl mit botFather

Irgendeine Idee, wie man das macht?

Antwort

12

Fügen Sie einfach eine neue Liste von Befehlen mit/setcommands hinzu.

Ihre alte Liste wird überschrieben.

+2

Ich akzeptierte die Antwort, obwohl ich nicht alle Befehle wie erwähnt löschen konnte – Guy

0

BotFather verwaltet nur eine Liste der von Ihnen bereitgestellten Befehle.

Sie können einen neuen/setcommands damit machen, aber Sie können nicht wirklich die Funktionalität Ihres Bot von dort ändern.

+1

Also wenn ich einen Befehl hinzugefügt, der nicht mehr benötigt wird. Kann ich etwas tun? – Guy

+1

Ja, Sie können BotFather einfach eine neue Liste von Befehlen senden. – ixchi

+5

Aber ich möchte nicht, dass der Bot irgendwelche Befehle hat. Ich arbeite mit der benutzerdefinierten Tastatur. – Guy

1

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)!

+0

Das ganze Ding fühlt sich an wie ein Kommentar, der deine Meinung da rausholt, im Gegensatz zu einer Antwort auf seine Frage. – Menasheh

3

Es gibt keine direkte Funktionalität wie "Befehl löschen". Sie müssen nur die Befehle erneut überschreiben. Es ist so. Nehmen wir an, Sie Befehl wie

  • /Liebe unter

    gesetzt haben - Liebe ist ewig
  • /Partner - Rückkehr Partner
  • /status - Rückkehr Beziehungsstatus

Let sagen Sie, Sie müssen Befehl /Status von Ihrem Bot entfernen. Zuerst müssen Sie zu gehen @BotFather Liste der Bots erhalten mit /mybots Bot auswählen, wählen Sie dann bearbeiten bot nächsten bearbeiten Befehle. Jetzt werden Sie aufgefordert, neue Befehle hinzuzufügen. Dann geben Sie die Befehlsliste ohne die, die Sie entfernen müssen. Wie unten

Liebe - Liebe ewig ist
Partner - Rückkehr Partner

Dann BotFather neuen Befehl in Sie neue Bot gesetzt hinzuzufügen. Machen Sie sich keine Sorgen, wenn Sie Ihren neuen Befehl nicht sofort sehen können. Sie werden nach 10 Minuten hinzufügen

Verwandte Themen