跳转至

事件与操作

Operational Telegram 相关方面:反应唤醒、配置写入,以及出错时机器人会说的话。

事件与操作

反应通知

Telegram 反应以 message_reaction 更新形式到达,与消息负载分离。启用后,OpenClaw 会入队系统事件,例如 Telegram reaction added: 👍 by Alice (@alice) on msg 42。

  • channels.telegram.reactionNotifications:off | own | all(默认:own)
  • channels.telegram.reactionLevel:off | ack | minimal | extensive(默认:minimal)

own 表示仅接收用户对机器人发送消息的反应(通过已发送消息缓存尽力实现)。反应事件仍然遵循 Telegram 访问控制(dmPolicy、allowFrom、groupPolicy、groupAllowFrom);未经授权的发送者将被丢弃。

Telegram 不在反应更新中提供话题元数据。普通的非论坛群组仍以聊天为作用域。论坛和频道直接消息中的反应会从 OpenClaw 的有界消息缓存(按账户、聊天和消息 ID 为键)中恢复来源话题,因此话题配置、话题代理和会话绑定仍然适用。如果缓存的话题缺失或所属作用域不正确,OpenClaw 会跳过反应通知并记录警告,而不会回退到 General 或基础聊天。

轮询/webhook 的 allowed_updates 会自动包含 message_reaction。

来自 Telegram 事件和命令的配置写入

频道配置写入默认启用(configWrites !== false)。Telegram 触发的写入包括群组迁移事件(migrate_to_chat_id,更新 channels.telegram.groups)和 /config set / /config unset(需要命令启用)。

禁用:

{
  channels: {
    telegram: {
      configWrites: false,
    },
  },
}

错误回复控制

当代理遇到投递或提供商错误时,错误策略控制错误消息是否发送到 Telegram 聊天:

键 值 默认值 描述
channels.telegram.errorPolicy always, once, silent always always 将每条错误消息发送到聊天。once 在每次内置冷却窗口内仅发送每个唯一错误消息一次。silent 从不向聊天发送错误消息。

支持按账户、按群组和按话题覆盖(继承方式与其他 Telegram 配置键相同)。

{
  channels: {
    telegram: {
      errorPolicy: "always",
      groups: {
        "-1001234567890": {
          errorPolicy: "silent", // 在该群组中抑制错误
        },
      },
    },
  },
}

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw