Event System Documentation
The Event System is a full-featured module for managing guild events in Albion Online. It handles automatic voice channel creation, real-time participation tracking, silver collection, tax calculation, and automated distribution of silver directly to each participant's balance — all inside Discord.
Table of Contents
- System Overview
- Initial Setup (Administrators)
- Roles & Permissions
- Event Lifecycle
- Creating an Event
- Event Embed & Buttons
- Joining & Leaving
- Official Start Timer
- Closing & Finishing
- Finance: Silver & Taxes
- Deposit Approval Flow
- Managing Participants
- Web Dashboard
- All Commands Reference
- Troubleshooting
System Overview
The Event System automates the full lifecycle of a guild event from creation to silver payout:
- A manager creates an event → a dedicated voice channel and forum thread are created automatically.
- Participants join via the embed button → the bot tracks their time in the voice channel with per-session precision.
- When the official timer starts, all current participants' start times are synced for fair percentage calculations.
- When the event ends, the bot calculates how long each participant was present as a percentage.
- The manager adds the collected silver, configures taxes, and simulates the distribution.
- A validator approves the deposit → silver is credited to each participant's balance automatically.
Initial Setup (Administrators)
Only users with the Administrator permission in Discord can configure the Event System. Run the command once and configure each item using the interactive buttons.
Command
/event setup
The bot will display a setup embed with 6 configuration buttons. Click each one and select the corresponding channel or role from the dropdown. All 6 must be configured before the system becomes active.
| Setting | What to configure | Purpose |
|---|---|---|
| Event Manager Role | A Discord role | Users with this role can create, close, finish, and manage events |
| Event Validator Role | A Discord role | Users with this role approve or reject deposit requests |
| Event Category | A Discord channel category | All event voice channels are created inside this category |
| Forum Channel | A Discord Forum channel | A thread is created here for each event to track its history and finance |
| Validation Channel | A regular text channel | Deposit approval requests are posted here for validators to review |
| Log Channel | A regular text channel | All event actions (created, closed, finished, deposits) are logged here |
Once all 6 items are configured, click Finish Setup. The button is only enabled when all fields are filled in.
/event setup again at any time to update any configuration value. Changes take effect immediately.
Roles & Permissions
| Role | How assigned | Permissions |
|---|---|---|
| Administrator | Discord native permission | Run /event setup to configure the module |
| Event Manager | Configured in setup | Create, close, finish, cancel events; manage silver and taxes; manage participants |
| Event Validator | Configured in setup | Approve or reject deposit requests in the validation channel |
| Regular Members | — | Join and leave events via embed buttons |
Event Lifecycle
Every event moves through a fixed sequence of statuses:
| Status | Meaning | Join / Leave? | Voice Channel? |
|---|---|---|---|
| Active | Event is running and open for participation | ✅ Yes | ✅ Exists |
| Closed | No new participants allowed; current ones stay | ❌ No new joins | ✅ Exists |
| Finished | Event ended with full stats and finance report | ❌ No | ❌ Deleted |
| Cancelled | Event aborted; no silver is distributed | ❌ No | ❌ Deleted |
Creating an Event
Command
/event create name:<name> [description:<text>] [type:<type>]
| Option | Required | Description |
|---|---|---|
name | ✅ Yes | Event name, max 100 characters |
description | ❌ No | Short description shown on the embed, max 2000 characters |
type | ❌ No | Event type label (e.g. Ava Roads, HG, Ganking) |
What happens when you create an event
- A voice channel named Event: <name> is created in the configured category.
- You are automatically moved into that voice channel and your participation tracking starts.
- An event embed (the event card) is posted in the channel where you ran the command.
- A forum thread is created in the configured forum channel with event details.
- The action is logged in the event log channel.
Event Embed & Buttons
The embed posted when creating an event is the main control panel. It shows live participant info and provides action buttons for all roles.
| Button | Who can use it | What it does |
|---|---|---|
| ✅ Join Event | Any member | Register as a participant and get moved to the event voice channel. Requires being connected to any voice channel first. Only available while status is Active. |
| ❌ Leave Event | Any participant | Stop participation and record the session end time. Members can rejoin later. Only available while status is Active. |
| 🚀 Start Event | Event Manager | Sets the official start time. All current participants are synced to this exact timestamp for fair percentage calculations. Disappears after use. |
| 🔒 Close | Event Manager | Prevents new participants from joining. Current participants and the voice channel remain active. |
| 🏁 Finish | Event Manager | Ends the event completely. The end timestamp is recorded at the moment this button is clicked. See Closing & Finishing for the full flow. |
| ◀ / ▶ | Anyone | Navigate through the participant list when there are more than 90 participants. |
Joining & Leaving
Joining
Any member clicks ✅ Join Event on the event embed. Requirements:
- Event must be in Active status.
- Member must be connected to any voice channel at the time of joining.
- Member cannot be actively participating in another event in the same server.
Upon joining, the member is automatically moved to the event's dedicated voice channel.
Leaving
Members click ❌ Leave Event to stop participation. The bot records the session end time and adds the duration to their total. Members can rejoin — each join/leave creates a separate tracked session.
How participation % is calculated
Each participant's time is tracked in seconds. At the end of the event:
- The total event duration is determined (from the official start time to finish, or from voice channel creation if no official start was set).
- Each participant's total seconds are divided by the total event duration to get their raw percentage.
- Percentages are normalized so they always add up to 100%, ensuring all silver is distributed.
Official Start Timer
The 🚀 Start Event button defines the official start time used for percentage calculations, independently from when the voice channel was created.
Why this matters: Managers and early members often join the voice channel before the actual content begins (during preparation or waiting). Clicking Start Event syncs all currently active participants to the same start time, so everyone's percentage is based only on the actual event duration — not the waiting time.
When Start Event is clicked:
- All currently active participants have their session start time updated to this official timestamp.
- Any participant who joined before this click will have their time counted only from this point forward.
- The button disappears from the embed after use.
Closing & Finishing
Close (optional intermediate step)
Closing stops new participants from joining but keeps the voice channel alive. Use this when you want to lock the roster while the event content is still running.
/event close [event_id:<id>]
Omit event_id to close your most recent active event.
Finish (final step)
/event finish [event_id:<id>]
When you click the 🏁 Finish button or run /event finish:
- The end timestamp is recorded immediately — this is the official event end time regardless of how long the subsequent steps take.
- All active participant sessions are closed.
- A select menu appears (only visible to you) asking where to move voice channel members before deleting it.
- Select a destination voice channel, or choose Don't move participants to disconnect them.
- You have 2 minutes to respond. If time expires, the channel is deleted automatically.
- The voice channel is deleted.
- Participation percentages are calculated for all participants.
- A Final Report embed is posted in the forum thread with full stats and finance buttons.
- The forum thread is archived and the event embed is updated to the finished state.
Cancel
/event cancel event_id:<id> [reason:<text>]
Cancelling follows the same voice channel move flow, but marks the event as cancelled, generates no financial report, and the embed turns red. No silver is distributed.
Finance: Silver & Taxes
The finance flow runs after the event is finished or closed. It has three mandatory steps before a deposit can be requested.
Step 1 — Add Silver
/event finance add-silver amount:<value> [event_id:<id>]
Or click the 💰 Add Silver button in the forum thread. Supports shorthand: 10m = 10,000,000 · 5.5k = 5,500 · 1b = 1,000,000,000. Running this command again overwrites the previous value.
Step 2 — Set Taxes
/event finance set-taxes [guild_tax:%] [seller_tax:%] [buyer_discount:%] [creator_tax:%] [repair_fees:amount] [event_id:<id>]
Or click the 📊 Set Taxes button in the forum thread. All parameters are optional — only provide the ones you want to change.
How deductions are applied (in order)
- Buyer Discount — percentage applied on the gross total silver (e.g. Albion marketplace buyer fee).
- Repair Fees — flat silver amount deducted after the buyer discount.
- Seller Tax — percentage applied on the silver after discount and repair fees.
- Guild Tax — percentage applied on the same post-discount/repair base.
- Content Creator Tax — optional percentage for event organizers/streamers.
- Net Distribution — the remaining silver, split proportionally by participant %.
| Deduction | Applied on | Example (10M gross) |
|---|---|---|
| Buyer Discount (5%) | Gross total | −500,000 |
| Repair Fees (flat) | After buyer discount | −500,000 |
| Seller Tax (3%) | After discount + repair | −270,000 |
| Guild Tax (20%) | After discount + repair | −1,800,000 |
| Creator Tax (5%) | After discount + repair | −450,000 |
| Net Distribution | Remaining | ~6,480,000 |
Step 3 — Simulate
/event finance simulate [event_id:<id>]
Or click 🔮 Simulate in the forum thread. Shows a preview of each participant's percentage and exact silver share. No balances are changed. Running simulate at least once unlocks the Request Deposit button.
Deposit Approval Flow
Silver is never deposited automatically — it requires a two-step approval process.
Step 1 — Request Deposit (Event Manager)
/event finance request-deposit [event_id:<id>]
Requires simulation to have been run first. Sends a deposit summary to the Validation Channel with Approve and Reject buttons, and posts the request info in the forum thread.
Step 2 — Approve or Reject (Event Validator)
| Action | Result |
|---|---|
| ✅ Approve | Silver is credited to each participant's balance. Confirmation is posted in the forum thread. Deposit status becomes Deposited. |
| ❌ Reject | Request is cancelled. The manager is notified in the forum thread and can correct data and request again. |
/balance.
Cancel a pending request
/event finance cancel-deposit [event_id:<id>]
Use this to cancel a pending deposit request before it is approved, allowing you to correct silver or taxes and re-submit.
Managing Participants
Event Managers can adjust the participant list at any time. Management buttons are also available in the forum thread at the bottom of the participant list embed.
Add Participant Manually
/event manage add-participant user:@user percent:<value> [event_id:<id>]
Useful for members who participated but did not use the Join button (e.g. connection issues, was already in the voice channel).
Remove Participant
/event manage remove-participant user:@user [reason:text] [event_id:<id>]
Edit Participation %
/event manage edit-participation user:@user percent:<value> [reason:text] [event_id:<id>]
Overrides the automatically tracked percentage with a manual value. The manual override is clearly marked in the final report and included in the normalized distribution.
event_id. If you run them inside the event's forum thread, the event ID is detected automatically.
Web Dashboard
The web dashboard provides a read-only overview of all your guild's events. All event actions are performed through Discord — the dashboard is for monitoring and history only.
Accessing the Events page
Open the dashboard → select your guild from the top dropdown → click Events in the sidebar.
/event setup in Discord to configure it before events will appear here.
Statistics cards
Five summary cards are shown at the top of the page:
| Card | What it shows |
|---|---|
| Total Events | Count of all events ever created for this guild |
| Active Events | Events currently in Active status (open for participation) |
| Closed Events | Events in Closed status (roster locked, voice still active) |
| Finished Events | Events that have been fully completed |
| Total Silver Collected | Sum of totalSilverCollected across all events |
Events table
The table lists all events for the guild, most recent first. It includes:
- ID — unique event identifier
- Event Name — name and truncated description
- Created By — Discord username of the manager who created it
- Status — current lifecycle status badge (Active / Closed / Finished)
- Silver Collected — raw silver amount entered via
/event finance add-silver - Taxes — breakdown of guild tax, seller tax, and creator tax as percentage and amount
- Participants — total and active participant counts
- Go To Event — direct links to the forum thread, event embed, or voice channel in Discord
Search and filter
- Search box — filters rows by event name or creator username in real time as you type.
- Status filter — dropdown to show only Active, Closed, or Finished events.
Column sorting
Click any column header with a sort icon to sort the table ascending or descending. Sortable columns: ID, Event Name, Created By, Status, Silver Collected, Participants.
All Commands Reference
Main Commands (Event Manager)
| Command | Description |
|---|---|
/event setup | Configure the Event System (Admin only) |
/event create | Create a new event (must be in a voice channel) |
/event close [event_id] | Close event to new participants (keeps voice channel) |
/event finish [event_id] | Fully end the event and generate the final report |
/event cancel event_id [reason] | Cancel the event without distributing silver |
/event list [status] [limit] | List events filtered by status (up to 50) |
/event info event_id | Show detailed info about a specific event |
/event participants event_id | Show the full participant list for an event |
/event config | View the current Event System configuration |
Finance Commands (Event Manager)
| Command | Description |
|---|---|
/event finance add-silver amount [event_id] | Set the total silver collected for the event |
/event finance set-taxes [guild_tax] [seller_tax] [buyer_discount] [creator_tax] [repair_fees] [event_id] | Configure tax percentages and flat deductions |
/event finance simulate [event_id] | Preview silver distribution without depositing |
/event finance request-deposit [event_id] | Submit deposit for validator approval |
/event finance cancel-deposit [event_id] | Cancel a pending deposit request |
/event finance status [event_id] | Check the financial status of an event |
Manage Commands (Event Manager)
| Command | Description |
|---|---|
/event manage add-participant user percent [event_id] | Manually add a participant with a set percentage |
/event manage remove-participant user [reason] [event_id] | Remove a participant from the event |
/event manage edit-participation user percent [reason] [event_id] | Override a participant's tracked percentage |
Troubleshooting
| Problem | Solution |
|---|---|
| Cannot create event — "Not Configured" error | Run /event setup and ensure all 6 items are configured, then click Finish Setup |
| Cannot create event — "Must be in a voice channel" | Connect to any voice channel before running /event create |
| Cannot join event — "Not in a voice channel" | Connect to any voice channel before clicking the Join button |
| Maximum 3 events limit reached | Finish or cancel at least one active/closed event before creating a new one |
| Voice channel was not created | Check that the bot has Manage Channels permission in the configured Event Category |
| Forum thread was not created | Check that the bot has Manage Threads and Create Posts permissions in the forum channel |
| Request Deposit is not available | Run /event finance simulate first — simulation must be completed at least once |
| Validators not receiving deposit requests | Verify the Validation Channel is correctly set in /event setup and validators have the configured role |
| Participant percentage seems incorrect | Check if 🚀 Start Event was used. If not, time is counted from voice channel creation. Use /event manage edit-participation to correct percentages manually |
| Finance commands say "Event ID not identified" | Run the command inside the event's forum thread, or add event_id:<id>. Find the ID with /event list |