| 1028 | void lifecycle.runTask(async () => { |
| 1029 | if (!isStateCurrent(state)) return; |
| 1030 | const st = states.get(userId); |
| 1031 | if (st !== state) return; |
| 1032 | removeCaptchaState(userId); |
| 1033 | log(LogLevel.INFO, `Captcha timed out: ${userId}`); |
| 1034 | const name = await getDisplayName(client, userId).catch(() => String(userId)); |
| 1035 | if (!isStateCurrent(state)) return; |
| 1036 | rec.addFailed(userId, name, "timeout", usernameCache.get(userId)); |
| 1037 | rec.delVerified(userId); |
| 1038 | await cleanupCaptchaMessages(client, userId, st); |
| 1039 | if (!isStateCurrent(state)) return; |
| 1040 | try { |
| 1041 | await client.sendMessage(peerTarget(userId), { message: "⏰ 验证超时,对话已被限制。", parseMode: "html" }); |
| 1042 | } catch {} |
| 1043 | if (!isStateCurrent(state)) return; |
| 1044 | await runFailActions(client, userId); |
| 1045 | }, { label: `pmcaptcha-timeout:${userId}` }).catch((error) => { |