Telegram — 最も人気のあるボットプラットフォーム
Telegram — The Most Popular Bot Platform — easy-to-understand guide based on official docs
Telegram — 最も人気のあるボットプラットフォーム
Telegramを使ったことがある人なら、なぜこれほどボットに最適な場所なのか、もうお分かりですよね。高速で、あらゆるデバイスで動作し、膨大なユーザーベースを誇ります。でも、ここがポイントです。Telegramは単にボットが存在する場所ではありません。あなたのHermes Agentが真価を発揮できる場所なのです。
HermesをTelegramに接続すると、どこからでもチャットできるフル機能の会話型ボットが手に入ります。ボイスメモを送れば自動で文字起こしされます。スケジュールレポートを依頼すれば、チャットに直接届きます。ボットをグループチャットに追加して、会話に参加させることも可能です。テキスト、音声、画像、ファイル添付まで、すべて堅牢なpython-telegram-botライブラリを通じて処理されます。
セットアップをステップバイステップで見ていきましょう。
ステップ 1: BotFatherでボットを作成する
すべてのTelegramボットは、Telegram公式のボット管理ツールである@BotFatherから取得するAPIトークンから始まります。取得方法は以下の通りです。
- Telegramを開いて**@BotFather**を検索するか、t.me/BotFatherにアクセスします
/newbotを送信します- 表示名を決めます — 「Hermes Agent」など、お好みでどうぞ
- ユーザー名を選びます — これは一意である必要があり、
botで終わる必要があります(例:my_hermes_bot) - BotFatherがAPIトークンを返信します。こんな形式です:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
トークンは秘密にしてください! このトークンがあれば、誰でもあなたのボットを制御できてしまいます。もし漏洩した場合は、BotFatherで
/revokeを送信してすぐに無効化してください。
ステップ 2: ボットをカスタマイズする(任意ですがやる価値あり)
BotFatherのいくつかの簡単なコマンドで、ボットを洗練されたプロフェッショナルな印象にできます。
| コマンド | 目的 |
|---|---|
/setdescription |
チャット開始前に表示される「このボットは何ができる?」という説明文 |
/setabouttext |
ボットのプロフィールページに表示される短いテキスト |
/setuserpic |
ボットのアバター画像をアップロード |
/setcommands |
コマンドメニュー(チャット内の/ボタン)を定義 |
/setprivacy |
ボットがグループの全メッセージを見るかどうかを制御(ステップ 3を参照) |
/setcommandsには、以下の初期セットが便利です。
help - ヘルプ情報を表示
new - 新しい会話を開始
sethome - このチャットをホームチャンネルに設定
オンライン/オフラインステータス表示(任意)
Telegramボットには、ユーザーアカウントのような緑色の「オンライン」ドットがありません。最も近いものは、ボットのショートディスクリプション(プロフィールページの名前の下に表示される行)です。
status_indicatorを有効にすると、Hermesはゲートウェイ接続時にその説明文をオンラインに、正常終了時にオフラインに設定します。
gateway:
platforms:
telegram:
extra:
status_indicator: true
status_online: "🟢 オンライン"
status_offline: "🔴 オフライン"
いくつか注意点:この説明文はグローバル(全ユーザーに表示)であり、正常終了時のみ「オフライン」と書き込まれます。クラッシュした場合は最後のステータスのままになります。ボットのプロフィールを変更するため、デフォルトではオフになっています。
コマンドメニューの優先順位と上限(任意)
HermesはTelegramゲートウェイ起動時に、コマンドメニューを自動的に登録します。デフォルトでは60コマンドに制限されており、これはすべての組み込みコマンドと一般的なスキルに十分な数です。/ピッカーに表示させたいプラグインコマンドがある場合は、優先順位を設定できます。
platforms:
telegram:
extra:
command_menu:
max_commands: 60
priority_mode: prepend # prepend | append | replace
priority:
- my_plugin_command
prepend: あなたのコマンドが先頭、次にHermesのデフォルトappend: Hermesのデフォルトが先頭、次にあなたのコマンドreplace: 優先順位付けにあなたのリストのみを使用
Telegramでは最大100コマンドまで許可されていますが、大きなペイロードは失敗する可能性があります。Hermesは信頼性のためデフォルトで60に設定しており、値は1..100にクランプされます。
ステップ 3: プライバシーモード — グループでは重要
グループでボットを使用する際の混乱の第1位はこれです:プライバシーモードはデフォルトでONです。
プライバシーモードONの場合、ボットは以下のみを認識します:
/で始まるメッセージ- ボット自身のメッセージへの返信
- サービスメッセージ(参加、退出、ピン留め)
- ボットが管理者であるチャンネルのメッセージ
プライバシーモードOFFの場合、ボットはグループ内のすべてのメッセージを認識します。
無効にするには:
- @BotFatherにメッセージを送信
/mybotsを送信- ボットを選択
- Bot Settings → Group Privacy → Turn off に移動
重要: この設定を変更した後は、ボットをグループから削除して再追加する必要があります。Telegramはボットが参加した時点のプライバシー状態をキャッシュしており、再追加されるまで更新されません。
代替案: ボットをグループ管理者に昇格させます。管理者ボットは常にすべてのメッセージを受信するため、プライバシートグルは不要です。
自動返信なしでグループの会話を観察する
ボットにグループメッセージを見せたいが、メンションされた時だけ応答させたい場合? 次のように設定します。
telegram:
allowed_chats:
- "-1001234567890"
group_allowed_chats:
- "-1001234567890"
require_mention: true
observe_unmentioned_group_messages: true
許可リストに登録されたチャットからのメンションなしメッセージは、セッションのトランスクリプトに観察コンテキストとして追加されますが、エージェントをトリガーしません。後の@botnameメンションによってのみ、実際に応答がディスパッチされます。
以上です! この3つのステップで、Hermes Agentを搭載した完全に機能するTelegramボットが完成です。さあ、ボイスメモを送ってみたり、グループに追加してみたり、その魔法のような動作をぜひお試しください。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/messaging/telegram