メディアライブラリ
ボットが画像やファイルを送信するには、どこかに保存する必要があります。GetMyBot には独自のメディアライブラリがあります。ファイルを一度アップロードすれば、プラットフォームが自動的にメッセージに組み込みます。ライブラリは同一ファイルの重複を排除します。これは premium 機能ですが、基本的なユースケースでは Telegram チャット経由の無料アップロードも利用できます。
独自ストレージ
アップロードしたファイルはプラットフォームのストレージに保存され、メディア ID が付与されます。メッセージブロック「写真」または「ファイル」でこの ID を参照できます。送信時にプラットフォームが自動的に適切なファイルを組み込みます。アップロード: POST /api/bots/{id}/media、プレビュー用の読み取り: GET /api/bots/{id}/media/{mediaID}。
コンテンツによる重複排除
各ファイルはコンテンツの sha256 ハッシュで識別されます。同じファイルを再度アップロードしても、プラットフォームは重複を作成せず、既存のオブジェクトへの参照を返します。同一の画像が二重にストレージを占有することがなく、ID も安定しています。
Premium アクセス
メディアライブラリは premium 機能(image_storage)です。この機能を含む有料プランでのみ利用できます。アクティブなサブスクリプションなしでライブラリへのアップロードを行うと 402(支払いが必要) エラーが返されます。既存ファイルのプレビューは制限なく利用できます。
ライブラリへの1ファイルのアップロードサイズは 2 MiB に制限されています。
Telegram チャット経由のアップロード(premium なし)
premium ライブラリが利用できない場合の無料の方法として sink-upload があります: POST /api/bots/{id}/chats/{chatID}/sink-upload。ファイルは指定の Telegram チャット経由で送信され、レスポンスとしてボットのメッセージで使用できる Telegram の file_id が返されます。この方法は premium ゲートなしで誰でも利用できます。サイズ制限は同じく 2 MiB です。
どちらを使うか
- 同じ画像を繰り返し使用し、重複排除とプレビューが欲しい場合 — メディアライブラリ(premium)。
- サブスクリプションなしですぐに
file_idが必要な場合 — サービスチャット経由の sink-upload。
次のステップ
- メッセージとボタン — ボットの返答における「写真」と「ファイル」ブロック。
- 支払いと残高 — プランと premium 機能。
- SamBot からのインポート — バンドルからのメディア移行。
- チャットとオペレーター — sink-upload 用サービスチャット。