快速开始
了解 2SOMEone 机器人能做什么,10 分钟拥有你自己的机器人
机器人(Bot)是平台上的一类自动化账号:它有自己的用户名、昵称和头像,可以定时发布泡泡动态、在群聊里发消息,也可以登记 HTTPS 回调,在被斜杠命令点到时被平台叫醒。官方的 @news_bot「资讯泡泡」 就是一个机器人——它按计划把科技圈新鲜事发布成泡泡。
你可以创建自己的机器人来扩展玩法:开播提醒、粉丝群播报、RSS 订阅转发、定时打卡提醒……任何「定时或自动发内容」的场景都适合交给机器人。
机器人能做什么
| 能力 | 说明 |
|---|---|
| 发布泡泡 | 以机器人身份发布泡泡动态,支持纯文本、富文本贴纸、已准备的图片附件,以及回复 / 引用(受接口权限和资源状态限制) |
| 读自己的泡泡 | 读取机器人自己发布过的内容(常用于去重判断) |
| 群聊发消息 | 向已安装该机器人的群聊发送消息 |
| 读取群聊与 Thread | 在 chat.read + 安装隐私模式允许的范围内读取消息和 Thread |
| 被斜杠命令叫醒 | 主人登记 HTTPS 回调后,群成员用 picker 发送 /name@bot 时平台会签名 POST 一条 interaction.created;同一事件也可从事件 feed 补拉 |
| 管理自己的 reaction | 用独立的 chat.react 为机器人自己发送的消息添加或取消 reaction |
能力边界
机器人不能读取他人的泡泡;Chat 读取受 chat.read、Group 安装状态和 mention_only / commands_only / read_all 隐私模式共同限制。chat.react 是独立授权,不会隐式授予读取或发送;它目前只允许机器人操作自己发送的消息,不能替其他用户的消息添加或取消 reaction。Bot runtime 当前只支持已安装的 Group,不适用于私信、Channel 或客服会话。反应型 Bot 默认用 Webhook 叫醒 + GET /api/v1/bots/me/events 保底(目前会在斜杠命令命中时推送;@ / 被回复的 webhook 面仍在收紧中),不接入 /chat WebSocket。需要监控会话里更多内容时,轮询路径仍在:用 runtime key 调 GET .../messages(需 chat.read,可见范围仍受安装隐私模式约束)。拉群消息按主人当前 VIP 单独限额(默认 5 次/分钟,VIP 1 为 30,VIP 2 为 60);运行密钥仍按 Webhook 档签发(100 次/分钟)。群安装没有名为 Webhook 的权限开关;回调 URL 由机器人主人在设置或 CLI 登记。步骤与验签见 Webhook 与轮询。涉及第三方接收事件的 External AI Bot 必须走单独的授权说明。
最快路径:Fork 官方模板
官方资讯机器人是开源的,仓库本身就是模板,不需要自己的服务器。不过当前模板仓库的 README/SKILL 仍引用已经禁止 Bot runtime key 调用的旧身份接口 /api/auth/get-session,所以不能直接按原样运行;Fork 后先把身份预检改成 GET /api/v1/bots/me,并确认 user.accountType === "bot",再启用 workflow。平台接口的当前契约以接口参考为准。
1. Fork 模板仓库
打开 leaperone/2someone-news-bot,点击右上角 Fork。
2. 创建机器人账号并获取密钥
npm install -g @2someone/cli
2s1 login
2s1 bot create --username my_news --nickname "我的资讯姬" \
--capability bubble.create --capability bubble.read
# 获取运行密钥(只显示一次,立即保存)
2s1 bot key rotate <botUserId> --yes3. 配置 Secret 并启用
在你 Fork 的仓库里进入 Settings → Secrets and variables → Actions,新建 secret TWOSOMEONE_BOT_API_KEY,填入上一步的 sk_... 密钥。然后到 Actions 标签页启用 workflow,手动运行一次 Post news(勾选 dry_run 可以先预览效果,不会真实发布)。
完成。当前运行频率以模板仓库 workflow 中的 schedule 配置为准,Fork 后请查看并按需修改(GitHub Actions 的 schedule 默认仍可能处于禁用状态,需在 Actions 页面启用)。想换内容来源,编辑仓库里的 feeds.json 即可——任何标准 RSS / Atom 源都可以。
交给 AI 改造
模板里的 RSS 部分可以整体替换成任何数据源(天气、汇率、GitHub Releases……)。把仓库交给 AI 编程助手(如 Claude Code / Codex)改造效果最好——仓库里的 SKILL.md 就是写给它们看的平台说明书。
从零自己写
机器人本质上就是「一个会调 HTTP 接口的程序」。核心是:
- 在「设置 → 自动化机器人」或通过 CLI 创建机器人账号,拿到运行密钥
- 程序里带上
x-api-key请求头调用开放接口 - 反应型机器人再登记 HTTPS 回调,用 webhook + 事件 feed 接收斜杠命令;需要监控更多群消息时继续轮询
chat.read - 把程序跑在任何能联网的地方(GitHub Actions、服务器、甚至你自己的电脑)
数量与权限说明
普通账号最多创建 3 个机器人;管理员不受此自助创建上限限制。普通用户创建的机器人有以下限制(需要更高权限请联系官方):
| 项目 | 普通用户可用 | 说明 |
|---|---|---|
| 可见性 | private / unlisted | public(公开列出)暂需官方开通 |
| 安装策略 | owner_only / invite_required | 公开安装暂需官方开通 |
| 默认隐私模式 | mention_only / commands_only | 决定机器人在群里默认能感知多少消息;read_all(读全量会话)暂需官方开通 |
| 来源类型 | manual | 资料上的 RSS / Webhook 来源标记暂需官方开通;主人登记 HTTPS 回调(斜杠命令叫醒)是另一件事,见 Webhook 与轮询 |
| 运行密钥限额 | Webhook 档 100 次/分钟 | 整把 key 的总限额;自定义限额仍需管理员 |
| 拉群消息限额 | 默认 5 次/分钟 | GET .../messages 与 Thread 分页共用;VIP 1 为 30、VIP 2 为 60,按主人当前 VIP 即时生效 |
「默认隐私模式」是机器人在群聊里的默认感知范围:mention_only 感知提及机器人的消息、机器人自己的消息及满足条件的 Thread 上下文;commands_only 感知命令消息、机器人自己的消息及命令 Thread 上下文。隐藏 Thread 中单独 @Bot 不会让隐藏 root 变得可见。普通用户两者都能用,想读全量会话的 read_all 需要官方开通。创建和修改时都能用 --default-privacy-mode 指定。