# 群里的报名名单在第十个人那里塌掉

> 为什么置顶消息下面那一列「+1」超过十个人就不管用了，以及靠什么把球队名单撑住，而不让报名变成每周的额外工作。

发布于: 2026-08-23 · 更新于: 2026-09-24 · https://teamup-live.com/zh-hans/blog/roster-in-group-chat

## 真正塌掉的地方

「周六谁去？」一条置顶消息，下面堆起一墙回复：「+1」「我去」「+2，我和一个朋友」「我不去了，赶不上」。到第十条左右，你就再也记不住人数了。于是从头再数一遍：往上翻，掰手指，把中途退出的人和后来补上的人对起来。十个人以内，这只是有点烦。超过十个人，它就成了固定活儿，球队踢球的每一周都会回来。

![群聊里的比赛报名：置顶消息下面那一列「+」，已经算不出到底几个人](/blog/roster-in-group-chat/thread.zh-hans.png)

这不是假设，是算术。上场的是十六个人，群里有四十多人，一次报名会攒下几十条光秃秃的「+」和「-」。到了这个规模，加号减号的那串消息就不再是名单，而是每次都要从零重新拼出来的东西。

## 手动维护名单的四种做法

几乎每支球队最后都会落在其中一种上。六个人的时候，四种都好用。下面是它们各自撑不住的地方。

**组织者亲手编辑的置顶消息。** 一份编号名单，靠手更新。最好读，也最贵：每一个「+1」、每一次退出都要改一次，而这些改动都在你上班的时候到达。漏掉两次，置顶名单就悄悄和现实对不上了。因为大家信它，这比没有名单更糟。

**加号减号的消息串。** 写的人零成本，读的人全成本。谁也没法在不翻完整串、不做加减的情况下回答「咱们现在几个人」，所以实际上只有一个人在算，其余人都去问他。

**投票。** 适合是与否，别的就不够用了。投票没法把「+2，我和一个朋友」当成两个有名字的人，球局满了之后撑不起候补名单，也不会告诉你两个马克斯里投票的是哪一个。

**表格。** 准确、可核对，也是四种里唯一能在「谁欠谁多少」的争论中活下来的。代价是它住在群外面：得有人把报名一条条抄进去，而大多数球员不会为了给自己加一行去点开一个链接。群聊存在的意义，本来就是避开这种摩擦。

## 坏掉的不是「+」，是重新数

加号本身很好用，它是说「我去」的简单办法。撑不住规模的是它周围的清点。

- **客人需要名字。** 「+2，我和一个朋友」迟早会撞上「那个朋友是谁」这个问题。没有名字，谁也不知道真正来的是谁。十人以内大家本来就都认识。超过十人就不认识了。
- **退出掉在消息串中间。** 有人周二写「+1」，周四改主意：「我不去了，赶不上」。靠往上翻来数的人，得把这两条按顺序对上，还不能漏掉第二条。
- **人们不再数，开始问。** 当消息串长到读不完，「名单现在什么样」就成了群里最常见的消息。而且同一个问题会有十二种问法：「名单？」「阵容？」「谁去？」「最后几个人？」「把比赛名单发一下」。为了自己回答而去读四十条回复，早就不现实了。
- **人们不再相信这个计数，开始在里面找自己。** 在手动维护的那一列下面，「等等，有我吗？」「亚历克斯，你把我加上了吗？」「克里斯在名单里吗？」「他不是退了吗？」是家常便饭。没有人算错。只是手动名单除了问维护它的人之外，根本没法验证。

这些都不是针对哪个组织者的指责。任何靠手维护的名单，一旦越过一个人能用工作记忆记住的界限，都会这样，而这个界限对大多数人来说在十到十五条之间。

## 真正的瓶颈：替别人报名

这里是最容易忽略的细节：在一份活的名单上，人们不断在替 _别人_ 报名。「+2，我和马克斯」不是一条报名，是两条，其中一条属于一个在群里一个字都没写过的人。第二常见的输入形式根本不是「+」：有人把整份定好的阵容当成一段文字贴进来，有时两个人同时贴，版本还对不上。

一个只会数「+1」和「-1」的关键词解析器，这两种情况都接不住。它没有办法知道「把马克斯也加上，他来」意味着要多登记一个在句子中间被点名的具体的人。TeamUp 的助手不是去找规律，而是去读这条消息：「+1 马克斯的」会明确登记马克斯，给他自己的一行和自己的编号；而对有固定班底的球队来说最关键的一步是，它会先在群里找有没有已经存在的马克斯，再决定要不要新建，只有在实在分不清的时候才回头问你指的是哪一个。同一份名单上出现两个同名的人，比听上去常见得多：四十人的班底里，两个马克斯就是个普通的星期二。

## 十人以上的名单靠什么撑住

![如何在 Telegram 群里维护比赛名单：「+1 马克斯的」返回一份编号名单，客人单独占一行](/blog/roster-in-group-chat/roster.zh-hans.png)

_这是演示。在真实的群里，助手的回复由模型用该群自己的语言写出，所以措辞会不一样。_

机制刻意做得不起眼。大家还是照原样在群里写：「+1」「我去」「把我弟也加上」「把我去掉」。这些都不变。变的是有人写完之后发生的事。

- 每位球员在当前名单中都有单独一行。编号方便指明是谁，但有人取消报名或整份名单被替换后，编号可能改变。按编号操作前，先索取最新名单并核对姓名。
- **客人有自己的一行**，和带他来的人分开，不会消失在一个日后谁也拆不开的、没有标注的「+2」里。如果他是用临时名字进来的，之后改名也会保住他的编号和位置。
- **「名单现在什么样」是从当前状态回答的**，不是从谁对消息串的记忆里回答的。像问人一样问就行，回来的是此刻的名单。
- 设置人数上限后，超出的报名进入候补。已确认球员取消时，下一人可以自动递补，组织者也能手动修改状态。请确认递补者仍然能来：报名状态改变并不等于本人确认了行程。
- 已经定好阵容的球队，无论是从上周复制的还是按队伍分好的，都可以整段交上去，不必一个名字一个名字地报。它会被登记成一份有顺序的名单，编号按给出的顺序排。没有人会悄悄消失：已经报名但不在这段文字里的人会先给你看，你确认之后才会被移除。

从群里面看，效果就是二十人的名单表现得像六人的名单。你问，它答，结束。

## 诚实的边界

这些值得直说，因为一个在边缘处悄悄失灵的工具，比一个提前把边缘讲清楚的工具更糟。

报名需要先有比赛。第一场由组织者创建；如果已有上场比赛且当前没有进行中的比赛，报名可以触发新建并继承部分设置。请核对日期和条件。自动递补需要人数上限；分队是单独操作，可随机或手动进行。

如果你们球队的群既不在 Telegram 也不在 VK，比如是个 WhatsApp 群，名单仍然可以通过一个公开的报名链接来跑，而不是靠群里的机器人。但那个链接会要求先用 Telegram、Apple 或 VK 登录，才能报名。「不用装任何东西」是真的，「连账号都不用」不是。

## 说到底

「+」这个习惯不是问题。问题是它底下的重新清点，而正是这一部分撑不过一份长名单。过了十个人不是边缘情况，就是普通的一周。谁来维护名单并不重要：一个人、一张表格，或者一个读着同一个群的助手，都一样。检验只有一条：「名单现在什么样」是靠一个事实回答的，还是靠往上翻回答的？其他任何界面归根到底都是同一个群聊换了身衣服，而如果你们群里已经有机器人了，[设置大概只要一分钟](/zh-hans/docs/get-started)。

[分队不用吵四十分钟的办法](/zh-hans/blog/split-teams-fairly)

---

把机器人加进球队群聊: https://t.me/rocky_agent_bot?start=bgroster-in-group-chat
