Ark of Osiris Signups
Ark of Osiris Signups give every alliance in your server a self-service signup board for their weekend matches. The bot posts a live embed with a button per team, hands out a team role to everyone who signs up, sends a reminder before the match, and lets admins export the final roster as a spreadsheet. You set it up once per alliance and the bot reposts a fresh signup every match week on its own.
The companion Ark planner on the dashboard lets your designated Ark admins arrange the roster outside Discord.
| Tier | Patron |
| Command | /ark |
| Who can use | Admins and the configured Ark Admin role |
| Also on dashboard | Yes (Ark planner) |
How it works
Section titled “How it works”Each alliance gets its own setup, identified by a short alliance tag (for example 60GT or 93T). One server can run signups for several alliances side by side, each with its own embed, channel, teams, and roles.
When you run /ark setup, the bot:
- Creates a Discord role per team, named like
Team 1 (60GT). - Stores each team’s next match time (in UTC) and optional signup cap.
- Posts a live signup embed on the Monday of match week, or right away if you set it up after that Monday has already passed.
Members click a team button, type their in-game name, and the bot signs them up and grants the team role. The embed updates itself after every signup, drop-out, or admin change. When the cycle ends, the bot rolls the match time forward (by 7 or 14 days, depending on the alliance’s cadence) and posts the next signup automatically.
A short lifecycle:
- Signup embed posts on Monday of match week and pings your notification role (if set).
- Members sign up through the buttons all week.
- A reminder is sent before each team’s match time.
- Signups close, the buttons disappear, and admins export the roster.
- The cycle repeats for the next match.
Prerequisites
Section titled “Prerequisites”- The server has run
/patreon verify(Patron). - You have Administrator or Manage Server, or the configured Ark Admin role. The very first
/ark setupfor a brand-new alliance requires a server admin. - The bot has Manage Roles, and its own role sits above the team roles it creates, so it can assign and remove them.
- The bot can post embeds in the signup channel.
Commands
Section titled “Commands”/ark setup
Section titled “/ark setup”Set up (or completely re-set) signups for one alliance. Team 1 is required; Teams 2 and 3 are optional and can be added later with /ark add.
| Option | Type | Required | Description |
|---|---|---|---|
alliance_tag | text | Yes | A unique tag for this alliance’s signup (for example 60GT, 93T) |
channel | channel | Yes | Channel for signup posts and reminders |
team_1_name | text | Yes | Custom name for Team 1 |
team_1_time | text | Yes | Team 1’s next match time, HH:MM DD/MM/YYYY, in UTC |
reminder_interval | text | Yes | How long before the match to send the reminder, DD:HH:MM or HH:MM |
team_1_cap | number | No | Max self-service signups for Team 1 (for example 30) |
team_1_registration_time | text | No | When alliance leaders register Team 1 (HH:MM DD/MM/YYYY UTC), shown in the embed |
tag_role | role | No | Role to ping when signups are posted |
team_2_name | text | No | Custom name for Team 2 |
team_2_time | text | No | Team 2’s next match time (UTC) |
team_2_cap | number | No | Max self-service signups for Team 2 |
team_2_registration_time | text | No | When leaders register Team 2 (UTC) |
team_3_name | text | No | Custom name for Team 3 |
team_3_time | text | No | Team 3’s next match time (UTC) |
team_3_cap | number | No | Max self-service signups for Team 3 |
team_3_registration_time | text | No | When leaders register Team 3 (UTC) |
/ark setup alliance_tag:60GT channel:#ark-signups team_1_name:Main team_1_time:20:00 28/06/2025 reminder_interval:01:00:00 team_1_cap:30 tag_role:@Ark/ark add
Section titled “/ark add”Add Team 2, Team 3, or both to an alliance that is already set up. You must provide a match time for at least one new team. Existing teams cannot be re-added here (use /ark settings to edit them).
| Option | Type | Required | Description |
|---|---|---|---|
alliance_tag | text (autocomplete) | Yes | The alliance to add a team to |
team_2_name | text | No | Custom name for Team 2 |
team_2_time | text | No | Team 2’s next match time, HH:MM DD/MM/YYYY UTC |
team_2_cap | number | No | Max signups for Team 2 |
team_2_registration_time | text | No | When leaders register Team 2 (UTC) |
team_3_name | text | No | Custom name for Team 3 |
team_3_time | text | No | Team 3’s next match time, HH:MM DD/MM/YYYY UTC |
team_3_cap | number | No | Max signups for Team 3 |
team_3_registration_time | text | No | When leaders register Team 3 (UTC) |
/ark add alliance_tag:60GT team_2_name:Reserve team_2_time:20:00 28/06/2025 team_2_cap:25/ark manual
Section titled “/ark manual”Sign a governor up by hand. This is an admin override: it ignores the team’s cap, so you can add someone even when the team is full. Over-cap additions are recorded in the export history. If the in-game name is already signed up elsewhere in the server, they are moved to the new team.
| Option | Type | Required | Description |
|---|---|---|---|
alliance_tag | text (autocomplete) | Yes | The alliance to sign up for |
in_game_name | text | Yes | The governor’s exact in-game name |
team_number | choice | Yes | Team 1, Team 2, or Team 3 |
/ark manual alliance_tag:60GT in_game_name:KingArthur team_number:Team 1/ark settings
Section titled “/ark settings”Open a settings panel. Behaviour depends on whether you pass an alliance tag.
| Option | Type | Required | Description |
|---|---|---|---|
alliance_tag | text (autocomplete) | No | The alliance to manage. Leave empty to set the server-wide Ark Admin role |
With no alliance tag, you get the server panel for the Ark Admin role. Anyone with that role can run every /ark command server-wide and is also granted the dashboard Ark planner. Only a server Administrator, Manage Server, or the Bot Admin role can set it (the Ark Admin role cannot assign itself).
With an alliance tag, you get an in-place menu for that alliance. From the dropdown you can:
- Switch between weekly (7-day) and biweekly (14-day) cadence.
- Post Signups Now! to delete the current signup and post a fresh one.
- Toggle auto-post on or off (off means you only post manually via Post Signups Now!).
- Choose the close mode: at each team’s registration time or Saturday 00:00 UTC alliance-wide.
- Rename the alliance tag (this cascades to every signup and role).
- Change the channel, notification role, per-alliance Ark Admin role, and reminder interval.
- Edit any team’s name, match time, registration time, or cap.
/ark settings alliance_tag:60GT/ark settings/ark deactivate
Section titled “/ark deactivate”Turn off a single team or the whole alliance.
| Option | Type | Required | Description |
|---|---|---|---|
alliance_tag | text (autocomplete) | Yes | The alliance to deactivate |
team | choice | Yes | Team 1, Team 2, Team 3, or Entire Alliance |
/ark deactivate alliance_tag:60GT team:Team 2Set up step by step
Section titled “Set up step by step”- Run
/patreon verify(with Manage Server) so the/arkcommands appear, and wait a few seconds for Discord to register them. - Make sure the bot has Manage Roles and that the bot’s role is above where the new team roles will sit. Confirm it can post in your chosen signup channel.
- Work out your Team 1 match time in UTC and write it as
HH:MM DD/MM/YYYY(for example20:00 28/06/2025). - Decide your reminder lead time as
DD:HH:MMorHH:MM(for example01:00:00for one hour before). - Run
/ark setupwith at leastalliance_tag,channel,team_1_name,team_1_time, andreminder_interval. Add caps, atag_role, and Teams 2 and 3 if you want them now. - Check the channel. If you are already past the Monday of match week, the signup embed posts immediately; otherwise it posts on that Monday.
- Open
/ark settings alliance_tag:<tag>to set the cadence (weekly or biweekly) and confirm everything reads correctly. - Optional: run
/ark settingswith no tag to grant a trusted member the server-wide Ark Admin role so they can manage Ark and the dashboard planner without full admin permissions.
Permissions
Section titled “Permissions”Ark commands accept any of the following:
- Server Administrator or Manage Server.
- The server’s Bot Admin role.
- The server-wide Ark Admin role (set via
/ark settingswith no tag). Grants every/arkcommand and the dashboard planner. - The per-alliance Ark Admin role (set via
/ark settings <tag>), which works only for that alliance.
Two extra rules apply:
- The first
/ark setupfor a brand-new alliance requires a server admin (Administrator, Manage Server, or Bot Admin). Once the alliance exists, its Ark Admin role can re-run setup. - Setting the server-wide Ark Admin role is restricted to a server admin or the Bot Admin role, so the role can never grant itself.
The .xlsx export and the Remove Signup admin path on the embed use the same permission set.
Limits and behavior
Section titled “Limits and behavior”- Up to 3 teams per alliance. One server can run many alliances at once.
- Each team has its own role. Signing up grants it; dropping out or being removed takes it away. Moving between teams swaps the role automatically.
- Caps gate self-service only. A full team blocks the button, but
/ark manualcan still push past the cap (and logs it). - Signups close automatically. By default the buttons disappear at Saturday 00:00 UTC of match week. If close-at-registration-time is on and a team has a registration time, that team’s button closes at its registration time instead. Different teams can close at different times when their registration times are staggered.
- Drop-outs lock at registration time. Once a team’s registration time passes, members (and admins via the embed) can no longer remove that team’s signups, so a registered roster cannot be left short. The Remove Signup and .xlsx buttons otherwise stay available after close.
- The embed survives restarts. Buttons keep working across bot restarts; the bot re-attaches them and refreshes the embed from the database on startup.
- The export has two sheets. The signup sheet lists each team’s roster (team, in-game name, Discord name). A second History sheet is a chronological audit log of joins, moves, drop-outs, and manual or admin actions for the current cycle.
- Cadence changes keep the schedule. Toggling weekly and biweekly recomputes each team’s next match from a fixed anchor, so switching back lands on the same calendar dates as the original setup.
Troubleshooting
Section titled “Troubleshooting”The /ark commands don’t show up.
Run /patreon verify with Manage Server, then wait up to a minute for Discord to register the commands. Patron commands only appear in authorized servers.
“I don’t have permission to create roles.”
Grant the bot Manage Roles and drag the bot’s role above where the team roles will sit, then run /ark setup again.
A member signed up but didn’t get the team role. The bot’s role must sit above the team role to assign it. If the role can’t be granted, the signup is rolled back and the member is told to check permissions. Fix the role order and have them sign up again.
The signup embed never posted.
The embed posts on the Monday of match week. If you set up before that Monday, it waits. If you are inside match week already, use /ark settings <tag> and Post Signups Now! to push it immediately. Also confirm auto-post is enabled in the settings panel.
Nobody can sign up anymore. Signups close at Saturday 00:00 UTC of match week (or a team’s registration time, if set). The buttons are removed on purpose once closed; only Remove Signup and .xlsx remain.
A member can’t drop out. Once a team’s registration time has passed, drop-outs are locked so the registered roster stays intact. They should contact alliance leadership directly.