โ Nameless Guild Manager โ docs
A Discord bot for guilds and alliances: events, role signups, auto-voice, cross-server role sync.
๐ Features
- Interface language โ the RU/EN switch in the top bar applies to every dashboard, documentation, and legal page.
- Events โ create raids/CTA/PvP with a composition (roles + slots), publish an announce embed, dedicated signup thread, /join /leave, waiting-list moderation.
- On publish, every event type (CTA / PVP / PVE / OTHER) pings the guild's primary role (or
@everyoneif the guild id is set as the primary role). - Voice channels โ auto-provision temporary voice channels on event start, auto-delete when empty.
- Alliance (role sync) โ a recipient server automatically grants roles and a nick prefix to members who hold a configured role on a donor server.
- Web dashboard โ server setup, event calendar, roster editing, alliance configuration.
โ Add the bot to a server
The button below opens Discord OAuth with the required permissions pre-selected:
โ Add Nameless Guild Manager
Required permissions (configured in the Discord Developer Portal โ default install settings): Manage Channels, View Channels, Send Messages, Manage Messages, Embed Links, Read Message History, Move Members, Manage Nicknames, Manage Roles, Manage Events, Manage Threads, Create Public Threads. Important: after adding the bot, raise its role above the target roles in your server's role hierarchy โ otherwise it cannot grant roles or change nicks.
โ๏ธ Initial setup
- Open the web dashboard and log in with Discord.
- Pick your server from the list.
- Click Setup server.
- Configure: language, timezone, primary role, publish channels, voice channels, optional timetable channel.
- Save.
Setup can be performed by the server owner or by any member with the Administrator permission in Discord. If the owner is unavailable, server administrators can complete setup and manage every dashboard section on their own.
๐ Creating an event
- Run
/event createin any server channel. - In the modal, fill in: title, date/time (UTC), location, comment, composition (roles and slots).
- The bot posts an announce embed in the configured channel and creates a signup thread.
- Members run
/joinin the event thread, picking a role number. - Leader/officer can approve/reject via
/force_joinand the waiting-list buttons.
๐ Publishing an announcement via the web dashboard
Complex events are easier to compose in the web dashboard than in Discord's modal:
- Web dashboard โ pick your server โ + New event button (also on the guild home page).
- Fill in the form: title, date/time (UTC), duration, location, comment.
- Choose a publish channel from the list (only channels allowed in Setup โ Publish Channels).
- Add groups and roles: group type (main/extra), label, slots, leader, voice channel.
- Click Create and publish. The event is saved and the bot automatically posts the announce embed with a signup thread.
- If publishing fails (bot temporarily unreachable, missing channel permissions) โ the event detail page shows a Publish button to retry.
- Edits to the event (composition, time, channel) are saved on the event page; to push them to an already published announcement use the Publish or Rerender button โ the bot redraws the embed and updates the roster.
- The Roster section lets you drag-and-drop participants between roles and remove them; changes apply instantly to the embed and the thread.
๐ Attendance & reports
The bot can take a voice-channel snapshot of an active event to record who attended.
Run /voice_check inside the event thread to mark
each participant as:
- ๐ข Attended โ signed up and was in a linked voice channel during the check.
- ๐ก Walk-in โ was in a linked voice channel but never signed up.
- ๐ด Missed โ signed up but was not in voice at check time.
- โซ Skipped (CTA only) โ active guild member who neither signed up nor was in voice.
Multiple snapshots are merged: if you were in voice on at least one check, you are marked Attended. The bot also takes automatic snapshots at event start, 30 minutes after start, and at event end โ the result is posted to the event thread. Officers with the View reports permission can open the reports dashboard to view per-event detail, per-user history, per-caller stats, and a summary table with a fair-attendance ratio.
Fair-attendance ratio
Fair ratio is attended รท eligible:
- For CTA: eligible = CTAs that occurred while you were an active guild member.
- For PVE/PVP/Other: eligible = events you signed up for.
Walk-ins are shown as a separate column on the summary page.
Officer actions
View reports is read-only. Revoking/restoring Discord roles requires the separate Revoke/restore report roles permission, while notes require Add report notes. All actions are recorded in an audit log visible on the user's report page.
Publishing reports
Sending an attendance embed to the configured reports channel requires the separate Publish reports to Discord permission. The channel is set in guild settings.
๐ค Alliance: cross-server role sync
For an alliance head server (recipient) you can configure one or more donor servers (member guilds). The bot inspects member roles and automatically grants/removes roles and a nick prefix on the recipient.
- Open the web dashboard โ pick the recipient server โ click ๐ค Alliance.
- Add a donor: its Discord ID + a servertag (0โ9 chars; empty = no nick prefix) + position.
- For each donor, add links: "donor role โ recipient role(s)".
- On save the bot triggers an immediate sync. Role changes are tracked in real time.
- For a manual sweep and a list of members lacking the donor role, use
/alliance_check.
Common issue: if a role is not granted โ check that the bot's role in the recipient server's hierarchy is above the target role (Server Settings โ Roles). The bot cannot edit members whose highest role outranks the bot.
- ๐ Alliance log channel. In the Alliance section of the dashboard, pick a channel โ the bot posts one line per member when a role is granted or stripped. Make sure the bot has Send Messages permission in that channel.
๐ Alliance: shared-event consent
- On Alliance โ Shared events, the source server sends a request using a known partner Discord Server ID.
- An administrator of the target server explicitly approves it and selects allowed event types and publish channels.
- Permission is directional: source โ target. Existing donor role-sync configuration never enables event publishing automatically.
- The target can pause new publications or revoke the agreement. Management requires the new Manage shared-event agreements permission.
- An author with Publish to partner servers selects up to one approved channel per partner in the new-event form. Leaving a partner blank skips it.
- Every publication uses one canonical event and one shared roster: a join or leave on any server re-renders the current slots in every published copy.
If one copy cannot be delivered temporarily, the canonical event remains saved; Retry publish safely retries only the missing copies.
๐ฎ Albion: character verification (nick + base role)
Premium feature (guild server). The bot links your Discord to an in-game Albion character (Europe server), sets your nick to the character name, and grants the base guild role. Roles on the alliance server are handled by the separate alliance module.
- Run
/albion link <character_name>โ the bot checks whether the character is in the in-game guild. If yes, a request is created awaiting officer confirmation, and a "๐ Albion link requested" embed is posted to the reports channel immediately so officers don't need to poll the website. If not, the bot tells you the character isn't in the roster and asks you to retry. - An officer confirms in the web dashboard โ Albion (roster table: set/edit the in-game nick, confirm button). Or use
/albion force-link. All officer actions (confirm / revoke / force-link) are logged to the reports channel and the "Audit log" section at the bottom of the page. The NOTE column shows the officer's display name next to each action. By default the Audit log shows only significant events (requests, confirmations, revokes, force-link, manual_role_removed); the "All" toggle also shows sync-side actions (role grants, nick changes). - On confirm the bot immediately checks the character against the Albion roster API (10-min cache): found in the guild โ sets nick = character name and grants the base role. If the character is not in the roster, the binding stays in the โ๐ฆ awaiting rosterโ status.
- Every 30 min the bot rechecks the roster. Character missing โ report to the reports channel; after a 48h grace the role is removed automatically. Same for members with the base role but no link.
- If many characters vanish at once (Albion API sometimes serves a partial roster), the bot does not mass-grace them โ it freezes the sync: the dashboard Sync status shows "roster anomaly: X/Y owning bindings missing". Click Sync now after a few minutes; once the API recovers the check completes normally.
- If an officer manually removes the base role from a linked member (status active/grace/pending), the bot immediately revokes the link, restores the nick, and posts a
manual_role_removedreport to the reports channel naming the officer (via Discord Audit Log). No 48h grace wait. Bot-initiated removals via sync do NOT trigger this (the bot distinguishes its own actions). - The Albion tab groups the roster by status: โ pending confirmation (self-link awaiting officer), ๐ฆ awaiting roster (officer confirmed, character not yet in roster), ๐ข active, โณ grace (character left the guild), โ has role but no link (officer priority). The "show unlinked w/o role" checkbox surfaces the rest. Search box filters the list by nick. If a member has left the Discord server, the bot automatically removes them from the roster (live on the leave event + a 6-hour periodic reconcile as a safety net).
Note: the bot's role must sit above the base role in the server hierarchy, and the bot needs Manage Nicknames + Manage Roles. Reports channel and guild ID are configured in the web dashboard โ Albion.
๐ Rights & role permission presets
The Rights tab (accessible to the guild owner or any member with the Administrator permission in Discord) lists every permission preset with its exact flag breakdown, lets you edit custom presets (create / rename / delete), and provides granular per-role flag overrides on top of any preset baseline.
- Built-in presets (administrator / officer / caller / content_maker / member) are read-only โ flag chips show exactly what each grants, "Clone" copies the bits into a new custom preset.
- Custom presets โ full CRUD with all 22 flags supported (events / members / albion / server).
- After this update: existing officer roles must be granted the new role-action, note, and publish permissions explicitly. The old View reports permission is now read-only.
- Granular per-role โ pick a baseline preset, then toggle individual flags. Overrides are highlighted. Save writes the full bitmask to the role.
๐ Commands
| Command | Description |
|---|---|
/event create | Create a new event (modal). |
/event edit | Edit an existing event. |
/event start | Start an event manually. |
/event end | End an event. |
/event disband | Disband (cancel) an event. |
/join | Sign up for a role in the event thread. |
/leave | Leave an event. |
/force_join | Force-add a member (officer). |
/force_leave | Force-remove a member (officer). |
/alliance_check | Run the alliance sync + list members to kick manually. |
๐ Web dashboard
- Calendar โ weekly event schedule for your guild.
- Setup โ server settings, channels, roles, permission presets.
- Roster โ drag-and-drop event roster management.
- Alliance โ donor/recipient link configuration.
Application administration: the protected cross-guild inventory and monitoring pages are available only to designated application administrators. A regular Discord server administrator can see and manage only their own servers.
Access to each section is gated by roles and permission presets.
๐ฆ Event templates
Templates let you reuse an event's composition (roles + slots + groups):
- Open an event detail page or the new-event creation form.
- Click ๐พ Save as template.
- Enter a template name, choose Personal (just you) or Guild-shared (officers).
- When creating a new event, pick a template from the dropdown at the top of the form and click Load.
Templates are a premium feature. If the guild's subscription lapses, templates become inaccessible and are deleted after 30 days.
โ Troubleshooting
- Commands don't show up โ wait up to an hour after adding the bot (Discord caches global slash commands). Test guilds are faster.
- Alliance role not granted โ raise the bot's role above the target role in the hierarchy.
- Announce not posted โ check Setup has publish channels selected and the bot has Send Messages / Embed Links.
- Timetable not updating โ verify the bot has access to the Timetable channel.
Still stuck? Drop by the support server.