Guest 模式
Guest 模式基于 Telegram Bot API 10.0 的 Guest Message 功能,允许用户在任意群组中召唤机器人,无需事先将群组加入白名单。
什么是 Guest 模式?
传统 Telegram 机器人只能在管理员手动添加的群组中工作。Guest 模式打破了这个限制:
- 用户可以在任何群组中发消息给机器人
- 机器人通过 Guest Message API 接收并回复
- 无需管理员操作,随叫随到
启用方式
Guest 模式默认开启:
json
{
"GUEST_MODE_ENABLED": true
}使用方式
在任意群组中,直接 @ 机器人发送消息即可触发 Guest 回复。
权限控制
限制允许的用户
可以配置只有特定用户才能使用 Guest 功能:
json
{
"GUEST_ALLOWED_USER_IDS": ["用户ID1", "用户ID2"]
}留空时,任何用户都可以使用。
回复长度限制
Guest 模式的回复比正常群聊更简短:
json
{
"GUEST_MODE_MAX_REPLY_CHARS": 800
}工具调用
Guest 模式下可以通过配置控制是否允许工具调用(搜索、代码执行等):
json
{
"GUEST_TOOL_ENABLED": true
}与白名单群组的区别
| 特性 | 白名单群组 | Guest 模式 |
|---|---|---|
| 加入方式 | 管理员手动添加 | 无需任何操作 |
| 主动插话 | ✅ 支持(聚焦系统) | ❌ 仅响应直接呼叫 |
| 上下文记忆 | ✅ 持久化存储 | ⚠️ 有限 |
| 用户画像 | ✅ 支持 | ⚠️ 有限 |
| 自定义设置 | ✅ 群管理员可配置 | ❌ 使用默认设置 |
| 回复长度 | 无特殊限制 | 最多 800 字符 |
| 定时问候 | ✅ 支持 | ❌ 不支持 |
典型使用场景
- 临时性的跨群帮助("帮我在这个群里查一下...")
- 向朋友展示机器人能力
- 在没有权限添加白名单的群组中使用基础功能
技术背景
Guest Message 是 Telegram Bot API 10.0 引入的功能,允许用户向非所在群组的机器人发送消息。机器人通过特殊的 guest_message Update 类型接收这些消息。
