自定义命令和第一批规则
创建命令,在 Telegram 群聊中提供实用信息。了解事件、全部满足与任一满足条件,以及管理员命令。
本文内容
你好!课程群里每天都有人问录播在哪里,客服群里不断有人问如何支付订阅费用。管理员反复解释招聘信息的发布规则,项目团队则在网络研讨会开始前跟进各项任务。
Combot 可以帮你处理其中一些重复工作。在自动化中,你可以设定规则:什么情况发生时,机器人应当做什么。
- 事件群聊中出现一条消息
- 条件“支持”中的付款问题
- 操作Combot 发送说明
例如:“如果有人在‘支持’话题中问‘怎么付款’,就发送操作说明。”或者:“如果管理员回复一条有帮助的消息并发送命令,就给该消息的作者奖励 25 XP。”
本指南通过这类日常场景介绍各项设置。示例用于学习,请将其中的话题名称、链接和消息替换成你自己的内容。每个示例都会说明相关条件和限制,帮助你让规则按预期运行。
如果你刚打开编辑器,可以先创建一个简单命令。如果已有明确需求,可以查看 11 个现成场景,或在目录中找到所需设置。
编辑器只显示与所选事件相关的字段。因此,群内提问、入群申请和管理员命令可能会有不同的设置。
准备群聊
假设你管理一个在线课程群。每位新学员都会问课程录播在哪里,助教则要一次次找出同一个链接。我们先让 Combot 来发送这些信息。
将 @combot 添加到群聊。打开 Combot 控制台,选择群聊,然后进入自动化。
请检查两件事:你是否有权更改设置,以及机器人是否有权执行操作。例如,能查看统计数据不一定意味着可以创建规则;能发送消息也不意味着机器人可以删除他人的消息。
根据任务配置相应权限:
- 提供信息:机器人必须能够在所选群聊或话题中发言。话题是群聊中独立的讨论区域。
- 删除广告:机器人需要删除消息的权限。
- 禁言或封禁成员:机器人需要限制成员的管理员权限。
- 批准入群申请:机器人需要邀请用户的权限。
- 奖励 XP 或声望:必须先在 Combot 设置中启用相应功能。
如果规则列表上方出现警告,请先处理。例如,群聊未启用 XP 时,即使保存了“有帮助的回复奖励 25 XP”规则,它也不会生效。
规则属于当前所选群聊。如果你已在多个群聊之间同步触发器,请在来源群聊中编辑共享规则集。例如,你可以在来源群聊中更新多个群的课程信息;继承这些规则的群聊可能无法直接编辑。
第一条规则:提供实用信息
课程群里常有人问:“录播和作业在哪里?”我们来创建一个 /course_info 命令回答这个问题。它不会删除任何内容,也不会限制任何人,适合作为起点。
- 点击添加触发器,将规则命名为课程——录播与作业。
- 在类型中选择命令,添加
/course_info。 - 选择普通命令。让触发于保持对所有人开放,以便每位学员都能使用。
- 在那么中添加发送消息。你可以使用下面的文本,并将话题名称替换成自己的。
- 保留来源聊天和当前话题,点击保存操作。
- 点击验证,然后点击保存触发器。确认规则已启用。
- 在 Telegram 中发送
/course_info,应当会收到上述信息。普通的“大家好!”不应触发该规则。
这样,助教只需发送一个命令,不必每次重新输入说明。以后还可以添加一个指向学习资料的按钮,详见 设置回复格式。
验证会查找设置中的问题。它不会替你发送命令,也不会检查 Telegram 中的回复;最后这一步仍需你自己完成。
说清楚你希望机器人做什么
几乎任何规则都可以用一句话来描述:
如果有人在“支持”话题中问“怎么付款”,就发送付款说明。
编辑器将这句话分为两部分:在如果中说明要对什么情况作出响应,在那么中选择要做什么。
机器人不会根据规则名称推断任务。仅将规则命名为“帮助新人”不会自动启用任何行为:你仍需选择新成员、事件和操作。
全部满足:每个条件都必须匹配
假设只需要在“支持”话题中提供付款说明,就设置两个条件:话题正确,并且包含“怎么付款”这句话。
在“支持”话题中发送“订阅怎么付款?”会匹配。在“闲聊”话题中发送相同内容则不会;在“支持”话题中问“怎么修改密码?”也不会匹配。
这就是全部,也就是与(AND)的含义:所选要求必须全部满足。
任一满足:匹配一个选项就够了
有人会问“怎么付款”,也有人会说“付款失败”。他们需要的都是同一份说明。
当编辑器提供任意,也就是或(OR)时,只需匹配一个选项。用户不必在同一条消息中同时写出两种说法。
排除:让某些用户或消息不参与匹配
在招聘群中,你希望提醒大家遵守发帖规则,但不想回复团队自己的公告。这时可以将管理员加入排除。
排除条件不会把用户移出群聊,也不会撤销其权限。它只是表示:“这组条件不匹配此人。”
即使选择“任一满足”,用户条件中的排除项依然生效。例如,在同一组条件中,满足活跃度条件不能绕过管理员排除项。
在一条规则中设置多个 OR 分支
当不同的条件组合都应得到相同回复时,可以使用添加“或”选项。例如:
- 有人在“支持”话题中问“怎么付款”。
- 有人在“新人提问”话题中问“在哪里购买订阅”。
分别描述这两种情况,只需编写一次回复。各分支共用同一种事件类型。即使两个分支同时匹配,这条规则的操作列表也只会执行一次。
两条独立规则则不同:每条都可能发送自己的回复。这就是两条相似规则有时会产生重复消息的原因。
OR 分支彼此独立。如果管理员的消息不能匹配任何分支,就需要在每个分支中都添加排除项。
你可以禁用单个分支。例如,暂时停止在“新人提问”中回复,但保留“支持”中的回复。禁用主规则则会停止整个场景。
一个实用习惯:保存前把条件读一遍。“在任何地方看到‘付款’就回复”和“只在‘支持’话题中回答付款问题”是两条不同的规则。
供成员和管理员使用的自定义命令
群聊中常用两类命令。一类提供答案:在哪里查看日程、如何联系助教、在哪里提交作业。另一类帮助管理员对指定成员执行操作,例如发出警告或奖励有帮助的回复。
本指南中的命令名称均为示例。请先在编辑器中创建;仅在群聊中输入这些名称,并不会自动将命令添加到 Combot。
规则名称、描述和类型
名称显示在自动化列表中。请选择让同事一眼就能看懂的名称,例如“课程——学员须知”或“招聘——薪资提醒”。最多可输入 80 个字符。
描述是给管理员看的备注,最多 280 个字符。例如:“为新一期学员显示须知。课程结束后禁用。”机器人不会把这段描述发到群聊中。
在类型中选择:
- 触发器:希望机器人自动响应符合条件的情况,例如有人问“怎么付款”。
- 命令:希望由用户明确运行规则,例如发送
/course_info。
多个命令共用同一回复
可以在一条规则中添加 /course_info 和 /course_help。成员无论使用哪个名称,都会收到相同的信息。
请逐个添加名称,使用拉丁字母、数字和下划线。不要使用 Combot 内置命令或群聊中其他机器人已占用的名称。
普通命令:获取信息
当成员只需要一条回复,而不是对指定用户执行操作时,请选择普通命令。
例如,学员发送 /course_info 后,机器人说明录播在哪里,无需通过“回复”选中任何人。
此模式下不能使用用户操作。普通命令无法实现“任何人发送命令给自己奖励 XP”。
如果启用删除命令消息,/course_info 消息会从对话中消失,但机器人的回复会保留。这样可以减少命令消息对聊天的干扰。
回复命令:指定一个人
假设伊利亚违反了群规,管理员安娜想给他发出警告。
- 安娜对伊利亚的消息选择回复。
- 她在回复中发送
/team_warn。 - Combot 向伊利亚发出警告。
设置时,为命令选择回复目标。在触发于中允许 Telegram 管理员,并在操作的适用于中选择被回复消息的作者。
安娜是命令的发送者,伊利亚是她所回复消息的作者。如果在设置中把两者弄反,任务就完全变了。
如果中的应用于条件限制命令可以针对哪些人。每个操作中的适用于则选择该操作实际作用于谁。
在支持的场景中,操作可以作用于命令发送者、被回复消息的作者,或同时作用于两者。本例中的警告应当只发给伊利亚。
获准使用你的命令并不意味着用户成为了 Telegram 管理员。Combot 自身也必须拥有执行操作所需的权限。
删除的是哪条消息?如果启用删除命令消息,消失的是 /team_warn,而不是伊利亚原来的消息。选择警告对象不会改变被删除的消息。
机器人可以响应哪些事件
时间回答的是“需要发生什么?”对于触发器,请从列表中选择事件。命令则更简单:包含命令的消息会运行它。
消息、评论和频道帖子
任何聊天消息 / 聊天消息。用于日常群组活动:课程提问、招聘信息或文件。例如,机器人发现“录播在哪里”,就发送相关信息。
评论。用于关联频道帖子的讨论。例如,在学校频道帖子的评论区回答“怎么报名”。
频道帖子。指关联频道的帖子本身。例如,当带有 #live 的帖子发布时,向群聊发送预先准备的讨论须知。普通群聊消息条件不能替代帖子条件。
包括编辑。假设有人先发布一条简短招聘信息,随后补充联系方式。启用后,Combot 也会检查编辑过的消息。操作可能再次执行,因此将编辑事件与奖励结合时要格外小心。
入群申请、加入和离开
加入申请。用户仍在等待审批。例如,活动组织者希望自动批准通过指定邀请提交的申请。
新成员。用户已经加入群聊,此时可以欢迎对方:“欢迎!请先查看置顶消息。”
成员离开。用户主动离开或被移出群聊。例如,向已配置的日志频道发送通知,方便团队跟踪群聊事件。此事件可能涉及两个不同的人:离开的成员,以及将其移出的人。
申请入群和成功加入是两个独立步骤。两个步骤都发送欢迎语,可能导致用户收到两条消息。请选择信息真正有用的那个步骤。
助力
新 Boost。例如,有人为俱乐部群聊助力后,机器人简短回复:“感谢你支持社区!”
已移除 Boost。例如,团队收到有关变化的日志通知。这不一定表示用户主动撤回助力,请避免使用指责性的措辞。
回应
用户回应。有人添加、移除或替换了回应。例如,团队收到工作讨论中某类回应变化的通知。
回应数量。Telegram 更新了关联频道帖子的回应数量。例如,当某篇帖子当前拥有 20 到 30 个指定类型的回应时,机器人通知管理员。
回应数量不会说明每个回应是谁留下的。而且,在后续更新时,同一规则可能再次运行。有关如何设置这些筛选条件并避免意外重复,请参阅 回应和任务清单。
任务清单
团队正在工作群中筹备网络研讨会。有人创建任务清单、添加任务,或将演示文稿标记为完成。对此有三类事件:
- 新清单——出现了新清单。你可以通知团队,新计划已可使用。
- 添加了清单任务——清单增加了新任务。例如,可以发送日志通知。
- 已完成的清单任务——有任务被标记为已完成。你可以请同事打开清单查看变化。
最后一类事件并不意味着“网络研讨会的一切准备都已完成”:可能只完成了一个任务。