Skip to content

How It Works

Gundahar Bravin edited this page Jul 1, 2026 · 1 revision

🃏 How It Works

The Flow

OpenSimulator Royal Flush runs a daily scan of all WordPress users who have no avatar assigned in w4os (no w4os_uuid user meta value). It then acts on each account based on how many days have passed since registration.


The Timeline

Day Action
0 User registers but never creates an avatar
30 Friendly reminder email sent
59 Final warning email sent
60 Account flagged and appears in admin delete queue
Admin reviews queue and manually flushes selected accounts

Who Is Scanned

Every WordPress user with no w4os_uuid is scanned except:

  • Users with the edit_posts capability (Admins, Editors)
  • Anyone who creates their avatar between scans — they immediately disappear from the queue forever

There are no other exclusions. If an account has no avatar it is in scope, regardless of role, last seen date, or account age.


The Daily Scan

The scan runs automatically once per day via WordPress WP-Cron. It can also be triggered manually at any time via the ▶ Run Scan Now button on the main admin screen.

Each scan pass checks every no-avatar account and:

  1. Checks days since registration
  2. Checks which emails have already been sent
  3. Sends any due emails that haven't been sent yet
  4. Flags accounts that have crossed the 60 day threshold

Email Sending

Each email is sent once per account, ever. The moment an email is sent, the timestamp is written to user meta:

  • orf_email_d30 — D30 email sent timestamp
  • orf_email_d59 — D59 email sent timestamp

On every subsequent scan pass, the plugin checks these fields first. If they are populated, that email is permanently skipped for that account. There is no risk of spamming users with repeated emails.


The Admin Queue

At Day 60 the account is flagged with orf_queued and appears in the admin review screen highlighted in orange with a 🗓 Queued status.

Nothing happens automatically at this point. The account sits in the queue until an admin reviews it and makes a decision.


The Review Screen

Users → 👑 Royal Flush

The review screen shows all no-avatar accounts color coded by status:

Color Meaning
🔴 Red Account is disabled
🟠 Orange In delete queue (60+ days)
🟡 Yellow Pending (30+ days, emails sent)
White Recently registered, still watching

Use the bulk select buttons to choose accounts for deletion:

  • ☑ Select All — everything in the table
  • 🗓 Select Queued — only 60+ day flagged accounts
  • 🚫 Select Disabled — only manually disabled accounts
  • ☐ Deselect All — clear selections

The Flush

Clicking 👑 Royal Flush Selected Accounts triggers:

  1. A JavaScript confirmation dialog showing the exact count
  2. A second confirmation prompt
  3. Server-side final safety check on every selected account:
    • Anyone with a w4os_uuid is skipped
    • Anyone with edit_posts capability is skipped
    • Your own account is skipped
  4. wp_delete_user() is called for each confirmed account
  5. A success notice shows how many were flushed and how many were skipped

Avatar Detection

The plugin uses the w4os_uuid user meta key — the same key w4os uses internally — to determine avatar status. This means:

  • The moment a user successfully creates their avatar, they vanish from the queue permanently
  • No UUID = no avatar = in scope
  • Any UUID value = has avatar = completely invisible to this plugin, always

Configuration | FAQ

Clone this wiki locally