KeyVerify: A Discord Bot for Secure License Verification

KeyVerify: A Discord Bot for Secure License Verification

Discord BotPythonAutomationAPISecurity

KeyVerify is a lightweight, purpose-built Discord bot that automates license verification for Payhip-based digital products. It’s designed for creators who want to manage customer access to Discord roles in a streamlined, secure, and automated way.

🔐 What KeyVerify Does

KeyVerify simplifies access control by verifying Payhip license keys and assigning roles to verified users. It’s ideal for server owners who want to automate user access and license enforcement. Current capabilities include:

  • License Verification: Users can verify their Payhip license keys through an in-server modal flow and gain access to roles automatically.
  • Auto Role Reassignment: If a verified user leaves and rejoins the server, KeyVerify will automatically reassign the correct roles.
  • Product Management: Add, view, and remove products—each with an assigned role. The bot can also auto-generate roles if needed.
  • License Reset: Allows the server owner to reset the usage count of a specific license key (useful for re-activations).
  • Blacklist & Revocation: Server owners can remove users and deactivate their associated licenses on Payhip.
  • Audit Logging: Verified role assignments are logged in a user-defined channel for traceability and transparency.
  • Cooldown & Abuse Prevention: All verification interactions are rate-limited to prevent spam or abuse.
  • Encrypted Data Handling: Product secrets and license keys are encrypted before storage to ensure user and server owner privacy.

📋 Command Overview

🛠️ Verification Commands

  • /start_verification Deploys the verification button to a chosen channel. When users click, they are guided through product selection and key entry.

🎁 Product Management

  • /add_product Adds a new product with a name, secret key, and optional role. If no role is provided, one is created automatically.
  • /remove_product Deletes a product entry from the server’s product list.
  • /list_products Displays all added products and their assigned roles in an interactive message with deletion options.

🔁 License Actions

  • /reset_key Resets a license key’s usage counter on Payhip (API key required).
  • /remove_user Removes a user and disables all their associated licenses in the database.

📜 Utility

  • /set_lchannel Sets the channel where verification logs will be posted.

🛡️ Security Practices

  • License keys and product secrets are encrypted with a secure cryptographic method before being stored.
  • Commands are permission-locked to server owners or those with appropriate roles.
  • Rate-limiting mechanisms are implemented to avoid API abuse and accidental command spamming.
  • Verification attempts and failures are logged both in console and optionally in Discord (if a log channel is configured).

🧪 Project Status

KeyVerify is currently in active development and testing, and is already deployed in communities such as Poodle’s Discord and many more. Feedback is highly encouraged to improve performance and platform compatibility.

View on GitHub

📞 Support & Contact

For questions, suggestions, or help:

  • Discord: Fayelicious_