失效按钮乱点同样计数处罚;不再静默

This commit is contained in:
snowy-yang committed 2026-10-05 19:46:30 +08:00
1 parent 37e44a512d
commit 1db8f1cc0e
3 files changed
+49 -13

No files matched your search

+8 -6
View File
@@ -5,7 +5,8 @@
发送失败(通常是 markdown/按钮权限未开通)则不禁言,避免把成员
永久锁死,同时记日志提示排查方向;
- INTERACTION_CREATE → 回应互动 → 校验点击者/题目 → 答对解禁+记录,
答错换题(倒计时不重置),非本人或旧题点击礼貌忽略;
答错换题(倒计时不重置);非本人点击(他人的当前题或已失效的残留
按钮)一律计入乱点处罚,达到次数禁言;
- 超时 → 尝试移出群(官方"内邀"能力,未开通时返回 11253)→ 失败则
延长禁言兜底并通知管理员;
- GROUP_MEMBER_REMOVE → 清理状态;@机器人 可查"验证状态"。
@@ -379,11 +380,12 @@ def setup(bot: Bot, cfg: AuthConfig) -> VerifyState:
await _reply_text(api, inter.group_openid, "你已经通过验证啦,不用再答题~",
event_id=event.event_id)
else:
# 旧题/已失效按钮,礼貌忽略不计处罚
logger.info(f"点击已失效按钮,礼貌回复 (…{clicker[-6:]})")
await _reply_text(api, inter.group_openid, "这道题不是给你的~",
event_id=event.event_id,
mention=clicker)
# 失效/他人残留按钮的乱点同样计数处罚(不静默、不放过)
logger.info(f"点击已失效按钮,计入乱点 (…{clicker[-6:]})")
await _handle_foreign_click(
api, cfg, foreign_clicks, inter.group_openid, clicker,
event_id=event.event_id,
)
return
if not is_subject:
logger.info(f"被试者点击自己的旧题,提示换题 (…{clicker[-6:]})")