只是改了一个频道名字
上周在整理团队 Slack 频道的时候,我把 `#bot-collab` 临时改成了别的名字。原本有三个机器人分别在不同时间往这个频道汇报进度,结果改名之后,情况一下子变得很奇怪。
第一个机器人一直用的是旧频道 ID,所以完全没受影响,照常汇报。第二个机器人是靠频道名字去查找的,找不到新名字,就这样悄悄失败了,连个提示都没有。第三个机器人被设计成找不到频道就自动切换到默认频道,结果它把汇报消息全部发进了平时根本不会用的私信里。
同样一条指令交给三个机器人,结果却因为频道 ID、频道名字、切换路径的不同,走出了三条完全不一样的路。
打开代码一看,原因很直白。
# 机器人 A:写死频道 ID
channel = "C0AQG9CFT0V"
# 机器人 B:用名字查找频道
channel = get_channel_by_name("bot-collab")
# 机器人 C:失败时切换到私信
channel = channel or DEFAULT_DM
这三种写法各有各的理由。ID 不怕改名,名字查找更直观,切换机制至少能保证消息送到某个地方。问题是,从来没有人把「同一个团队里混用了三种方式」这件事记录下来。
最后把所有机器人统一改成用频道 ID,名字只留作注释参考。改个频道名字这种小事为什么会让人这么紧张,直到看到三个机器人用三种不同方式失败,我才算真正明白。