Skip to main content

Role Portals

Description

User Guide

Post a message with a button: the member who clicks it receives one or more roles, provided they already hold the roles you require. Ideal for opening access to a restricted section after a first step.

What it does​

  • Posts a custom embed with a button, in the channel of your choice.
  • Checks the required roles before granting anything.
  • Assigns the roles to grant in one click, with no staff involvement.
  • Replies privately in the channel (an ephemeral message): neither success nor refusal clutters the conversation.
  • The button stays active over time: it still works after the bot restarts.

This module is not AutoRole, Role Gate or RoleRoster​

Four modules deal with roles, with clearly distinct purposes:

ModulePrinciple
Role PortalsA conditional button: if you have roles A and B, then you get role C.
AutoRolePanels with dropdown menus where everyone helps themselves freely, and can remove what they took. No condition.
Role GateRoles granted automatically on arrival, role swaps, and removal of roles from inactive members. No clicking.
RoleRosterA directory: displays the list of members holding a role. Assigns nothing.

In short: the portal is the only one of the four that sets a condition before granting a role.

Quick start (Admin)​

  1. Open the dashboard → Tools & Staff category → Secure Portals.
  2. Click New Portal.
  3. Give it an internal name (it is not shown on Discord) and pick the deployment channel.
  4. Fill in the roles to grant — this is mandatory — and, if needed, the required roles.
  5. Customise the embed and the button, then Save.
  6. In the list, click the send icon to post the panel in the channel.

Commands​

This module has no Discord commands: everything is configured from the dashboard, and members only use the panel's button.

Settings from the dashboard​

The list of portals shows, for each one, its name, its channel, its required roles and the roles it grants, with three actions: post the panel, edit, delete.

The configuration dialog groups four blocks:

  • Basic information: internal name (mandatory) and deployment channel (mandatory).
  • Conditions & Rewards:
    • Required roles — optional. If you leave this field empty, anyone can click.
    • Roles to grant — mandatory, one or more roles.
  • Appearance (Embed): title, description and colour.
  • Button: displayed text and emoji (with an emoji picker).

The number of portals is capped at 1 for a non-premium server (default value, adjustable by the TennoCore team).

Good to know​

  • The bot needs the Manage Roles permission, and its role must be positioned above the roles it has to grant. Otherwise the member gets an error message mentioning the hierarchy.
  • Required roles are checked with an AND: the member must hold all the listed roles. If any are missing, the bot tells them precisely which.
  • A member who already holds all of the portal's roles gets a simple notice, with no effect.
  • The portal never removes a role. For a toggle behaviour (take / give back), use AutoRole.
  • Editing a portal does not edit the message already posted: the text, the colour and the button label stay as they were. Post the panel again to get an up-to-date message, then delete the old one.
  • Do not leave several copies of the same portal in the server: only the last message posted is reactivated after the bot restarts, the older buttons become inert.
  • Deleting a portal in the dashboard does not delete the message posted on Discord: the button will remain visible but have no effect. Erase the message by hand.
  • The channel must be one the bot can write in; if the channel has been deleted in the meantime, posting fails.
  • Portals also work with a custom bot: the button is handled by your bot when TennoCore is not on the server.