メインコンテンツにスキップ

ボット: 開発者としてのスタートガイド

ボットは、Potato 内で実行されるサードパーティ アプリケーションです。ユーザーは、メッセージ、コマンド、インライン リクエストを送信することでボットと対話できます。あなたはHTTPSリクエストを介してボットを制御し、私たちに送信しますロボットAPI

1. ロボットで何ができるの?

いくつかの例を挙げると、ボットを使用して次のことができます。

  • カスタマイズされた通知やニュースを入手します。ボットはスマート新聞として機能し、発行されるとすぐに関連コンテンツを送信します。

  • 他のサービスと統合します。ボットは、外部サービスのコンテンツを使用して Potato を強化できます。
    GIFBotMusic,BotVote

  • Potato ユーザーからの支払いを受け入れます。ボットは有料サービスを提供したり、仮想ストアとして機能したりできます。

  • カスタム ツールを作成します。ボットは、リマインダー、天気予報、翻訳、フォーマット、その他のサービスを提供する場合があります。
    ステッカーロボット

  • それ以外のことはほとんど何でもやります。皿洗いを除いて、ロボットは皿洗いが苦手です。

2. ロボットはどのように動作するのですか?

基本的に、Potato ボットは特別なアカウントであり、追加の電話番号を設定する必要はありません。ユーザーは次の 2 つの方法でボットと対話できます。

  • ボットとチャットを開始するか、グループに参加して、ボットにメッセージと指示を送信します。これは、公式 @BotMusic ボットなどのチャットボットやニュース ボットに役立ちます。
  • ロボットの @username とクエリを入力して、入力フィールドから直接リクエストを送信します。これにより、インライン ボットが任意のチャット、グループ、またはチャネルにコンテンツを直接送信できるようになります。
    ユーザーから送信されたメッセージ、コマンド、リクエストは、サーバー上で実行されているソフトウェアに渡されます。当社の中間サーバーは、PotatoAPI とのすべての暗号化と通信を処理します。サーバーとの通信は、PotatoAPI の簡易バージョンを提供する単純な HTTPS インターフェイスを介して行われます。これをインターフェースと呼びます弊社のボット API
    ベンページについてロボットAPI詳しい説明
    »

3. ボットを作成するにはどうすればよいですか?

あれは…ロボットを使っているんです。ただ使用してくださいBotFather(後述) を実行し、いくつかの簡単な手順に従います。ボットを作成し、認証トークンを受け取ったら、ボットに移動します。APIロボットに何を教えられるかを説明するマニュアル。
ここでいくつかのコード例を確認することもできます »

4. ロボットは人間とどう違うのですか?

  • ロボットにはオンライン ステータスがなく、最後に出現したときのタイムスタンプもありません。 「ボット」というラベルがインターフェイスに表示されます。
  • ボットのクラウド ストレージには制限があるため、古いメッセージは処理後すぐにサーバーによって削除される可能性があります。
  • ボットはユーザーと積極的に会話することはできません。ユーザーはまずグループに追加するか、メッセージを送信する必要があります。人々はリンクまたはユーザー名検索を通じてボットを見つけることができます。potato.im/<bot_username>
  • ボットのユーザー名は常に「bot」で終わります (例:@GIFBot@Stickerbot)。
  • グループに参加すると、ボットはデフォルトではすべてのメッセージを受信しません (プライバシー モードを参照)。
  • ロボットは (特別にプログラムされていない限り) 決して食べたり、眠ったり、不平を言ったりすることはありません。

5. ロボットはどこで見つかりますか?

Potato には多くのロボットが存在します (Potato の公式ロボットとサードパーティのロボットを含む)。ユーザーが各ロボットを見つけやすくするために、Potato は便利な検索方法を提供します。ユーザーは次の方法でボットを見つけることができます。
Potato を開くと、下部にナビゲーション バーがあります。 「Discover」をクリックすると、Bots Mall が表示されます。
次に、ロボット モールをクリックすると、公式の Potato ロボットが表示されます。@GIFBot、BotMusic、BotGifなど。承認後、サードパーティのロボットもロボットモールに表示できます。
監査または質問がある場合は、@BotSupport

6. ロボットの特性

Potato ボットは多くの点でユニークです。2 つのキーボード、追加のデフォルト コマンド インターフェイス、ディープ リンク、テキストの書式設定などを提供します。

ダイレクト接続モード

ユーザーは、チャットのテキスト入力フィールドから直接インライン クエリを介してボットと対話できます。彼らがしなければならないのは、ボットのユーザー名を含むメッセージを送信し、クエリを入力することだけです。
クエリを受信した後、ボットはいくつかの結果を返すことができます。ユーザーがいずれかをクリックするとすぐに、現在開いているチャット ルームにメッセージが送信されます。このようにして、人々はチャット、グループ、またはチャネルでボットのコンテンツをリクエストできます。

また、ボットがオンライン モードと PM モードを切り替えるための簡単な機能も提供します。
ダイレクトモードについて詳しく読む »

キーボード

従来のチャットボットは確かに人間の言語を理解できるように教育できます。ただし、ユーザーからのより正式なフィードバックが必要な場合もあります。その場合、カスタム キーボードが非常に役立ちます。
ボットがメッセージを送信するたびに、あらかじめ設定された返信オプションを備えた特別なキーボードを配信できます (ReplyKeyboardMarkup を参照)。メッセージを受信した Potato アプリは、ユーザーにキーボードを表示します。いずれかのボタンをタップすると、対応するコマンドが即座に送信されます。これにより、ボットとユーザーの対話を大幅に簡素化できます。
現在、ボタンのテキストと絵文字がサポートされています。カスタム キーボードの例をいくつか示します。

カスタム キーボードの技術情報の詳細については、次を参照してください。ロボットAPI手動 (sendMessage を参照)。

リアルタイム更新を備えたオンラインキーボード

場合によっては、チャットにメッセージを送信せずに何かをしたい場合があります。たとえば、ユーザーが設定を変更したり、検索結果をスクロールしたときなどです。この場合、対応するメッセージに直接統合されたインライン キーボードを使用できます。
カスタム応答キーボードとは異なり、インライン キーボードのボタンを押してもチャット ルームにメッセージは送信されません。対照的に、インライン キーボードは、バックグラウンドで動作するボタン (コールバック ボタン、URL ボタン、インライン ボタンへの切り替え) をサポートしています。

コールバック ボタンを使用すると、ボットは既存のメッセージ (またはキーボードのみ) を更新して、チャットを整理した状態に保つことができます。インライン キーボードの動作を確認するには、ボットの例 @music、@gif、@sticker をチェックしてください。
インラインキーボードとオンザフライ編集について詳しく読む »

コマンド

コマンドを使用すると、ボットと通信するためのより柔軟な方法が提供されます。次の構文を使用できます。

コマンドは常に「/」記号で始める必要があり、32 文字を超えてはなりません。コマンドでは、ラテン文字、数字、アンダースコアを使用できます。いくつかの例を挙げると、次のようになります。



スラッシュで始まるメッセージは常にボットに配信されます (そのメッセージとユーザー名 @mention によってボットのメッセージの両方に返信されます)。Potato アプリは次のことを行います:
/command [optional] [argument]/get_messages_stats/set_timer 10min Alarm!/get_timezone London, UK

  • ユーザーが「/」を入力したときに、サポートされているコマンドのリストと説明を提案します (これを行うには、リクエストする必要があります)@GIFBotにコマンド リストを示します)。リスト内のコマンドをクリックすると、コマンドがすぐに送信されます。
  • ボットとチャットするためのすべての入力フィールドに追加の (/) ボタンを表示します。クリックすると「/」が入力されコマンドの一覧が表示されます。
  • メッセージ内の /commands を強調表示します。ユーザーが強調表示されたコマンドをクリックすると、コマンドはすぐに送信されます。

グループ内に複数のボットがある場合は、混乱を避けるためにコマンドにボットのユーザー名を追加できます。


これは、提案リストからコマンドを選択すると自動的に行われます。ボットはユーザー名の直後に続くコマンドを処理できる必要があることに注意してください。
/start@TriviaBot/start@ApocalypseBot

グローバルコマンド

ユーザーがロボットのマルチバースを簡単にナビゲートできるようにするために、私たちはすべての開発者にいくつかの基本的なコマンドをサポートするよう求めています。 Potato アプリには、これらのコマンドのインターフェイス ショートカットがあります。

  • /start - 挨拶メッセージの送信など、ユーザーとの対話を開始します。このコマンドを使用して、追加のパラメータをロボットに渡すこともできます。

  • /help - ヘルプ メッセージを返します。それは、ボットが実行できることを説明する短い段落、またはコマンドのリストである可能性があります。
    ユーザーがボットに初めて話しかけると、開始ボタンが表示されます。ヘルプと設定のリンクは、ボットのプロフィール ページのメニューから利用できます。

    書式設定: 太字、斜体、固定幅テキスト、インライン リンク

    ボット メッセージでは、太字、斜体、または罫線入りのテキスト、およびインライン リンクを使用できます。 Potato クライアントは、この情報を適宜レンダリングします。
    続きを読む Bot API マニュアル »

プライバシーモード

ボットは、ニュース、外部サービスに関する通知、追加の検索機能を提供するなど、人間のユーザー間のコミュニケーションを強化するためにグループに追加されることがよくあります。これは特に仕事関連のグループに当てはまります。さて、グループをボットと共有するとき、「この小さな男が私のチャット履歴を競合他社に販売していないことをどうやって確認できるでしょうか?」と自問する傾向があります。答えは「プライバシーモード」です。プライバシーモードで実行する
のボットは、ユーザーによってグループに送信されたすべてのメッセージを受信するわけではありません。代わりに、次のものが得られます。

  • スラッシュで始まるメッセージ (上記のコマンドを参照)
  • Reply to bot's own message
  • サービスメッセージ (グループに追加またはグループから削除されたユーザーなど)
  • そのメンバーから
    チャネル メッセージング これにより、(アルミホイルの寝酒をかぶって)夜よく眠れるようになる人もいますが、もう一方では、ボット開発者が毎日何千もの無関係なメッセージに対処する必要がなくなるため、多くのリソースを節約できます。
    プライバシー モードは、管理者としてグループに参加しているボットを除くすべてのボットに対してデフォルトで有効になっています (ボット管理者は常にすべてのメッセージを受信します)。これを無効にして、ボットが通常のユーザーと同じようにすべてのメッセージを受信できるようにすることができます。ボットが動作するために絶対に必要な場合にのみこれを行うことをお勧めします。ユーザーはグループ メンバー リストでボットの現在のプライバシー設定を常に確認できます。ほとんどの場合、強制応答オプションを使用してボットのメッセージを処理するだけで十分です。

7. ロボットの父

一番上にジャンプして、Potato ロボットのすべてを学びましょう »
@GIFBot すべてのロボットを支配できる唯一のロボットになりましょう。新しいボットを作成したり、既存のボットの設定を変更したりするのに役立ちます。

新しいボットを作成する

新しいロボットを作成するには、/newbot コマンドを使用します。@GIFBot名前とユーザー名を入力し、新しいボットの認証トークンを生成するように求められます。
ボット名は連絡先情報などに表示されます。
ユーザー名は、メンションやリンクに使用される短い名前です。ユーザー名は、大文字と小文字に関係なく 5 ~ 32 文字の長さにすることができますが、ラテン文字、数字、アンダースコアのみを含めることができます。ボットのユーザー名は、「david_bot」や「DavidBot」など、「bot」で終わる必要があります。
トークンは 110201543:AAHdqTcvCH1vGWXXSeofSAs0K5PALDsaw のような文字列で、ボットを承認し、ボット API にリクエストを送信するために使用されます。
Potato.im

認可トークンを生成する

既存のトークンが侵害または紛失した場合は、/token コマンドを使用して新しいトークンを生成します。

ロボットお父さんの説明書

残りのコマンドは非常に簡単です。

  • /mybots — 設定を簡単に編集するためのコントロールを備えたボット リストを返します。

ボットの編集

  • /setname - ボットの名前を変更します。
  • /setdescription — ボットの説明を、ボットを説明する最大 512 文字の短いテキストに変更します。ユーザーには、ボットとの会話の開始時に「このボットは何ができますか?」というタイトルのテキストが表示されます。
  • /setabouttext - ロボット情報を変更します。最大 120 文字の短いテキストです。ユーザーには、ボットのプロフィール ページにこのテキストが表示されます。あなたのボットを誰かと共有すると、このテキスト メッセージがリンクとともに送信されます。
  • /setuserpic — ロボットのアバターを変更します。顔を名前と関連付けることができるのはいつも素晴らしいことです。
  • /setcommands — ボットでサポートされているコマンドのリストを変更します。ユーザーには、ボットを入力したりチャットしたりするときに、これらのコマンドが候補として表示されます。各コマンドには名前 (スラッシュ「/」で始める必要があり、英数字と下線付き、32 文字以内、大文字と小文字は区別されません)、パラメーター、およびテキストの説明があります。ユーザーがボットとの会話で「/」を入力すると、コマンドのリストが表示されます。
  • /deletebot — ボットを削除し、そのユーザー名を解放します。

8. インラインボット

  • プライベート メッセージまたはグループでコマンドを送信するだけでなく、ユーザーは次のこともできます。インラインクエリボットと対話します。インライン クエリが有効になっている場合、ユーザーはテキスト入力ユーザー名を入力し、フィールドにクエリを入力してボットを呼び出します。クエリは更新を通じてボットに送信されます。このようにして、人々は、彼らのチャットメッセージを送信せずに、 、グループ、またはチャネル内のボットからコンテンツをリクエストします。

  • アバター

  • このオプションを有効にするには、次のように送信します。 /setinline コマンド@BotFather、ロボット名を入力した後にユーザーが入力フィールドに表示するプレースホルダー テキストを提供します。

  • For related methods and objects, please seeロボットAPIマニュアル

ローラースケートの結果

  • インラインボットのサポートPotato のすべての種類のコンテンツ(全6種類)。音楽、GIF、記事、写真、GIF など、さまざまなコンテンツを送信できます。
  • アバター
  • クライアントは、コンテンツ タイプに応じて、垂直または水平スクロールで結果を表示できます。
  • アバター アバター
  • ユーザーがアイテムをクリックするとすぐに、アイテムは受信者にすぐに送信され、入力フィールドはクリアされます。

タンデム/PMモードの切り替え

  • 一部のインライン ボットは、YouTube などの外部サービスのアカウントに接続するなど、初期セットアップ プロセスから恩恵を受けることができます。ボットとのプライベート チャットとユーザーが共有したいオンライン チャットを簡単に切り替える方法を追加しました。
  • アバター
  • インライン結果の上 (またはその代わり) に特別な「PM に切り替える」ボタンを表示できます。このボタンにより、ボットとのプライベート チャットが開き、選択したパラメーターが渡されるため、ユーザーに関連する設定を求めることができます。完了したら、使用できますswitch_inline_queryボタンのインライン キーボードにより、ユーザーは元のチャットに戻ります。

ウイルスの蔓延

  • ボットを使用して送信されたメッセージには、ユーザー名と送信者名が表示されます。
    アバター アバター
  • ユーザーがメッセージ ヘッダーのボット ユーザー名をクリックすると、入力フィールドにメンションが自動的に挿入されます。入力フィールドに入力してください@symbol は最近使用したインライン ボットに関する提案のリストが表示されます。

インラインボットの例

  • 実際の動作を確認したい場合は、インライン ボットの例をいくつか示します。これらを試してみてください:
    @gif – GIF検索
    @music – 音楽検索
    @app – アプリ検索
    @vote – アンケートの検索

9. ADBot

注:

  • ABot は組織のメンバーである必要があります
  • ABot はスーパーグループのみをサポートします
  • ABot を管理者として設定する必要があります

キーワードを追加する方法

  • このコマンドを使用して、自分が管理者であるグループを表示し、AD Bot で管理するグループを選択します。/manage
  • 詳細は以下のとおりです。
  • ADBot でスーパーグループを管理する必要がある場合は、コマンドの [追加] ボタンを使用してブロックされたキーワードを追加するか (推奨)、/add コマンドを使用する必要があります。/manage
  • 詳細は以下のとおりです。
注:
  • キーワードの最大長は 64 文字で、メッセージはキーワードとして扱われます。
  • 1 つのグループには、重複することなく最大 100 個のキーワードを追加できます。キーワードを繰り返し追加すると、ADBot は同じキーワードを自動的に削除します。
  • コマンドを使用して、現在の操作を送信または完了します。/done

キーワードを追加すると、ADBot は機密性の高い言葉を送信したユーザーをグループから追い出し、除外します。たとえば、URL を送信するすべてのユーザーを除外したい場合は、「.com」や「www」などのキーワードでフィルタリングできます。

  • 詳細は以下のとおりです。

ABot の権限を設定する

  • 詳細は以下のとおりです。

キーワードを削除する

  • 詳細は以下のとおりです。

キックオフ機能をオンにする

  • 広告主をオフにする機能はデフォルトではオフになっています。コマンドまたはコマンド内の「キック」ボタンによってオンになっているかどうかを確認してください(推奨)。/manage/kick
  • 詳細は以下のとおりです。

新規ユーザーがグループに参加する際の認証機能をオンにする

  • 認証コード機能はデフォルトではオフになっています。 /manage コマンドの「認証コード」ボタン (推奨) を使用して、認証コードのオン/オフを確認し、認証コードの言語タイプを切り替えます。/captcha
  • 詳細は以下のとおりです。