Skip to content

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 类型接收这些消息。

基于 python-telegram-bot 构建