TBC Web -Message-Roles

Restrict direct messages and community chat by role, with a friendly custom message instead of a generic error.

$0.00
Buy Now

v1.8.5
Changelog · v1.8.5

1.8.5 — 2026-08-26

🔧 Changed

  • The shared admin library caught up with the rest of the suite. Every TBC plugin ships a byte-identical copy of the same admin CSS, JS and licenser under one handle, and this plugin's copy had fallen behind. It now carries the Hide sensitive control — which covers credentials on screen so a settings page can be screen-shared or screenshotted without publishing them — the one-open-at-a-time accordion, and newest-wins registration, so the copy WordPress actually loads is the most recent one installed rather than whichever plugin happened to register first.
  • The documentation theme re-synced, so this plugin's HTML reference looks like the rest of the suite again.

1.8.4 — 2026-08-01

🔧 Changed

  • The License tab's support contact follows the site's vendor identity. A dev-bundle buyer running managed service for their own clients points it at their own business from the client site's wp-config.php, so their clients see their address rather than ours. Left undefined it stays Two Birds Code, so nothing changes on an ordinary install.

1.8.3 — 2026-07-27

🛠 Fixed

  • Blocked members see your wording again on member search. Fluent Messaging 2.7.5 added a permission check on member search with a denial message of its own. That new message is now mapped like the others, so a member blocked by your role settings reads the explanation you wrote rather than Fluent's generic one.

✨ New

  • A warning when Fluent Community's privacy setting is overriding your roles. As of Fluent Messaging 2.7.5, member search and starting a conversation need both a role you've granted and Fluent Community's members-page privacy setting to allow it — so granting a role is no longer sufficient on its own. The DM roles section now tells you when that's happening, and stays quiet on installs where it isn't.

Note: only the granting direction is affected. A blocked role stays blocked regardless of the privacy setting.

1.8.2 — 2026-07-21

🛠 Fixed

  • The Save bar works without JavaScript, and stops claiming unsaved changes mid-save. The floating Save pill only appeared once JavaScript had run, so a settings form could be left with no reachable submit button; there's now a plain fallback that always works. Separately, the post-submit latch cleared after 4 seconds, which on a slower save re-showed the "unsaved changes" warning while the save was still in flight and swallowed the "Saved" confirmation. That window is now 20 seconds. Shared across the plugin suite.

1.8.1 — 2026-07-14

🛠 Fixed

  • Licensing resilience. A rate limit or brief license-server hiccup no longer disables a licensed site — the plugin runs on its last good check, and only a definitive invalid or expired answer gates features. A revoked key also can't slip back to licensed between checks.

🔧 Changed

  • Licensing hardened — the developer bypass filter is removed, so licensing goes solely through the standard check.

1.8.0 — 2026-07-09

✨ New

  • A delete-data-on-uninstall toggle on the License tab. A standard Data Management card decides what happens when you remove the plugin: off by default, keeping your settings and role allow-list for a future reinstall, or on to purge everything. Same control, same place as every other TBC add-on.

🔧 Changed

  • The settings screen was rebuilt on the shared TBC design system, using the suite-wide card, token and layout primitives, and gains a sticky save bar that tracks unsaved changes live, offers Discard and confirms with a "Saved" flash.

📡 Internal

  • Ships the shared admin design-system drop-ins and retires the plugin's private admin CSS.
  • Resynced the bundled licenser to the canonical version, so the unlicensed admin notice suppresses correctly regardless of plugin load order.

1.7.0 — 2026-06-20

✨ New

  • One-click updates from the store. New versions appear on the WordPress Plugins screen with a View Details changelog and update in one click. No more manual zip uploads.
  • A License tab on the settings page where you paste your key — free with purchase — to turn on updates and the role restrictions.

🔧 Changed

  • Role restrictions activate once a valid key is entered, matching every other TBC add-on. An unlicensed site falls back to Fluent Messaging's default behavior.

1.6.0 — 2026-06-08

✨ New

  • A customizable restriction message shown to blocked members in the app and web chat, in place of Fluent Messaging's default denial text, with its own settings card carrying an optional title and message.

🔧 Changed

  • The override applies to the in-chat empty state, the web send popup and the app's denial — but only for members your role rules block. Everyone else sees Fluent's normal text, and blank fields fall back to built-in wording so it works without configuration.

📡 Internal

  • Implemented through a scoped gettext filter, so it needs no edits to Fluent Messaging and no app build.

1.5.0 — 2026-03-24

✨ New

  • Space-level roles — Space Admin and Space Moderator — across all three sections, giving three tiers: global manager roles, space-level roles and WordPress roles.

🔧 Changed

  • Space roles resolve through Fluent Community's own model and match anyone holding the selected role in any space. Space admin and moderator are always messageable on a fresh install.

1.4.0 — 2026-03-24

✨ New

  • Fluent Community roles — Admin and Moderator — in the DM and community chat restriction sections.

🔧 Changed

  • Sender permission checks evaluate both WordPress and Fluent Community roles, with either match granting access. All three sections now share a consistent layout.

Message Roles · WordPress plugin · web + app

Decide who can start a conversation.

Restrict one-to-one direct messages and community or space chat by WordPress role, Fluent Community role, or space-level role — and show members who do not have access a clear, friendly message instead of a generic error. Lightweight, and free.

3role tiers you can mix — WordPress, Fluent Community, space-level
2surfaces gated separately — direct messages and space chat
Alwaysreachable roles, so members can still get to your staff
0changes until you choose — select nothing and everyone can message

Three parts · one add-on

What you gate, what blocked members see, how it behaves.

Click a tab.

Message Roles › How it works
Choose a view

Two surfaces, gated separately

Direct messages and space chat

Pick the roles allowed to message, mixing the three tiers however your community is organised.

  • Gate direct messages — choose which roles can start a one-to-one conversation
  • Gate community and space chat — choose which roles can post in space chat threads
  • Three role tiers — WordPress roles, Fluent Community roles (Admin, Moderator), and space-level roles (Space Admin, Moderator)
  • “Always messageable” roles — let members reach your staff even when messaging is otherwise locked down
A conversation in the TBC Community AppA conversation in the TBC Community App
The messaging surface these rules govern.

The bit most plugins get wrong

A sentence, not an error

A member who cannot message should be told why in your words. Set your own title and message and it is shown in both the mobile app and the web chat, in place of a generic “not allowed”.

  • Your title and your wording, on both surfaces
  • Leave it blank and sensible built-in wording is used instead
  • No dead ends — pair it with an always-messageable staff role so there is somewhere to go
screenshot coming soonstore-assets/products/tbc-message-roles/blocked-message.webp

Safe by default

Nothing changes until you say so

  • Fail-open — select no roles and everyone can message, exactly as before you installed it
  • Administrators and Fluent Community moderators always bypass the rules, so you cannot lock yourself out
  • One settings page, no configuration overload
screenshot coming soonstore-assets/products/tbc-message-roles/settings-roles.webp

What you get

  • Role gating for direct messages and for space chat, set independently
  • Always-messageable roles for staff and support
  • A custom restriction title and message, shown on web and in the app
  • WordPress, Fluent Community and space-level roles, mixed freely

What you need

  • WordPress 5.8+ and PHP 7.4+
  • Fluent Community with messaging enabled
  • The TBC Community App is optional — the rules apply on the web either way, and in the app when you run one

Pricing

Free.

Message Roles is one of our free tools. Activate a licence key so updates arrive automatically.

Message RolesWordPress plugin · web + appFree
At checkout$0