Commands

Wondering which commands Exoguard has and what they do? Look no further!

Get enrollment information

Default command access: everyone can use it.

This is a user command: right click a user and check the Applications tab to use it. If you can't see the command, it likely means you do not have the permission to use it.

This command will send you an with the target user's enrollment information.


/config

Default command access: administrators only.

This command is a group containing the following subcommands:

  • info

  • roles

    • list: list assigned roles

    • add: assign a role to an enrolled user

    • check: check the integration's permissions against assigned roles

    • remove: unassign a role from an enrolled user

  • settings

    • audit_webhook: manage the audit webhook for this server

    • session_timeout: manage the session timeout for this server

    • custom_link: [pro feature] set the target URL for your custom dis.gg link

    • enrollment_inactivity_period: [pro feature] set the enrollment inactivity period

/config info

This command will reply with a public message that indicates all the current server settings. If you want your server settings to remain secret for some reason, execute it in a private channel.

/config roles

/config roles list

This command will reply with a message listing all the assigned roles with their respective users.

You can optionally use either of these two arguments:

  • user: list all roles assigned to the given user (detailed view)

  • roles: list all users with the given role assigned (detailed view)

/config roles add

This command allows you to assign a role to an enrolled user. It will reply with a public message to confirm the action succeeded.

It has two required arguments and one optional argument:

  • role: the role you want to assign

  • user: the enrolled user to give it to

  • expiry: [pro feature] how long the user will have access to this role for (in days, 0 to disable)

Do not confuse role expiry with session timeout, which is a totally different feature. Role expiry will completely unassign the role, while session timeout will log the user out.

You can only assign roles that are strictly lower than your current highest role.

/config roles check

This command will perform a check against all the currently assigned roles.

It will reply with a public message that contains the following information:

  • Assigned and manageable roles: all good for these roles, Exoguard can give or take them

  • Roles too high to be managed: check your roles hierarchy, Exoguard is under them

  • Deleted roles: roles that were deleted from the server while still being assigned

Deleted roles are automatically removed from your configuration as they cannot be restored.

If you assign a role that is managed by an integration, Exoguard cannot give them. They will falsely be reported as being manageable but behave as if they were too high.

/config roles delete

This command allows you to unassign a role from an enrolled user. It will reply with a public message to confirm the action succeeded.

It has two required arguments:

  • role: the role you want to unassign

  • user: the enrolled user to remove it from

You can only unassign roles that are strictly lower than your current highest role.

/config settings

/config settings audit_webhook

This command allows you to manage the audit webhook for your server. It will send you an with the current or set webhook URL.

Please check the dedicated audit webhook page to learn more about it.

/config settings session_timeout

This command allows you to manage the session timeout on your server. It will send you an with the current or set session timeout.

It takes one optional argument:

  • timeout: set the server's session timeout (in hours, 8 by default)

Without argument, the command will simply reply with the current value.

There is a difference of behavior between free and subscribed servers:

  • Free: the timeout must be set between 1 and 24 hours

  • Subscribed: the timeout can be disabled or go up to one year

While disabling the session timeout or setting a high value goes against the goal of our service, we acknowledge special use cases and therefore allow subscribed servers to configure it as they see fit.

This subscriber-exclusive command allows you to manage your server's custom link. It will send you an with your current or set custom target URL.

Using this command requires to be on a subscribed server with an assigned custom link. A subscribed server owner can therefore request a custom link if they want to get one.

It takes one optional argument:

  • url: the target URL you want your custom link to redirect to

You can only set Discord invites as target URLs, unless you are a trusted service member.

/config settings enrollment_inactivity_period

This subscriber-exclusive command allows you to manage the enrollment inactivity period. It will send you an with the current or set server's enrollment inactivity period.

The inactivity period is the elapsed time since the last user login on your server. If the user has never logged into the service, their enrollment date will be used.

It takes one optional argument:

  • period: set the server's enrollment inactivity period (in days, disabled by default)

Without argument, the command will simply reply with the current value.

You can disable the enrollment inactivity period by setting it to 0 days. This option will work even if your server no longer has an active subscription.

/config settings default_role

This special command allows you to define a default role assigned for all new enrollments. It will send you an with the current or set server's default role.

This special setting is disabled by default on all servers for security reasons. It can be enabled by an Exoguard service staff member at the server owner's request.

It takes one optional argument:

  • role: set the server's default role to be assigned for new enrollments (disabled by default)

You can use @everyone as the new default role to disable this feature. It will prevent newly enrolled users from automatically getting a role assigned.


/delete

Default command access: administrators only.

This command allows you to delete another user's enrollment and assigned roles. It will reply with a public message asking you to either confirm or cancel the operation. Once the operation has been confirmed or cancelled, the bot's message will be edited.

It takes one required argument:

  • user: the target user you want to delete the enrollment of

You cannot target users with an assigned role higher than or equal to your highest role.

If a user has lost their authenticator, make sure you confirm their identity beforehand. Deleting an enrollment allows them to /enroll again, be careful about social engineering.

Deleted enrollments will never be restored, even by a bored service administrator. If you accidentally delete one, the user must enroll again like any new staff member.

Yes, that's a lot of warnings. It's the /delete command after all, please use it with utmost care.


/enroll

Default command access: everyone can use it.

This command allows you to enroll yourself on a Discord server using Exoguard. It will send you an with the required enrollment instructions.

It also allows you to manage your enrollment, should you already be enrolled. You can only manage your enrollment within 5 minutes of a successful /login command.

Please check the dedicated enrollment tutorial for more information.


/info

Default command access: everyone can use it.

This command will publicly display your own enrollment information.

It will show the following data:

  • Status: enrollment status, login status, login time if applicable

  • Enrollment expiry: only displayed if an enrollment inactivity period is set

  • Last login: last login time, or enrollment time if you never logged in

  • Auth method: your currently configured authentication method(s)

  • Role(s): assigned roles you will have when logged in

If you don't want this information to be publicly displayed, you can:

Please note that anyone who can access the Get enrollment information user command can execute it on any server member, including you. Check out our permissions tutorial if you want to restrict it.


/login

Default command access: everyone can use it.

This command allows you to log into Exoguard with a TOTP or any configured WebAuthn passkey to obtain your assigned role(s). This will also allow you to reuse the /enroll command for 5 minutes. It will send you an with your session expiry time and previous last login time.

Your session expiry time is computed from the configured session timeout on your server.


/logout

Default command access: administrators only.

This command allows you to log out before your session automatically expires. It will send you an to confirm you have been logged out.

You can use the Log out button on your previous /login command for the same effect.


/subscription

Default command access: administrators only.

This command is a group containing the following subcommands:

  • get: learn how to get a subscription for your server

  • info: display information about your current subscription

  • check: check the validity and information of a subscription voucher

  • redeem: redeem a valid subscription voucher for the current server

/subscription get

This command will send you an with information on how to subscribe. We do not sell any automatically renewable subscription, we do not want to keep your card.

If you want to purchase custom vouchers, please get in touch with an Exoguard representative.

/subscription info

This command will send you an with your current subscription information.

It will show you the following data:

  • Current plan: at the moment, either Exoguard Free or Exoguard Pro

  • Maximum amount of roles per user: how many roles can be assigned to a single user

  • Maximum amount of distinct roles: how many different roles can be assigned in total

  • Maximum amount of users: how many different users can have at least one assigned role

  • Subscribed since: if applicable, when your current subscription started

  • Subscribed until: if applicable, when your current subscription expires

If you are subscribed but do not see an expiry date, it means you have a lifetime subscription plan. These subscriptions are not for sale, but some servers may have them due to special circumstances.

/subscription check

This command will send you an with information about the given voucher.

It takes one required argument:

  • token: the subscription voucher you want to check

If the voucher is valid, it will show you the following data:

  • Plan: which subscription plan will the voucher give you

  • Subscription duration: how many days will it subscribe you for

  • Expiration date: when the voucher expires and can't be used anymore

  • Subscription trial only: if the voucher can only be used on servers that never subscribed

  • Uses: how many times the voucher has been used, and how many times it can be used

If the voucher doesn't have a duration, it means you have a lifetime subscription plan voucher. If the voucher doesn't have an expiration date, then it won't expire unless fully used or revoked.

/subscription redeem

This command will send you an about your voucher's redemption. You will have to perform this command on the server you want apply the voucher to.

It takes one required argument:

  • token: the subscription voucher you want to redeem

If the voucher is valid, it will confirm the applied subscription plan with its duration. Please note that it shows the voucher's duration, not your server's subscription duration.

If you get a TEST voucher, you will not be able to redeem it even if it's confirmed to be valid.

Last updated