From 0ecd415329f9d3aed5bac8230439cf5c699f8f43 Mon Sep 17 00:00:00 2001 From: RockChinQ Date: Sun, 11 Oct 2026 10:12:44 +0800 Subject: [PATCH] docs(telegram): update multilingual setup and acceptance guidance --- en/usage/platforms/telegram.mdx | 75 +++++++++++++++++++++----- images/telegram/agent-group-media.jpg | Bin 0 -> 104545 bytes ja/usage/platforms/telegram.mdx | 75 +++++++++++++++++++++----- zh/usage/platforms/telegram.mdx | 73 ++++++++++++++++++++----- 4 files changed, 182 insertions(+), 41 deletions(-) create mode 100644 images/telegram/agent-group-media.jpg diff --git a/en/usage/platforms/telegram.mdx b/en/usage/platforms/telegram.mdx index c256884e6..74f8cd1b9 100644 --- a/en/usage/platforms/telegram.mdx +++ b/en/usage/platforms/telegram.mdx @@ -4,30 +4,77 @@ description: "Build a Telegram AI bot with LangBot. Connect GPT, Claude, Gemini, icon: "/images/platforms/telegram.svg" --- -## Create Bot +## Create a bot -Go to the [Telegram Bot Creation Page](https://t.me/botfather), follow the prompts, and create a bot. +Open the official [BotFather](https://t.me/BotFather) in Telegram, send `/newbot`, and choose a name and a username ending in `bot`. Keep the returned Token private; do not include it in group messages or screenshots. -![Telegram Bot Creation](/images/zh/deploy/bots/telegram/telegram_01.png) +This guide covers the new Telegram adapter in LangBot 4.11 (internal name `telegram-omni`). Do not select the deprecated legacy adapter. -![Telegram Bot Creation](/images/zh/deploy/bots/telegram/telegram_02.png) +## Configure and enable -After creation, BotFather will return an API Token, please keep it safe. Next, turn off `Privacy Mode` to use it in group chats. +1. Configure a working model provider and model in LangBot, then create a Pipeline, Agent, or plugin processor. +2. Create a bot under **Bots**, select Telegram, and enter the Token. +3. Bind a message processor to `message.received`. A Pipeline runs a conversation flow; an Agent handles events with tools. Plugin processors can also subscribe independently. +4. Enable Markdown and streaming as needed, enable the bot, and save. Save again after changing processor bindings. +5. Open the bot's private chat in Telegram, click **Start**, and send a test message. Check the processor's run status and reply tool result in LangBot as well. -![Telegram Bot API Token](/images/zh/deploy/bots/telegram/telegram_03.png) +The adapter uses long polling and requires outbound access to `api.telegram.org`. An inbound Webhook is not required to receive messages. Only one polling instance should use a Token; do not enable the same bot in another LangBot instance simultaneously. -## Connect to LangBot +### Choose a processor -Open the LangBot Webui page, create a new bot +| Type | Configuration and checks | +| --- | --- | +| Pipeline | Set the model and trigger rules. Group mentions or prefixes must still match the rules. With streaming enabled, a streaming-capable processor can progressively update the Telegram message. | +| Agent | Configure the model, instructions, and event tools. Instruct it to use `event_reply` or another sending tool; model text alone does not prove delivery to Telegram. | +| Plugin processor | Install and configure the plugin processor, bind it to the bot, and save. Independent subscriptions can run alongside the main processor, so one message can produce two replies. | -![Connect to LangBot](/images/zh/deploy/bots/telegram/connect_to_langbot.png) +For attachment tasks, enable Box for the processor and use its sandbox tools and attachment delivery capabilities. Box must be ready. An external filesystem MCP server does not share Box's filesystem. Image understanding also requires a vision-capable model. -After filling in, start LangBot. If configured successfully, the log will show `[02-02 16:48:15.263] manager.py (68) - [INFO] : Initializing platform adapter 1: telegram`, keep LangBot running. +The bot's streaming toggle does not make every tool call stream tokens. An Agent's `event_reply` sends a complete message; plugin streaming depends on its implementation. Verify actual Telegram updates and processor logs separately. -## Use Bot +## Private chats and groups -Now you can use the bot normally in groups or private messages. +Click **Start** in a private chat first. For groups, add the bot to a test group and follow the processor's trigger rules, for example with a command addressed to the bot or a reply to its message. -![Telegram Bot Usage](/images/zh/deploy/bots/telegram/telegram_04.png) +Disabling **Privacy Mode** is not mandatory for every group scenario. Telegram delivers different messages for directed commands, replies, administrator bots, and ordinary group traffic. To receive ordinary group messages, adjust privacy mode in BotFather and re-add the bot when Telegram requires it, or grant administrator status where appropriate. See [Telegram's privacy mode documentation](https://core.telegram.org/bots/features#privacy-mode). -![Telegram Bot Usage](/images/zh/deploy/bots/telegram/telegram_05.png) +Member-status and reaction updates must satisfy Telegram's administrator requirements for those update types. Grant only the permissions the feature needs; do not enable deletion, bans, or adding administrators merely to receive events. Telegram delivery rules and LangBot trigger rules both apply. + +Upgrading a basic group to a supergroup changes its ID. The Bot API group ID in event logs can also differ from the Telegram Web URL; do not construct a group ID from that URL. + +## Images, files, and streaming + +Images and files arrive as message attachments. Test with a clearly captioned image and a text file whose content can be checked. Verify the actual returned image or file rather than a textual claim that it was sent. + +Streaming text progressively updates a Telegram message; attachments are sent separately at completion. Generated files must use the processor's attachment output mechanism, not just return a sandbox path. Images Telegram cannot process as photos are retried as documents to preserve their original bytes. + +![Real group acceptance: the Agent identifies an image, reads a file, and returns a file and a generated image.](/images/telegram/agent-group-media.jpg) + +## Other events + +Bind an Agent or plugin processor to the required events. Pipelines primarily handle message flows; do not treat every non-message event as ordinary chat. + +| Event | Trigger and meaning | +| --- | --- | +| `message.received` | A private or group message, including supported attachments. | +| `message.edited` | An existing message is edited. | +| `message.reaction` | A user adds or removes a reaction. `is_add` identifies the direction; `reaction` retains the removed emoji. | +| `group.member_joined` | A member joins. | +| `group.member_left` | A member leaves or is removed; inspect `is_kicked`. | +| `group.member_banned` | A member is restricted, such as being muted; this does not mean they were removed. | +| `bot.invited_to_group` | The bot is added to a group. | +| `bot.removed_from_group` | The bot is removed, including when previously restricted. | +| `bot.muted` | The bot loses permission to send messages. An indefinite restriction has `duration: null`. | +| `bot.unmuted` | Sending permission is restored, even if other restrictions remain. | +| `platform.specific` | Other platform events, such as permission changes or callbacks. Inspect `action` and `data`. | + +Start with a logging-only plugin processor to confirm delivery before adding replies or moderation actions. A muted or removed bot may receive the event while no longer being able to reply in that group. Evaluate reception and sending permission separately. + +## Troubleshooting + +- **No reply:** check enabled state, saved bindings, private-chat Start, group privacy mode, and trigger rules, then inspect the processor run. +- **Delivered message but failed run:** expand the run and inspect tool results. A visible Telegram message alone does not prove the entire task succeeded. +- **Model errors or timeouts:** check the provider and model separately from Telegram delivery. +- **Only a file path is returned:** check Box, tool permissions, and whether the attachment sending tool actually ran. +- **Duplicate replies:** check overlapping main/independent subscriptions and multiple polling instances. +- **Missing reactions or member events:** check administrator status and event bindings. Test in a dedicated group without affecting real members. diff --git a/images/telegram/agent-group-media.jpg b/images/telegram/agent-group-media.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17caecdae87cd03fd6fd56f5cf0683c79cf2809a GIT binary patch literal 104545 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⁡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 g<{9 literal 0 HcmV?d00001 diff --git a/ja/usage/platforms/telegram.mdx b/ja/usage/platforms/telegram.mdx index 35b6380be..07d62fb0f 100644 --- a/ja/usage/platforms/telegram.mdx +++ b/ja/usage/platforms/telegram.mdx @@ -4,30 +4,77 @@ description: "LangBot で Telegram AI ボットを構築。GPT・Claude・Gemini icon: "/images/platforms/telegram.svg" --- -## ボットの作成 +## ボットを作成する -[Telegram Bot Creation Page](https://t.me/botfather)にアクセスし、プロンプトに従ってボットを作成します。 +Telegram の公式 [BotFather](https://t.me/BotFather) を開き、`/newbot` を送信します。名前と、末尾が `bot` のユーザー名を設定してください。発行された Token は秘密に保ち、グループやスクリーンショットに含めないでください。 -![Telegram Bot Creation](/images/zh/deploy/bots/telegram/telegram_01.png) +この手順は LangBot 4.11 の新しい Telegram アダプター(内部名 `telegram-omni`)向けです。非推奨の旧アダプターは選択しないでください。 -![Telegram Bot Creation](/images/zh/deploy/bots/telegram/telegram_02.png) +## 設定して有効にする -作成後、BotFather は API Token を返しますので、安全に保管してください。次に、グループチャットで使用するために「Privacy Mode」をオフにします。 +1. LangBot で利用可能なモデルプロバイダーとモデルを設定し、Pipeline、Agent、またはプラグインプロセッサーを作成します。 +2. 「ボット」で新規作成し、Telegram を選択して Token を入力します。 +3. `message.received` にメッセージプロセッサーを割り当てます。Pipeline は会話フロー、Agent はイベントとツールによる処理に適しています。プラグインは独立してイベントを購読することもできます。 +4. 必要に応じて Markdown とストリーミングを有効にし、ボットを有効化して保存します。割り当ての変更後も保存が必要です。 +5. Telegram のプライベートチャットで **Start** を押してテストメッセージを送信します。LangBot の実行記録でも状態と返信ツールの結果を確認してください。 -![Telegram Bot API Token](/images/zh/deploy/bots/telegram/telegram_03.png) +アダプターはロングポーリングを使用するため、LangBot から `api.telegram.org` への接続が必要です。受信用の Webhook を外部公開する必要はありません。同じ Token を複数のポーリングインスタンスで同時に使用しないでください。 -## LangBot に接続 +### プロセッサーを選ぶ -LangBot Webui ページを開き、新しいボットを作成します +| 方式 | 設定と確認 | +| --- | --- | +| Pipeline | モデルと起動条件を設定します。グループのメンションやプレフィックスの条件も満たす必要があります。ストリーミング対応プロセッサーでは Telegram のメッセージを段階的に更新できます。 | +| Agent | モデル、指示、イベントツールを設定します。`event_reply` などの送信ツールを使うよう指示してください。モデルが文章を生成しただけでは Telegram に届きません。 | +| プラグイン | プロセッサーをインストール・設定し、ボットに割り当てて保存します。独立購読とメインプロセッサーは並行して動くため、同じメッセージに二つの返信が返る場合があります。 | -![Connect to LangBot](/images/zh/deploy/bots/telegram/connect_to_langbot.png) +添付ファイルを扱う場合はプロセッサーの Box を有効にし、サンドボックスツールと添付送信機能を使用します。Box が正常に動作していることを確認してください。外部のファイルシステム MCP と Box は別のファイルシステムです。画像の理解には画像入力に対応したモデルも必要です。 -入力後、LangBot を起動します。設定が成功した場合、ログに `[02-02 16:48:15.263] manager.py (68) - [INFO] : Initializing platform adapter 1: telegram` と表示されます。LangBot を実行し続けてください。 +ストリーミング設定を有効にしても、すべてのツール呼び出しが逐次表示になるわけではありません。Agent の `event_reply` は完成したメッセージを送信します。プラグインのストリーミングは実装によります。Telegram の実際の表示と実行ログをそれぞれ確認してください。 -## ボットの使用 +## プライベートチャットとグループ -グループまたはプライベートメッセージでボットを通常どおり使用できるようになりました。 +プライベートチャットでは先に **Start** を押します。グループではテスト用グループにボットを追加し、ボット宛てコマンドやボットへの返信など、プロセッサーの起動条件に合わせて送信します。 -![Telegram Bot Usage](/images/zh/deploy/bots/telegram/telegram_04.png) +すべてのグループ利用で **Privacy Mode** を無効にする必要はありません。Telegram は宛先付きコマンド、返信、管理者ボット、通常のグループメッセージで配信条件が異なります。通常のメッセージも受信するには、BotFather でプライバシーモードを変更して必要に応じて再追加するか、用途に応じた管理者権限を付与します。[Telegram の公式説明](https://core.telegram.org/bots/features#privacy-mode)も参照してください。 -![Telegram Bot Usage](/images/zh/deploy/bots/telegram/telegram_05.png) +メンバー状態やリアクションの更新には、その更新種別に対する Telegram の管理者要件を満たす必要があります。必要な権限だけを付与し、受信のためだけに削除・メンバー制限・管理者追加などをすべて有効にしないでください。Telegram の配信条件と LangBot の起動条件の両方が適用されます。 + +通常のグループをスーパーグループに変更すると ID が変わります。ログの Bot API グループ ID は Telegram Web の URL に含まれる ID とも異なる場合があります。URL から ID を組み立てないでください。 + +## 画像・ファイル・ストリーミング + +画像やファイルはメッセージの添付としてプロセッサーに渡されます。質問を明記した画像と内容を検証できるテキストファイルで確認し、「送信しました」という文章だけでなく、実際に返された添付を確認してください。 + +ストリーミングの文章は Telegram メッセージを更新して表示し、添付は完了時に別途送信します。生成ファイルは添付出力機能で送信し、サンドボックスのパスだけを返さないようにします。Telegram が写真として処理できない画像は、元の内容を保持するためファイルとして再送信します。 + +![実際のグループでの検証:Agent が画像を認識し、ファイルを読み取り、ファイルと生成画像を返信します。](/images/telegram/agent-group-media.jpg) + +## その他のイベント + +必要なイベントに Agent またはプラグインプロセッサーを割り当てます。Pipeline は主にメッセージフロー用です。非メッセージイベントをすべて通常チャットとして扱わないでください。 + +| イベント | 発生条件・意味 | +| --- | --- | +| `message.received` | プライベートまたはグループのメッセージ。対応する添付を含みます。 | +| `message.edited` | 送信済みメッセージの編集。 | +| `message.reaction` | リアクションの追加・削除。方向は `is_add`、削除した絵文字も `reaction` に残ります。 | +| `group.member_joined` | メンバーの参加。 | +| `group.member_left` | 退出または削除。`is_kicked` を確認します。 | +| `group.member_banned` | ミュートなどの権限制限。グループからの削除とは異なります。 | +| `bot.invited_to_group` | ボットの追加。 | +| `bot.removed_from_group` | ボットの削除。直前に制限状態だった場合も含みます。 | +| `bot.muted` | メッセージ送信権限を失った状態。無期限の場合は `duration: null`。 | +| `bot.unmuted` | 送信権限の回復。その他の制限が残っていても発生します。 | +| `platform.specific` | 権限変更やコールバックなど。`action` と `data` を確認します。 | + +まず記録のみ行うプラグインで受信を確認してから、返信や管理操作を追加してください。ミュート・削除されたボットはイベントを受け取れても、元のグループに返信できない場合があります。受信成功と送信権限は別々に確認します。 + +## トラブルシューティング + +- **返信がない**:有効化状態、保存済みの割り当て、Start、プライバシーモード、起動条件、実行記録を順に確認します。 +- **返信は届いたが実行は失敗**:実行記録を開いてツールの戻り値を確認します。Telegram に文章があるだけでは処理全体の成功とは判断できません。 +- **モデルのエラーやタイムアウト**:プロバイダーとモデルを、Telegram の配信問題とは分けて確認します。 +- **パスだけが返る**:Box、ツール権限、実際の添付送信ツール呼び出しを確認します。 +- **返信が重複する**:メイン処理と独立購読の重複、複数のポーリングインスタンスを確認します。 +- **リアクション・メンバーイベントが来ない**:管理者状態とイベントの割り当てを確認します。実メンバーに影響しない専用グループで試してください。 diff --git a/zh/usage/platforms/telegram.mdx b/zh/usage/platforms/telegram.mdx index dfb1b538b..7ab48d32c 100644 --- a/zh/usage/platforms/telegram.mdx +++ b/zh/usage/platforms/telegram.mdx @@ -6,28 +6,75 @@ icon: "/images/platforms/telegram.svg" ## 创建机器人 -前往 [Telegram 机器人创建页面](https://t.me/botfather),按照提示操作,创建一个机器人。 +在 Telegram 打开官方 [BotFather](https://t.me/BotFather),发送 `/newbot`,依次设置名称和以 `bot` 结尾的用户名。保存 BotFather 返回的 Token,不要把它发到群里或放入截图。 -![Telegram 机器人创建](/images/zh/deploy/bots/telegram/telegram_01.png) +本文适用于 LangBot 4.11 的新版 Telegram 适配器(内部名称 `telegram-omni`)。不要选择标记为过时的旧版适配器。 -![Telegram 机器人创建](/images/zh/deploy/bots/telegram/telegram_02.png) +## 配置并启用 -创建完成后,BotFather 会返回一个 API Token,请妥善保存。接下来关闭`Privacy Mode`,以便在群聊中使用。 +1. 在 LangBot 配置可用的模型供应商和模型,再创建 Pipeline、Agent 或插件处理器。 +2. 在「机器人」中新建机器人,选择 Telegram,填写 Token。 +3. 为 `message.received` 配置消息处理器。Pipeline 适合现有对话流程;Agent 通过事件与工具处理任务。插件处理器也可以独立订阅事件。 +4. 根据需要打开 Markdown 和流式回复,启用机器人并保存。修改处理器绑定后也要保存。 +5. 在 Telegram 私聊机器人,点击 **Start**,发送一条测试消息;同时在 LangBot 的处理器运行记录中检查状态和回复工具结果。 -![Telegram 机器人 API Token](/images/zh/deploy/bots/telegram/telegram_03.png) +适配器通过长轮询连接 Telegram,需要 LangBot 所在环境能访问 `api.telegram.org`。不需要为收消息额外暴露入站 Webhook。一个 Token 只应由一个轮询实例使用;不要同时在另一套 LangBot 中启用同一个机器人。 -## 对接 LangBot +### 选择处理器 -打开 LangBot Webui 页面,创建一个新机器人 +| 方式 | 配置与检查 | +| --- | --- | +| Pipeline | 配置模型和触发条件。群聊的 @、前缀等触发条件仍需满足;开启流式回复后,支持流式的处理器可逐步更新 Telegram 消息。 | +| Agent | 配置模型、指令及事件工具。要求 Agent 使用 `event_reply` 等工具回复;模型生成了文本不等于消息已发送到 Telegram。 | +| 插件处理器 | 安装并创建相应插件处理器,将它绑定到机器人并保存。独立订阅可与主处理器并行,因此同一条消息可能产生两份回复。 | -![对接 LangBot](/images/zh/deploy/bots/telegram/connect_to_langbot.png) +需要读写附件时,为相应处理器启用 Box,并使用其沙盒工具和附件发送能力。Box 必须处于可用状态。外部文件系统 MCP 与 Box 不是同一个文件系统。图片理解还需要支持视觉的模型。 -填写完成后启动 LangBot,若成功配置,日志中会出现`[02-02 16:48:15.263] manager.py (68) - [INFO] : 初始化平台适配器 1: telegram`的字样,保持 LangBot 运行。 +机器人上的流式开关不会把所有工具调用都变成逐字输出。Agent 的一次 `event_reply` 是一次完整发送;插件是否流式取决于插件实现。请分别核对 Telegram 中的实际更新和处理器日志,不能只看开关。 -## 使用机器人 +## 私聊与群聊 -现在在群里或者私聊机器人都可以正常使用了。 +私聊应先点击 **Start**。群聊则先把机器人加入测试群,再按处理器触发规则发送消息,例如发给机器人的命令或回复机器人的消息。 -![Telegram 机器人使用](/images/zh/deploy/bots/telegram/telegram_04.png) +不必为了所有群聊场景都关闭 **Privacy Mode**。隐私模式会影响 Telegram 向机器人投递哪些消息;定向命令、回复和管理员身份的行为与普通群消息不同。如果需要接收群内普通消息,可以在 BotFather 中调整隐私模式,按 Telegram 的提示重新添加机器人,或按需要授予管理员身份。详见 [Telegram 官方隐私模式说明](https://core.telegram.org/bots/features#privacy-mode)。 -![Telegram 机器人使用](/images/zh/deploy/bots/telegram/telegram_05.png) +接收成员状态、表情等更新时,需要满足 Telegram 对相应更新的管理员要求。只授予实际功能需要的权限;不要为了接收事件直接打开删除消息、封禁成员、添加管理员等全部权限。Telegram 侧投递规则和 LangBot 处理器触发条件需要同时满足。 + +普通群升级为超级群后,群 ID 会改变。事件日志中的 Bot API 群 ID 与 Telegram Web 地址栏中的 ID 也不一定相同,不要直接从网页地址拼接群 ID。 + +## 图片、文件与流式回复 + +图片和文件可以作为消息附件进入处理器。测试时发送带有明确问题的图片、内容可校验的文本文件,并检查真实返回的图片或文件,而不仅是“已发送”的文本。 + +流式文本在 Telegram 中通过持续更新消息展示;附件在结束时单独发送。生成文件必须使用处理器提供的附件输出机制,不能只返回沙盒路径。Telegram 无法作为照片处理的图片会尝试以文件发送,便于保留原始内容。 + +![真实群聊验收:Agent 识别图片、读取文件并返回文件和生成的图片。](/images/telegram/agent-group-media.jpg) + +## 其他事件 + +在机器人中为所需事件绑定 Agent 或插件处理器。Pipeline 主要用于消息流程,不应把所有非消息事件都当作普通聊天测试。 + +| 事件 | 触发与含义 | +| --- | --- | +| `message.received` | 收到私聊或群聊消息,包括支持的附件。 | +| `message.edited` | 编辑已发送的消息。 | +| `message.reaction` | 用户新增或移除消息表情;`is_add` 区分方向,`reaction` 保留被移除的表情。 | +| `group.member_joined` | 成员加入群。 | +| `group.member_left` | 成员离开或被移出;检查 `is_kicked`。 | +| `group.member_banned` | 成员权限受到限制,例如禁言;不代表成员已被移出。 | +| `bot.invited_to_group` | 机器人被加入群。 | +| `bot.removed_from_group` | 机器人被移出群,包括此前处于受限状态的机器人。 | +| `bot.muted` | 机器人失去发送消息权限。永久限制的 `duration` 为 `null`。 | +| `bot.unmuted` | 机器人恢复发送消息权限,即使仍受其他权限限制。 | +| `platform.specific` | 其他平台事件,例如权限状态变化或回调。根据 `action` 和 `data` 处理。 | + +先用只记录事件的插件处理器确认投递,再添加回复或管理操作。机器人被禁言或移出时,收到事件并不意味着仍有权限在原群回复。权限不足的发送失败应与事件接收成功分别判断。 + +## 排查问题 + +- **无响应**:检查机器人启用状态、保存后的绑定、私聊 Start、群隐私模式和触发规则,然后查看对应处理器运行记录。 +- **消息发出了但运行失败**:展开运行记录核对工具返回值;仅有 Telegram 消息不是整次任务成功的证明。 +- **模型报错或超时**:检查供应商和模型。上游模型错误与 Telegram 投递问题分别排查。 +- **附件只有路径**:检查 Box、模型工具权限,以及是否真正调用了附件发送工具。 +- **重复回复**:检查主处理器与独立订阅是否同时处理同一事件,以及是否有多个轮询实例。 +- **收不到表情或成员事件**:检查机器人管理员身份和事件绑定;先在专用测试群操作,避免影响真实成员。