# 接入 Telegram ## 支持的基本消息类型 > 版本 v4.15.0。 | 消息类型 | 是否支持接收 | 是否支持发送 | 备注 | | --- | --- | --- | --- | | 文本 | 是 | 是 | | | 图片 | 是 | 是 | | | 语音 | 是 | 是 | | | 视频 | 是 | 是 | | | 文件 | 是 | 是 | | 主动消息推送:支持。 ## 1. 创建 Telegram Bot 首先,打开 Telegram,搜索 `BotFather`,点击 `Start`,然后发送 `/newbot`,按照提示输入你的机器人名字和用户名。 创建成功后,`BotFather` 会给你一个 `token`,请妥善保存。 如果需要在群聊中使用,需要关闭Bot的 [Privacy mode](https://core.telegram.org/bots/features#privacy-mode),对 `BotFather` 发送 `/setprivacy` 命令,然后选择bot, 再选择 `Disable`。 ## 2. 配置 AstrBot 1. 进入 AstrBot 的管理面板 2. 点击左边栏 `机器人` 3. 然后在右边的界面中,点击 `+ 创建机器人` 4. 选择 `telegram` 弹出的配置项填写: - ID(id):随意填写,用于区分不同的消息平台实例。 - 启用(enable): 勾选。 - Bot Token: 你的 Telegram 机器人的 `token`。 请确保你的网络环境可以访问 Telegram。你可能需要使用 `配置页->其他配置->HTTP 代理` 来设置代理。 ## 流式输出 Telegram 平台支持流式输出。需要在「AI 配置」->「其他配置」中开启「流式输出」开关。 ### 私聊流式输出 在私聊中,AstrBot 使用 Telegram Bot API v9.3 新增的 `sendMessageDraft` API 实现流式输出。这种方式会在私聊界面展示一个「正在输入」的草稿预览动画,体验更接近「打字机」效果,且避免了传统方案的消息闪烁、推送通知干扰和 API 编辑频率限制等问题。 ### 群聊流式输出 在群聊中,由于 `sendMessageDraft` API 仅支持私聊,AstrBot 会自动回退到传统的 `send_message` + `edit_message_text` 方案。 :::warning `sendMessageDraft` 功能需要 `python-telegram-bot>=22.6`。 :::