| 494 | } |
| 495 | |
| 496 | function evaluateAutoVerifyCriteria(member, autoVerifyConfig) { |
| 497 | const { criteria, accountAgeDays } = autoVerifyConfig; |
| 498 | |
| 499 | switch (criteria) { |
| 500 | case 'account_age': { |
| 501 | const accountAge = Date.now() - member.user.createdTimestamp; |
| 502 | const requiredAge = accountAgeDays * 24 * 60 * 60 * 1000; |
| 503 | return accountAge >= requiredAge; |
| 504 | } |
| 505 | |
| 506 | case 'server_size': |
| 507 | return member.guild.memberCount < serverSizeThreshold; |
| 508 | |
| 509 | case 'none': |
| 510 | return true; |
| 511 | |
| 512 | default: |
| 513 | logger.warn('Unknown auto-verify criteria', { criteria }); |
| 514 | return false; |
| 515 | } |
| 516 | } |
| 517 | |
| 518 | export async function checkVerificationCooldown(userId, guildId, cooldownMs = defaultCooldownMs) { |
| 519 | pruneVerificationTrackers(); |