13

botFather を使用してボットからすべてのコマンドを消去しようとしています。これに関するドキュメントが見つかりませんでした。コマンドの新しいリストを BotFather に送信するオプションがありますが、カスタム キーボードで作業しているため、私のボットにはコマンドがないため、これは役に立ちません。

これを行う方法はありますか?

4

5 に答える 5

18

/setcommands でコマンドの新しいリストを追加するだけです。

古いリストは上書きされます。

于 2016-02-09T13:30:01.757 に答える
1

@ixchiの回答が妥協だと感じています。確かに、Telegram convenction ( /something) で以前に設定したすべてのコマンドを消去することはおそらく不可能なので、少なくとも a/startまたは /help コマンドを設定する必要があります。

Telegram ボット API のコマンドの概念の問題/制限は、ボットの作成時に一度設定されたグローバルリストと見なされるようになりました :-(

これは非常に単純なチャットボット アプリケーションでは問題ありませんが、多くの異なる「ステータス」を持つ複雑な「ステート マシン」を処理する必要があるボットには最適ではありません。

私が代わりに望むのは、実行時にCONTEXTUALコマンドのリストを設定することです。

例を挙げて説明します。チャットボットの会話が次のステータスにあるとします。shopping_cart_order_processing

その場合、このステータスに関連するリストで入力インターフェイスを満たしたいと思います。

/additem_id

/removeitem_id

/listカート内のすべてのアイテムを一覧表示する

/checkoutご注文を送信してください!

などなど

その後、ユーザーが注文すると、ステータスが変更されorder_sent、コマンド リストも変更される可能性があります。

もちろん、この制限はチャット アプリのユーザー インターフェイス機能 ( / ボタン/ポップアップ リスト) の問題であり、ボットは次のようなユーザー ステートメントを解釈できます。

/help

help

コンテキスト コマンドのリストを提案します。

私の考慮事項がこれに役立つことを願っています。

とにかく、この「変更リクエスト」を Telegram Bot の担当者に送信したいのですが、CR について Bot 担当者に連絡する方法がわかりません。

とにかく、Telegram Bot API は素晴らしく、現在進行中の作業です ( https://core.telegram.org/bots/apiを参照)。

于 2015-10-19T15:46:09.227 に答える