Skip to main content

Overview

The reverify command sends a broadcast direct message to all users who joined the server before a specified cutoff date. This is useful for periodic verification of student status to ensure that server members are still actively enrolled.
This command sends DMs to potentially hundreds of users. Use with caution and ensure you have a valid reason for requiring reverification.

Command Signature

/reverify <cutoff_date>

Parameters

cutoff_date
String
required
The cutoff date in YYYY-MM-DD format. Users who joined before this date will receive the reverification request.Example: 2021-01-01

Permissions Required

This command uses a custom permission check (executor_is_dev_or_admin) that requires one of:
  • Semester Moderator Role (configured in bot settings)
  • Staff Role (configured in bot settings)
  • Administrator permission on Discord

Usage Examples

Request reverification for users who joined before 2022

/reverify 2022-01-01
Response:
Reverification broadcast started

[Embed]
Title: Reverification Broadcast
Description: Reverification broadcast started for users that joined before 2022-01-01, messaging 245 users

Request reverification for users who joined before September 2023

/reverify 2023-09-01

What Users Receive

Each affected user receives a DM with: Message:
🎓 **Reverification Required**

[Embed]
Title: Student Status Verification
Description: Hello! To confirm that you're still enrolled, please complete the reverification process. 
This helps us keep the server up to date for active students.

[Button: Reverify]
The message includes an interactive button with custom ID reverify that users can click to begin the reverification process.

Implementation Details

Source reference: src/commands/administration.rs:489-556

Process Flow

  1. Parse the cutoff date from the provided string (format: YYYY-MM-DD)
  2. Fetch all server members
  3. Filter members who:
    • Joined before the cutoff date
    • Are not bots
  4. Send a confirmation embed showing how many users will be messaged
  5. Send a DM to each filtered user with the reverification prompt

Date Format Validation

The command expects dates in YYYY-MM-DD format. If an invalid format is provided, it returns an error:
Invalid date format. Use YYYY-MM-DD

Important Considerations

  • Bots are automatically excluded from reverification requests
  • Users with DMs disabled will cause the command to fail for that specific user
  • This command can take time to complete if there are many users to message
  • Consider server rate limits when sending bulk DMs

Use Cases

  • Semester or annual verification checks
  • Ensuring server members are still actively enrolled students
  • Cleaning up inactive or graduated members
  • Maintaining accurate student records

Build docs developers (and LLMs) love