Skip to content

Automatic roles

Automatically give or remove Discord roles based on a member’s Tibia characters and guilds on this server’s tracked world.

Requirements

  • Bot permission: Manage Roles
  • Your permission: Manage Roles
  • Role positions: both you and the bot must be above the target role. Rules for higher roles are ignored.

How it works

  1. You add rules that describe who should get a role.
  2. NabBot evaluates members when certain triggers happen.
  3. If any one of a member’s registered characters matches any rule for a role, the role is added.
    If the member no longer matches any rule for that role, the role is removed.

Commands

See the Roles commands.


Rule syntax

Rules apply only to characters on this Discord server’s tracked world.

Syntax Matches
* Any user with at least one registered character on the tracked world
*@GuildName Any user with a registered character in GuildName
GuildName Shorthand; stored as *@GuildName
Rank@GuildName Any user with a registered character in GuildName with rank Rank

Notes: - Matching is case-insensitive.
- Guild names are normalized when you add the rule.
- Multiple spaces are tolerated; fancy Unicode isn’t.

  • * → give to all identified users on the world
  • *@Redd Alliance → all members of Redd Alliance
  • Emperor@Bald Dwarfs → only rank Emperor in Bald Dwarfs

Add rules

Use /autorole add with two parameters: a role and a rule.

Samples

  • /autorole add @Redd Alliance Redd Alliance
    Members of Redd Alliance receive @Redd Alliance.

  • /autorole add "Bald Dwarfs Vice" Emperor@Bald Dwarfs
    Rank Emperor in Bald Dwarfs receive @Bald Dwarfs Vice.

  • /autorole add Identified *
    Any user with a registered character on the tracked world receives @Identified.

You can add multiple rules to the same role. Typical use: one @Allies role with a rule per allied guild.

List rules with /autorole list.

Example rule list


When roles update

NabBot enforces rules on these triggers:

  • A new member joins and already has registered characters
  • A member uses /im to register characters
  • A member uses /imnot to unregister characters
  • A character is checked with /whois and a guild/rank change is detected
  • The live tracker sees a character online and detects a change

Timing

  • When a character is online, checks happen within minutes.
  • Offline characters are checked on demand via commands.
  • Role updates are subject to Discord rate limits on large servers.

Bulk re-evaluation

Use /autorole refresh to re-evaluate all members against your current rules.

No exemptions

Refresh ignores manual changes and reapplies roles according to rules. There’s no suppression or per-user exemption.


Limitations

  • Removing a rule does not immediately remove roles. Members lose a role only after re-evaluation and when they match no remaining rule for that role.
  • Inactive characters that haven’t been online in a while won’t trigger changes on their own. Use /whois or Refresh.
  • Manual role changes may be reverted on the next evaluation if rules disagree.
  • Multi-world setups are not supported. Rules only consider this server’s tracked world.

Suggested uses

  • Grant access to private channels for your guild and allies
  • Mark identified users who have at least one registered character on the world
  • Separate guild ranks into different channels or permissions
  • Auto-tag multiple ally guilds into a single role