Who can manage it
Only the server owner or Headless owner can view, grant, revoke, and reset the configuration. Discord administrators and members with virtual permissions are not authorized to manage Fake Permissions. Prefix commands are guild-only.Catalog and scope
These keys can be granted:administrator, ban_members, mention_everyone, kick_members, moderate_members, manage_guild, manage_channels, manage_roles, view_audit_log, manage_webhooks, manage_expressions, manage_nicknames, and manage_messages. Virtual administrator is broad; grant individual permissions when possible. A command’s own protection, owner check, role hierarchy, and permissions required by the bot still apply.
.fakepermissions list
.fp list @Moderator
/fakepermissions list
Permission aliases
Input aliases map to catalog keys:admin → administrator, ban → ban_members, kick → kick_members, timeout and mute → moderate_members, channels → manage_channels, roles → manage_roles, messages → manage_messages, nicknames → manage_nicknames, server → manage_guild, webhooks → manage_webhooks, emojis → manage_expressions, and audit → view_audit_log. history is recognized only to remove the legacy read_message_history value; it cannot grant it.
Configuration and changes
Assignments are persisted by server and role ID in Headless configuration. You can enter multiple keys separated by spaces or commas; Headless normalizes aliases, removes duplicates, and rejects the operation if any key is unknown. Do not use@everyone or integration-managed roles. List all assignments or inspect one role.
.fakepermissions add
.fp grant @Moderator manage_messages
.fakepermissions remove
Legacy permissions
read_message_history is no longer assignable. If an older configuration already contains it, Headless preserves it rather than silently removing existing behavior; use remove to clear it. It cannot be granted again.
/fakepermissions grant
/fakepermissions revoke
Protected reset
.fp reset displays a confirmation that expires after 90 seconds. Only the requester can confirm it, in the same server, and Headless checks that they are still an authorized owner. Confirming removes every virtual assignment in that server; canceling or letting the prompt expire leaves the configuration unchanged.
.fakepermissions reset
/fakepermissions reset
This does not grant native Discord permissions, Anti-Nuke configuration access, or an Anti-Nuke whitelist exemption. Virtual
administrator is still limited to compatible Headless checks and does not replace a command’s own access controls.Steps
1
Choose a regular role
Create or select a manageable staff role; do not use
@everyone or a role managed by an integration.2
Grant the minimum needed
Add only the capabilities a compatible Headless command requires. For example,
manage_messages and kick_members are independent entries.3
Review the scope
Use
.fp list or inspect one role, and make sure this grant is not confused with the Anti-Nuke whitelist or Anti-Nuke administrators.4
Test the protected command
Run an allowed action in a test context. A virtual capability does not grant the Discord permissions the bot itself needs to perform the action.
