自动化机器人执行的操作

回复、管理和奖励

选择操作及其对象,设置 Combot 回复格式,添加按钮,执行多个操作,或随机选择一条消息

本文内容

规则匹配后,机器人会做什么

你已经告诉机器人要留意哪个问题或事件,现在请在那么中选择操作。

下面会介绍全部 14 种操作。可用选项取决于事件。使用管理员命令示例时,请先创建回复目标命令,并将使用权限限定为指定管理员。

操作作用于谁

回到安娜和伊利亚的例子。安娜回复伊利亚的消息并发送命令。要警告伊利亚,应在适用于中选择被回复消息的作者,而不是命令发送者。

根据事件,编辑器会提供:

  • 触发用户 / 命令调用者——消息发送者或命令执行者。
  • 被回复的用户——被回复消息的作者。
  • 受影响的用户——例如,被添加或移出的成员。
  • 操作执行者——添加或移出成员的人。
  • 申请人——申请加入群聊的人。
  • 两个都——两个可用角色对应的人。如果两者是同一人,选择“两者”也不会对其重复执行同一操作。
  • 邀请链接创建者——适用于入群申请,指此群聊的 Combot 目录中记录的该链接创建者。

例如,有人通过伊利亚的链接提交申请,而你希望给伊利亚奖励 XP。此时应选择链接创建者,而不是申请人。这奖励的是一次申请,不是已完成的加入。如果需要先确认结果,请在管理员核实邀请后使用致谢命令

应以 Combot 目录记录的人为准:Telegram 技术层面的链接创建者可能是另一个人。如果有两个不同的接收者,例如申请人和链接创建者,请添加两项独立操作,并明确选择各自目标。

如果无法确定目标用户,针对该用户的操作会被跳过。机器人不能因邀请人未知就把 XP 奖励给新人。同样,汇总的回应数量也无法让你选择一个身份未知的参与者。

1. 发送消息

例如:有人问“录播在哪里”时,回复资料链接和简短说明。

可以设置文本格式,并添加变量或按钮。消息可以发送到来源群聊或已配置的日志频道。目的地和格式设置详见 设置回复格式

2. 删除消息

例如:在成员已知晓规则的前提下,删除禁止贴纸话题中的新贴纸。在条件中选择该话题和贴纸(Sticker)类型,再添加删除操作。

机器人删除的是触发规则的那条消息,需要拥有删除消息的权限。

对于命令,触发消息就是命令本身。如果安娜回复伊利亚并发送 /team_warn,操作删除的是 /team_warn,而不是伊利亚的消息。删除机器人之前的提醒是另一项设置。

3. 警告用户

例如:安娜发现有人违反交流规则,便回复该成员的消息并发送 /team_warn

此操作会添加警告,通常为一次。它属于群聊共用的警告系统。如果设置规定累计警告会导致禁言或封禁,自动化发出的警告也可能使用户更接近这一后果。

请先检查警告设置,不要只看机器人的回复文本。

4. 禁言用户

例如:管理员通过预先创建的回复命令,让争吵中的某位用户冷静 15 分钟。

禁言会限制发言。请设置以分钟、小时、天或周计的时长。时长留空表示永久禁言,而不是“以后再决定”。

必要时,可以把警告和禁言组合使用。请有意识地选择:短暂禁言和警告是两种独立后果。

5. 封禁用户

例如:管理员移出一个发布垃圾信息的账号,并阻止其再次加入。

封禁会将用户移出,并在封禁到期或解除之前阻止其重新加入。临时封禁需要设置时长;未设置时长则为永久封禁。

在限制设置中,封禁不能与踢出或禁言作为同一项限制的另一种形式组合。

6. 移出群组

例如:有人被误加进工作群,管理员希望将其移出,但不永久阻止其回来。

踢出会将成员移出一次。对方仍可按群聊常规方式重新加入,例如通过邀请或入群申请。如果希望阻止其返回,请选择封禁。

7. 解除用户禁言

例如:管理员决定提前结束某位成员的禁言。

此操作在群聊通用权限范围内恢复发言。它不会移除所有其他限制,也不等于通过验证码。若仍有新人验证要求,需要另行处理。

8. 解封用户

例如:团队在申诉后重新考虑决定,希望允许对方返回。

解除封禁会移除加入限制,但不会自动把用户加回群聊;对方仍需通过可用方式加入。

9. 删除用户的消息

例如:垃圾信息发送者在被封禁前已发出多条广告,管理员希望一并删除。

选择封禁或踢出后,操作设置会提供这项清理。它使用 Combot 可获取的消息,并受 Telegram 限制。不要假定机器人能够删除某人在多年聊天中的全部记录。

10. 撤销警告

例如:某次警告发错了,管理员通过预设规则移除一次警告。

这会将警告数量减少一。如果用户已经被禁言或封禁,仅移除警告不会恢复权限,需要另行执行相应操作。

11. 更改 XP

例如:伊利亚详细解答了新人的问题。安娜回复他的消息并发送 /reward_member,伊利亚便获得 25 XP。

输入 25 增加经验,输入 -25 扣除经验。这是增减值:100 XP 增加 25 后变为 125,而不是将总值设为 25。

群聊必须已启用 XP。请使用 −99,999 到 99,999 之间的非零整数。在致谢示例中,“适用于”必须选择被回复消息的作者。

12. 更改 REP

例如:除了奖励 XP,你还希望为伊利亚的详细解答增加一点声望。

输入 1 增加,输入 -1 扣除。必须启用声望功能,允许值为 −999 到 999 之间的非零整数。这里同样指定的是增减值,而不是新的总值。

再次执行命令可能再次奖励 XP 和 REP。如果某项奖励只能发一次,管理员需要另外记录。

13. 批准加入请求

例如:公开课组织者准备了单独的邀请链接,希望通过该链接的申请无需手动点击即可批准。

选择加入申请、所需链接和批准操作。如果不限定来源与适用人群,规则可能批准远超预期的申请。

链接不能验证付款或身份:持有者可以将它转发给别人。

14. 拒绝加入请求

例如:暂时拒绝通过某个邀请链接的申请,同时团队继续审核其他链接的申请。

此操作适用于入群申请事件。它会拒绝申请,但不等于永久封禁申请人。

不要让两条重叠规则同时尝试批准和拒绝同一申请。请先检查每条规则匹配哪些链接和用户。

设置机器人回复的格式和发送位置

好的自动回复能帮助用户采取下一步。例如,有人问“作业在哪里”,简短说明加一个资料按钮可能就够了,无需发送整本课程手册。

文本:一个问题,一个清楚的答案

编辑器与 Combot 的欢迎消息编辑器类似,可以设置文本格式、添加链接或变量。文本字段最多容纳 4096 个字符,请留意计数器。

客服回复可以这样写:

无法登录账号?请点击下方按钮查看操作说明。如果仍未解决,请告诉我们在哪一步遇到了问题。不要在群聊中发送密码。

添加图片时仍然需要文本。如果消息其他内容为空,仅有图片 URL 是不够的。

使用姓名和其他变量

变量是机器人会替换为相关信息的占位符。例如:

欢迎加入 {chat.title}!课程资料在置顶消息中。

{chat.title} 会替换为群名。使用人名时要更谨慎:事件发起者和新成员不一定是同一个人。

菜单包含:

  • {from.title}——事件发起者的显示名称。例如,用来称呼提问的人。
  • {from.username}——对方的用户名。适合管理员备注,但并非人人都有用户名。
  • {from.id}——用户的数字 ID。例如,帮助团队准确识别备注涉及哪个账号。
  • {chat.title}——群聊名称。适合欢迎语和可复用的信息消息。
  • {chat.username}——群聊的公开用户名(如果有)。
  • {chat.id}——群聊的数字 ID,可用于需要它的管理备注。
  • {message.id}——与事件关联的消息 ID。例如,帮助团队调查某次请求。
  • {message.timestamp}——消息时间戳(如果可用)。并非每类事件都有消息,也不保证消息的每个属性都存在。

不要让整条回复依赖可能为空的字段。使用显示名称称呼对方,通常比依赖对方可能没有的用户名更清楚。

如果安娜将伊利亚加入群聊,{from.title} 可能是安娜的名字,因为她发起了事件。这也是上面的通用欢迎语不使用人名的原因。选择操作目标不会改变变量。

管理员命令中的人名尤其需要注意。如果安娜对伊利亚的消息执行命令,{from.title} 指的是安娜。选择给伊利亚奖励不会改变这一点。“这条回复很有帮助,感谢你的分享!”比不小心点名感谢管理员更稳妥。

按钮:直接提供正确链接

与其写“去网站上找资料栏目”,不如添加一个带直接链接的打开资料按钮。

每个按钮都有文本和 URL。可以按行排列:例如,第一行放“资料”,第二行放“规则”和“反馈”。自定义表情图标需要填写其 ID。

这些都是链接按钮。它们本身不会分配角色、发放奖励、运行另一个触发器或完成验证码。

图片:为消息添加封面

例如,在新一期课程欢迎语中添加课程封面链接。在图片中输入图片 URL;在文字上方显示图片用于选择位置。

图片通过 Telegram 的链接预览显示。这不是相册:多个 URL 不代表多个独立的照片附件。

先使用一张可访问的图片,并在 Telegram 中查看结果。如果没有预览,请检查链接本身。保存规则并不保证图片一定会显示。

回复发到哪里

选择来源聊天可回复成员。例如,课程群中出现录播问题,说明也发到该群。

面向团队的消息请选择日志频道,例如任务清单变化通知。请先连接目的地,并确认 Combot 能在那里发言。

在目的地内,还可以配置话题:

  • 当前话题:例如,在问题出现的同一个“支持”话题中回复。
  • 所选话题:例如,使用命令同时在“支持”和“新人提问”中发布信息。
  • 一般话题:发送到常规区域,而非独立讨论话题。

每个选定话题都会收到一条独立消息。同一操作中重复填写同一个 ID 不会产生额外副本。如果日志目的地支持话题,也可以选择其话题;请使用目的地的话题 ID,而不是来源群的话题 ID。

话题越多,计入操作限额的发送次数就越多。数字示例见 限额

这里不能选择任意外部群聊或成员私信。如果日志频道不可用,原本发给团队的消息不会改发到主群。

独立消息,还是回复问题

普通消息适合应作为独立消息显示的欢迎语或公告。

回复触发消息适合付款问题:说明会以回复形式关联到那条具体消息。

请在原讨论位置使用此功能,因为原消息在那里。如果操作发往另一个群聊或话题,不要假定仍会保留与原消息的关联。请检查编辑器显示的模式。

避免重复提醒堆积

今天伊利亚问录播在哪里,一个小时后玛丽娜又问。如果旧回复已无保留必要,可以启用删除之前的相同内容:下次发送时,会删除与该操作关联的上一条回复。

规则有共用的清理设置。对每项发送操作,可以选择:

  • 使用触发器设置——遵循规则的选择。修改规则设置时,该操作的行为也会变化。
  • 无需清理——即使规则启用了清理,也保留此操作的回复。
  • 删除之前的相同内容——为此操作单独启用清理。

例如,替换面向成员的信息消息,但保留日志作为记录。此时为日志操作选择“不清理”。

清理按发送操作和话题分别跟踪。“支持”中的提醒替换该话题中的上一条,“学习”中的提醒替换自己的上一条。日志消息会在日志目的地中删除。

即使两行操作的文本完全相同,也分别保存各自的上一条回复。例如,随机欢迎语会替换自身操作上次发送的回复,而不是整个集合中最后发送的欢迎语。调整操作行顺序不会改变这一点。

此设置不会在整个群聊中搜索相同文本,也不会删除成员消息。它也不表示“五分钟后删除”:必须等到下一条回复。清理机制更新之前发送的旧提醒可能仍然保留,请用新发送的消息检查行为。

多个操作和不同回复

有时,一条回复还不够。违规行为可能同时需要警告和解释;欢迎语则可能适合增加一些变化。两种执行模式可以满足这些需求。

执行全部操作

全部执行模式下,Combot 会按列表从上到下执行。

管理员命令可以:

  1. 警告成员。
  2. 发送说明:“请讨论观点,不要进行人身攻击。”
  3. 删除命令消息本身。

请按所需顺序排列操作。如果警告成功,但说明无法发送,警告不会自动撤销。配置后,请同时检查机器人回复以及对成员产生的影响。

较长的列表可能触及操作限额。例如,向多个话题发送消息并启用清理,会比一条信息消息消耗更多操作。计算方法见 限额

随机选择一条回复

社群可以准备三条欢迎语:

  • “欢迎!简单介绍一下自己吧。”
  • “很高兴你加入社群,请先看看置顶信息。”
  • “你好!浏览各个话题,加入感兴趣的讨论吧。”

将它们添加为三项发送操作,并选择随机一个。每当有人加入,Combot 就会从这组操作中选择一项。

随机选择不保证轮换。连续两位新人可能收到相同文本,也不能为不同选项设置各自的概率。

始终 星标:必做操作加随机选择

假设“学习”话题禁止贴纸。你希望每次都删除贴纸,并从三条简短提醒中随机选择一条,请对方到“闲聊”发贴纸。

  1. 为“学习”中的贴纸创建触发器,并给删除消息操作加上始终星标。
  2. 三项提醒操作都不要加星标。
  3. 选择“随机一个”。

机器人会执行必做的删除操作,以及一项选中的发送操作。被选中的操作仍按列表中的顺序执行。

如果每项操作都有星标,就会全部执行,因为没有剩余项目可供随机选择。如果没有任何星标,则随机执行一项。这是在条件匹配后选择操作,而不是随机决定是否响应整条规则。