Discord
Connect your venue's Discord server and XTech will keep its calendar up to date, reach your team wherever they are, and stop resident questions going unanswered when nobody's in-world. Everything here is optional — the system works exactly as before without it.
What it does
Five things, and you can use as few as you like:
- Your events appear in Discord's own calendar, with the DJ's poster as the picture. Members can press Interested and Discord reminds them.
- Cover calls reach people who aren't logged into Second Life — a direct message with a Claim this cover button.
- Staff checks ask your team whether they'll be there, days ahead, and open a cover call the moment somebody says they can't.
- A daily rundown of tonight for your managers.
- Questions residents ask your in-world bot that it can't answer get passed to your staff channel, where anyone can reply straight back to them.
Connecting your server
You need to be the venue owner, and you need permission to add a bot to the Discord server you're connecting.
- Go to Manage Venue → Discord Server and press Connect Discord server.
- Discord asks which server to add XTech to. Pick it and confirm.
- You'll come back to the dashboard, and the card will show your server's name.
The bot appears in your server under your venue's name, not "XTech" — so announcements read as coming from you.
Choosing channels
Two, and both are optional:
| Announcements | Where event notices are posted. Anything you'd be happy for members to see. |
|---|---|
| Staff channel | Cover calls, the daily rundown and questions from residents. Should be a channel only your team can read. |
When you pick a new channel we post one short confirmation into it, so you can see immediately that the bot is allowed to post there. Use Send test posts to check again later.
Pressing Save channels also refreshes the bot's name and its
/ commands in your server, so use it if either ever looks out of date.
Linking your own account
Everything that reaches a person — cover calls, shift checks, reminders — needs that person to link their own Discord account. Each staff member does this themselves:
- My Profile → Discord → Link Discord account.
- Approve on Discord. We ask only for your username and account ID — never your email, your servers, or your messages.
- We send a confirmation direct message so you can see straight away that it works.
The event calendar
Public events are published to your server's Events tab automatically — by default the next 7 days, up to 10 events, refreshed every 15 minutes. Change the time of an event and Discord follows; skip a night and it's cancelled there too.
- Private events are never published. The same Public flag that hides an event from your public board hides it here.
- Nights with an open cover call aren't published until the cover is filled — until then, we don't know who's playing.
- The picture is the event's own poster if you set one, otherwise the DJ's poster. Set a per-event flyer under Event poster when creating or editing an event — pick from the Media Library or paste a texture UUID.
Cover calls
When a cover call goes out, anyone eligible who has linked Discord gets a direct message with a Claim this cover button. One press and the shift is theirs — no login, no browser.
Your staff channel sees the whole story: the call opening, who claimed it, and whether it lapsed unanswered.
Staff checks
A Staff check is a reminder type that asks rather than tells. Add one to an event under Reminders — the + Staff check 2d button adds one two days ahead.
Whoever is assigned gets I'll be there / I can't make it buttons on Discord, or a one-click link in-world if they haven't linked. Their answer shows against that date on the Events page.
Saying "I can't make it" opens a cover call immediately — which is the real point. Someone who knows on Tuesday that they can't do Friday no longer has to track down a manager in-world; the call goes out with days left to fill it.
The daily rundown
Under Manage Venue → Notifications → Daily rundown, pick an hour and your managers get one summary of the night: who's on, who's confirmed, unfilled slots, and any cover calls still open with their deadlines.
It goes to your staff channel if you have one, otherwise direct to each manager. Nothing is sent on a quiet night — a daily "nothing to report" is how a summary becomes the thing everyone ignores.
Questions from residents
When a resident IMs your in-world bot something the FAQ can't answer, the bot offers to pass it on. If they say yes, it appears in your staff channel with a Reply button — press it, type an answer, and it arrives as an instant message from your bot, signed with your name.
It needs a staff channel set, and nothing else. Any staff member who can see the channel can answer; they don't need a linked account.
Slash commands
Anyone in your server can use these:
/next | The next event on — or, if you're venue staff with a linked account, your next shift. A night you handed over drops off; one you covered shows up. Not booked? It gives you the venue's next night instead. |
|---|---|
/schedule | The next few events. Staff see the calendar as it really is — private events included, and any night still needing cover flagged rather than quietly left out. |
/ask | Ask about the venue — answered from the same FAQ your in-world bot uses, so both give the same answer. |
/help | What the bot can tell you about. |
Replies are only visible to the person who asked — which is what makes it safe for the same command in the same channel to answer each person about their own shifts.
Privacy & permissions
- The bot cannot read your channels. It has no permission to see messages, and doesn't ask for one. It only sees what is deliberately sent to it — a slash command, or a button somebody pressed.
- We store a Discord username and account ID for anyone who links, and nothing else. No email, no server list, no messages. Unlinking deletes it.
- Other staff can't see your Discord ID — only that you're linked.
- Resident questions are only relayed with their agreement, and are deleted 24 hours later.
- Nothing we send can ping everyone. Mentions are stripped from every message the bot posts, whatever a template contains.
The permissions we ask for are the minimum to do the above: create events, post in the channels you choose, use its own nickname, and pin. It cannot kick, ban, manage roles, or read message history.
If something isn't working
| No events in Discord | Check the events are Public, start within the publishing window, and don't have an open cover call. The calendar refreshes every 15 minutes. |
|---|---|
| Posts stopped appearing in a channel | Its permissions probably changed. Press Send test posts — it names the channel and what to fix. |
| Someone never gets direct messages | They need to be in the server, allow DMs from server members, and have linked their account. Send a test message on My Profile confirms it in one press. |
The bot shows the wrong venue name, or / commands are missing |
Press Save channels — it re-applies both. |
| Buttons say "This interaction failed" | Report it. That's ours, not yours. |