迁移规则和排查问题
了解如何迁移和检查自动化规则,理解限额、重复回复、机器人权限,以及导入后需要检查的设置
本文内容
管理规则
群聊很快就会积累许多实用规则:课程资料、付款、招聘信息,以及助教命令。下面介绍如何整理它们、关闭不再需要的规则,并把配置迁移到下一期课程群。
查找、禁用、复制或删除
列表会显示规则及其操作的简短说明。你可以搜索“付款”,也可以使用全部、触发器、命令和问题缩小范围。
禁用。课程结束了?关闭相应的信息规则即可。设置会保留,以后可以重新启用。
仅禁用一个 OR 分支。假设“支持”中仍需要付款回复,但“新人提问”中暂时不需要,就禁用该分支。主条件和其他已启用分支继续工作,重新打开规则时也会保留这一选择。
禁用整条规则。主开关会同时停止主条件和所有 OR 分支。关闭单个分支不会停止整条规则。
复制。已有 PDF 回复,想为另一种文档类型创建类似规则?可以先复制,再检查名称、条件、命令、启用状态和操作。未经修改的副本可能让两条规则同时响应同一个文件。
删除。已结束很久的活动规则可以删除。如果以后可能还会用到,请先导出,保留可恢复的设置副本。
检查设置
验证检查当前打开的规则,验证全部检查整个规则集。
你可能创建了奖励有帮助回答的规则,却忘记启用 XP;也可能选择了尚未连接的日志频道。请在启用规则前解决这些问题。
校验还可能提示名称为空、缺少命令或操作、时间无效、消息类型不兼容、条件矛盾,或超出限额。
不要因为保存成功就忽略警告。如果机器人无法把回复发送到正确位置,保存了也没有多少帮助。
对于基于首次消息或其他首次活动后时长的旧规则,可以保持禁用以保留思路,但不能在仍含此不支持条件的情况下启用。“入群时长”是另一种度量,只有适合任务时才应替换使用。
检查设置后,请在 Telegram 中试用规则。例如,发送一个匹配的 PDF 和一张普通照片,回复应当只在 PDF 后出现。
规则为什么会重叠
假设一条规则响应“付款”,另一条响应“怎么付款”。“课程怎么付款?”同时匹配两者,用户就可能收到两条回复。
冲突检查查找的是完全相同的条件,与操作文本无关。因此,没有冲突并不能证明相似规则永远不会重叠。
对于重复奖励和相反决定要格外小心,例如一条规则批准入群申请,另一条却拒绝它。
导出:备份或分享设置
新课程开始前,可以导出全部规则或只导出部分规则。导出结果是一个 JSON 设置包,迁移规则时无需手动编辑。
重大修改前请保留副本,也可以分享给同事。它包含的是设置,而不是机器人执行操作的历史。
分享前请检查内容:规则文本和条件可能包含私密邀请、成员 ID,以及不希望传播的链接。
导入:将规则迁移到另一个群聊
准备开第二个课程群?打开导入,粘贴导出的设置包并确认。
导入会在现有规则基础上添加规则。它不会替换原有规则。同一设置包导入两次,可能得到两份相同回复。
导入时会重置已选话题。旧群的“作业”和新群的“作业”是不同目的地。原本仅限一个话题的条件,重置后可能覆盖整个来源群聊;原本发往指定话题的操作,则恢复为当前对话位置。
请迁移已禁用规则,或先在测试群中尝试导入。导入不会把所有规则自动变成安全草稿,而是保留已保存的启用状态。
导入后:
- 重新选择来源话题和回复目的地。
- 检查邀请链接、选定用户和日志频道。
- 检查操作是全部执行,还是随机选择一项;也要检查带有 始终 星标的必做操作。
- 确认已按需启用 XP 或声望,并授予机器人所需权限。
- 校验设置。
- 用一条匹配消息和一条不匹配消息试用其中一条规则,再启用其余规则。
如果你已在使用旧触发器
旧触发器可能会在群聊任何地方响应“付款”。在自动化中,你可以增加指定话题、工作时间,以及同一问题的多种说法。其他任务还可以使用独立事件、成员条件、多个操作和命令。
请逐步迁移:重建所需行为,检查后禁用重复的旧触发器。不要认为 Triggers v2 导出结果就是可直接导入的新格式设置包。
可以添加多少规则和操作?
入门时通常一两条规则就够了。如果要为课程或多个社区准备大量规则,请先查看限额。
已保存规则
本指南修订时的限额如下:
- Free:最多 2 条独立规则,不支持额外的整规则 OR 分支。
- Pro:最多 50 条规则,每条最多 2 个额外 OR 分支。
- Business:最多 100 条规则,每条最多 5 个额外 OR 分支。
课程资料命令和付款回答触发器是两条独立规则。禁用规则仍占一个名额:禁用不等于删除。OR 分支位于规则内部,有各自的限额。
已配置操作
一条规则最多可以包含 100 行操作。这适合回复变体,例如准备 30 条欢迎消息,每次加入时随机选择一条。
单次执行最多允许编辑器计数器计算的 20 次操作,界面标为 Telegram API 操作限额。一行设置不一定只计一次操作:发送到三个话题的回复会计为三次。
几个例子能更清楚地说明:
- 向一个话题发送信息消息:1。
- 向三个话题发送:3。
- 向三个话题发送并清理上一条回复:6,即三次发送加三个清理名额。即使首次运行没有上一条回复,清理仍然计数。
- 警告一位成员,并发送不带清理的说明:2。
- 增加 25 XP:此处计为 0,但该操作行仍计入 100 行限额。
其他操作的计数方式如下:
- 警告、移除警告、限制、解除限制,或删除成员消息:每位已知的选定成员计 1。选择“两者”最多可计为 2。
- 删除事件消息、批准入群申请或拒绝申请:各计 1。
- 调整声望与 XP 相同:此处计为 0。
全部执行会计算整个列表。随机一个会计算所有必做操作,再加上可能被随机选中项目中的最高成本。编辑器不会假设你总能抽到成本最低的发送操作。
不存在单独的“最多发送五次”限制。不含清理或其他成本的简单列表可以有 20 次发送。但这不保证每条消息都会送达,机器人权限和 Telegram 限制仍然适用。
下一项操作超出剩余额度时
机器人会在执行前计算该操作的完整成本。如果剩余额度不足,这项操作及后续整个列表都不会执行。已完成的操作不会回滚。
例如,一项发往 21 个话题的操作不会缩减为只发前 20 个。操作尝试失败,也会消耗分配给它的名额。
20 次操作的预算适用于一条规则的一次执行,不是群聊或全部规则共用的每日额度。
计数器用于规划规则,并不统计机器人发给 Telegram 的每一个请求。警告还可能触发群聊设置中的处罚,清理消息历史也可能需要多个请求。因此,实际 Telegram 请求数可能超过 20。
简单的信息回复很少会受到这些细节影响。对于涉及管理、多个话题和清理的长列表,请使用编辑器计数器,并检查每项必做操作的结果。
套餐限额可能变化。准备大量规则前,请查看控制台中实际可用的数值。
结果不符合预期时
先从一个具体例子入手:用户写了什么、在哪里写、你期待什么回复。这比一次修改整个配置更容易发现多余条件。
规则已保存,但机器人没有回复
可能你上传了 PDF,而规则等待的是纯文本;也可能问题出现在“闲聊”,规则却仅限“支持”。
检查启用状态、群聊、事件和条件。如果消息只匹配某个 OR 分支,也要确认该分支已启用。在测试群中先只保留一个简单条件和一条回复,再逐项恢复其他设置。如果在同一群聊创建了副本,测试时请禁用原规则。
已经 10:00,却没有消息
在自动化中,时间表表示“在这些时段处理匹配事件”,而不是“上午十点发送消息”。
机器人可以回答所选时段内收到的录播问题。如果要在固定时间发布课程表,请使用定时公告。
有人再次收到奖励
可能有两位管理员对同一条有帮助的消息都回复了 /reward_member。这是两次调用,奖励可能发放两次。
请检查重复命令、编辑、重新入群和新的匹配消息。相册也可能以多条消息到达。排除编辑不会阻止用户发送新文本。
“恰好一条消息”不能保证首次发言只奖励一次,因为计数器是单独更新的。如果不能接受重复奖励,请安排独立检查,不要仅依赖此条件。
添加了回应,但结果出乎预期
伊利亚原本有 👍,添加 ❤️ 后,👍 条件再次匹配。这是因为规则检查变化后仍保留的回应,而 👍 依然在其中。
检查变化方向和所选表情。指定表情筛选要求选择添加方向。对于回应数量,请检查所选类型的合计:数量 20 和 21 的两次更新都可能匹配最小值 20。零或空字段不会形成范围边界。
一个问题收到两条相同回复
常见原因是两条条件相似的规则,例如“付款”和“怎么付款”。其他可能包括导入了副本、旧触发器仍启用,或标准欢迎语与新欢迎规则同时运行。
查看所有可能回答该问题的规则,包括同步规则集。逐条禁用不必要的规则,再用同一例子重试。
警告发给了管理员
操作可能选中了命令发送者,而不是被回复消息的作者。在安娜和伊利亚的例子中,应选择伊利亚,也就是安娜所回复消息的作者。
检查回复目标模式、Telegram 中实际的回复关系,以及每项操作的适用于。删除事件消息仍然删除的是命令消息,而不是伊利亚原来的消息。
自定义命令不运行
命令可能要求回复一条消息,但你单独发送了它;也可能你不属于触发于中选定的用户组。
检查拼写、允许用户和调用方式。确认你确实在编辑器中创建了命令,且名称没有被内置命令占用。
说明发出来了,但消息没被删除
收到回复并不能证明其他操作成功。机器人可能有发送权限,却没有删除权限。
检查 Combot 的权限和成员状态。规则不能绕过 Telegram 的限制,尤其是针对管理员的限制。如果规则包含消息、警告和禁言,请分别检查。
只执行了操作列表的前半部分
包含多次跨话题发送、且每次都启用清理的规则,消耗预算的速度会比操作行数看起来更快。
参阅 限额:如果下一项操作无法完整放入剩余额度,余下列表就不会执行。失败的尝试也会计数。不过,原因不一定是限额,还应检查目的地访问权限、机器人权限,以及选定用户是否可用。
XP 或声望没有增加
可能你在新课程群启用 XP 之前就添加了奖励。请检查功能、接收者,以及是否填写了非零整数增减值。25 表示“增加 25”,而不是“把总值设为 25”。
使用邀请人致谢命令时,请回复邀请人发送的消息。如果奖励依据是通过链接的入群申请,则需确认链接位于 Combot 目录中,且创建者已知。接收者未知时,不会由新人替代。
规则匹配了你认为不算新人的用户
请将你对新人的定义与群聊设置比较。新成员类别取决于这些设置和适用豁免。“普通成员”本身并不意味着老成员。
如果需要准确界限,例如最初两小时或不超过十条消息,请单独设置。检查条件描述的是谁,不要把 Telegram 管理员与 Combot 控制台管理员混为一谈。
入群时长的计算不符合预期
伊利亚昨天 23:50 入群。今天 00:10 时,他仍然只加入了二十分钟;跨过午夜不会增加一天。
检查单位和比较方式。这里一个月为 30 天。旧规则可能只计算已完整经过的天数,而明确选择单位时使用精确时长。如果需要“等于”,请确认旧设置没有保留“至少”。
某个链接没有被当作外部链接
你可能选择了公开课邀请,并期待其他所有链接都算外部链接。但另一个链接也可能记录在此群聊的 Combot 目录中。
外部意味着不在整个目录中,而不是不在你的选择中。如果邀请信息只是不可用,机器人不应将它当作外部链接,也不应认定明确未使用链接。
任务清单变了,但没有通知
确认复制的是清单本身的链接,而不是更新清单的服务消息链接。带有 ?comment=… 的链接不适用,请使用群聊中该消息的直接链接。
对于公开链接,Combot 还必须知道对应群聊的用户名。先在选定清单中完成任务,再在旁边另一份清单中完成任务;第二次不应匹配。
语言、简介或文件检查没有匹配
你可能在等待视频,但用户把同一段录像作为文档发送了。对机器人来说,这是不同的消息类型。
个人资料也并非总是可用:简介来自入群申请,语言代码可能缺失。未知不等于零、不等于该属性不存在,也不意味着匹配其否定条件。请检查所选事件实际提供哪些信息。
回复出现在错误的话题
检查两项独立设置:在哪里查找消息,以及把回复发送到哪里。问题可能要求来自“支持”,但回复被误设为发往“学习”。
导入后请重新选择话题。如果回复出现在多个位置,请检查目的地列表:每个选定话题都会收到消息。日志消息需要使用日志目的地的话题 ID,而不是来源群的话题 ID。
机器人旧回复仍然保留
规则可能启用了清理,但某项发送操作明确选择了不删除。操作级别的选择优先。
检查设置并再次触发规则:清理在下一次发送时发生,不按计时器执行。每项操作和每个话题分别跟踪自己的上一条回复。在随机集合中,欢迎语 B 不一定删除欢迎语 A。没有明确关联的旧消息也可能保留。
课程封面图片没有出现
打开图片链接,检查 Telegram 是否生成预览。图片字段不会替你上传相册。
先使用一张可访问的图片和一条短消息,并在 Telegram 中检查结果,不要只看编辑器。
编辑器显示“无冲突”,规则却有重叠
它查找的是完全相同的条件。“付款”和“怎么付款”写法不同,却可以同时出现在一个问题中。
用同一条消息试用两条规则。如果它们应共享一条回复,一条包含 OR 分支的规则可能比两条独立回复更合适。
无法再添加规则
去年课程中已禁用的规则仍占名额。请检查套餐限额和已保存规则数,包括禁用规则及导入副本。
如果未使用的规则集以后可能还会用到,请先导出再删除。
上线前的快速检查
以付款回复为例,检查清单可以是:
- 在“支持”中问“课程怎么付款?”会得到预期回复。
- 在同一话题问“怎么修改密码?”不会收到付款回复。
- 如果只选择了“支持”,在“闲聊”中问同样的付款问题不会收到回复。
- 被排除管理员的消息不会匹配任何设置了该排除项的分支。
- 工作时间内和工作时间外的消息分别获得对应的预期回复。
- 重复提问不会产生不需要的奖励或额外消息。
对于管理员命令,还应尝试用普通成员身份执行,并确认每项操作影响正确的人和消息。请在测试成员和测试消息上试验封禁与删除:设置备份可以恢复规则,却不能恢复已经删除的消息。
从一项每天都耗费团队时间的任务开始。等这条回复或命令按预期工作后,再添加下一项。
如果某个场景需要帮助,可以到 Combot 支持群提问。展示设置并说明期望结果,但请隐藏私密邀请和不必要的成员信息。
希望你少一些重复解释,多一些时间留给真正的交流!