メインコンテンツまでスキップ

Telegram

AnyyはボットトークンとBot APIロングポーリングプロファイルでTelegramに接続します。ダイレクトメッセージ、グループ、受信メディア、ペアリング、稼働中のヘルスチェックに対応します。

1. Telegramボットを作成する​

Telegramで公式のBotFatherアカウントを開きます。

  1. /newbotを送ります。
  2. ボットの表示名とユーザー名を選びます。
  3. ボットトークンを一度コピーします。
  4. グループにボットを追加する予定なら、BotFatherのプライバシー/グループ設定を確認します。

トークンはパスワードと同様に扱ってください。持っている人は誰でもボットとして操作できます。

2. Anyyにアカウントを追加する​

Dashboard → Channel → Add → Telegramを開きます。Bot APIロングポーリングの項目にアカウントIDとボットトークンを入力します。ポリシー設定には下記のCLIウィザードを使います。Dashboardの認証情報フォームには含まれません。

CLIでも設定できます。

anyy setup channel

ウィザードでTelegramを選びます。設定処理はトークンをProfileのシークレット参照として保存し、アダプターが正常になる前にTelegramのgetMeでリモートの識別情報を検証します。

3. アクセスポリシーを選ぶ​

既定のポリシーは次のとおりです。

会話既定値
ダイレクトメッセージpairing
グループmention

ダイレクトメッセージポリシーはopen、allowlist、pairing、disabledにできます。現在の設定カタログではグループポリシーにmention、allowlist、open、disabledを選べます。既存の許可リストにはTelegramの数値のユーザー/チャット識別情報を使います。現在のTelegram設定にはリスト項目の編集機能はありません。共通の設定上の制限を参照してください。

ペアリングか許可リストから始める

公開されたボットは、想定外の送信者によってプロバイダーの利用枠を消費されたり、ツールを使われたりする可能性があります。アクセスを広げる前に送信者のアクセスポリシーと有効なツールを確認してください。

4. 起動して検証する​

anyy channel reload
anyy channel doctor telegram

次にボットにダイレクトメッセージを送ります。既定のペアリングポリシーでは、CLIで保留中の送信者を一覧表示して承認します。

anyy channel pairing list --channel telegram
anyy channel pairing approve --request REQUEST_ID

送信者のペアリング要求を承認したら、もう一度メッセージを送り、Anyyが同じTelegramの会話に返信することを確認します。

グループとメンション​

グループにボットを追加し、@usernameを既定のmentionポリシーで使います。Telegramのプライバシー設定によって対象のグループメッセージを受信できない場合は、BotFatherで設定を調整し、Telegramの要件に応じてボットを再追加/再読み込みします。

現在のアダプターはTelegramスレッドへの対応を表明していません。トピック別のルーティングを前提にしないでください。

メディアと長い返信​

Anyyは対応するTelegram受信メディアをセッション用に配置できます。長い送信テキストはアダプターのテキスト上限に合わせて分割されます。メディアのダウンロードとメッセージサイズには、アダプターおよびTelegramの制限が引き続き適用されます。

トラブルシューティング​

症状確認する項目
トークンが拒否されるBotFatherトークンを再生成/コピーし、保存済み認証情報を置換
ボットがバックオフ状態のままanyy channel doctor telegramを実行し、getMeとBot APIへのネットワーク接続を確認
DMにペアリング通知だけが届き回答がない保留中の要求を承認してから、新しいメッセージを送信
グループメッセージが無視されるボットをメンションし、グループポリシー/許可リストとBotFatherのプライバシーモードを確認
重複/古いメッセージが表示されるロングポーリングの健全性を確認して再読み込み。AnyyはTelegram更新オフセットを永続化する

共通のチャンネル操作は、メッセージングプラットフォームを参照してください。