--:-- UTC

โš“ Nameless Guild Manager โ€” docs

A Discord bot for guilds and alliances: events, role signups, auto-voice, cross-server role sync.

๐Ÿ“‹ Features

โž• 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

  1. Open the web dashboard and log in with Discord.
  2. Pick your server from the list.
  3. Click Setup server.
  4. Configure: language, timezone, primary role, publish channels, voice channels, optional timetable channel.
  5. 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

  1. Run /event create in any server channel.
  2. In the modal, fill in: title, date/time (UTC), location, comment, composition (roles and slots).
  3. The bot posts an announce embed in the configured channel and creates a signup thread.
  4. Members run /join in the event thread, picking a role number.
  5. Leader/officer can approve/reject via /force_join and 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:

  1. Web dashboard โ†’ pick your server โ†’ + New event button (also on the guild home page).
  2. Fill in the form: title, date/time (UTC), duration, location, comment.
  3. Choose a publish channel from the list (only channels allowed in Setup โ†’ Publish Channels).
  4. Add groups and roles: group type (main/extra), label, slots, leader, voice channel.
  5. Click Create and publish. The event is saved and the bot automatically posts the announce embed with a signup thread.
  6. If publishing fails (bot temporarily unreachable, missing channel permissions) โ€” the event detail page shows a Publish button to retry.
  7. 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.
  8. 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.

  1. Open the web dashboard โ†’ pick the recipient server โ†’ click ๐Ÿค Alliance.
  2. Add a donor: its Discord ID + a servertag (0โ€“9 chars; empty = no nick prefix) + position.
  3. For each donor, add links: "donor role โ†’ recipient role(s)".
  4. On save the bot triggers an immediate sync. Role changes are tracked in real time.
  5. 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: shared-event consent

  1. On Alliance โ†’ Shared events, the source server sends a request using a known partner Discord Server ID.
  2. An administrator of the target server explicitly approves it and selects allowed event types and publish channels.
  3. Permission is directional: source โ†’ target. Existing donor role-sync configuration never enables event publishing automatically.
  4. The target can pause new publications or revoke the agreement. Management requires the new Manage shared-event agreements permission.
  5. 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.
  6. 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.

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.
  6. 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_removed report 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).
  7. 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.

๐ŸŽ› Commands

Command Description
/event createCreate a new event (modal).
/event editEdit an existing event.
/event startStart an event manually.
/event endEnd an event.
/event disbandDisband (cancel) an event.
/joinSign up for a role in the event thread.
/leaveLeave an event.
/force_joinForce-add a member (officer).
/force_leaveForce-remove a member (officer).
/alliance_checkRun the alliance sync + list members to kick manually.

๐ŸŒ Web dashboard

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):

  1. Open an event detail page or the new-event creation form.
  2. Click ๐Ÿ’พ Save as template.
  3. Enter a template name, choose Personal (just you) or Guild-shared (officers).
  4. 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

Still stuck? Drop by the support server.

โ€”