Docs / Discord bot
Discord bot

Your linkshell, in your server

Standings, DKP, events, auctions, and HNM windows, answered with a slash command. Same numbers as the website, no tab-switching.

Add Lootryx to your server

Sign in, open your linkshell's Settings, and connect Discord in one step: the bot joins already bound to your shell, so standings, events, and RSVP buttons answer with your data from the first command.

  1. Sign in with Discord at lootryx.com.
  2. Open your linkshell's Settings.
  3. Select Connect Discord and approve the install.

What it is

The Lootryx bot reads from the same database as the web app, so what you see in Discord and what you see on the site never disagree. It is a console: almost every command just shows you something. Only /event is interactive, posting an event with buttons people can click.

Times are rendered with Discord’s own time tags, so a countdown like “closes in 12 minutes” stays correct in each person’s own timezone without the bot re-posting anything.

One bot, every server

A single Lootryx bot deployment serves every connected linkshell: each Discord server is bound to exactly one shell, and commands answer from that shell’s data only, never another server’s.

Sign in and open your linkshell’s Settings to add the bot to your server and bind it in one step: go to your linkshells.

How attendance works

RSVP is intent, not attendance

/event posts an event with five buttons: Attending, Bench, Late, Tentative, and Absent. Tapping one records that a member plans to show up (or not) and updates the counters and the attending list right there in the post.

Clicking a button never awards DKP. An RSVP is a heads-up, nothing more. DKP for showing up is only ever awarded from a verified in-game presence check, not from a button press. So the buttons tell your officers who intends to come, and the game itself confirms who actually did.

Reference

Every command

The bot ships these commands today. If a command is not on this list, the bot does not have it yet. Reads commands show information; Posts commands add something new to the channel (an event, a poll, an announcement, a public roll). Options in <angle brackets> are required; options in [square brackets] are optional.

DKP

/standings[pool]The top 10 members by current DKP.Reads
/dkp<character>One character’s DKP: balance, total earned, total spent.Reads
/myjobs[first] [second] [third]Declare the jobs you can bring, so officers can plan around them. Replies privately.Reads
/mydkpYour own DKP: balance, total earned, total spent, and your rank. Replies privately.Reads

Events

/eventsUpcoming events, soonest first, in each viewer’s local time.Reads
/event[id]Posts an event with RSVP buttons. Leave the id blank for the next one.Posts
/create<title> <when> [type] [points]Create a scheduled event and post it with RSVP buttons (officers only)Posts
/delete<event>Soft-delete a scheduled or cancelled event (officers only, recoverable on the web app)Reads
/quickcreate<profile> <when> [title]Instantiate a saved event profile at a given time and post it with RSVP buttons (officers only)Posts
/export[what]Sends the shell’s events or attendance back as a CSV file. Officers only.Reads
/signup<event> <status> [job] [subjob]Signs you up for an event by name, no need to hunt for the RSVP post. Replies privately.Reads
/signed[id]Who has signed up to an event, grouped by status.Reads
/unsigned[id]Active members who have not answered an event yet.Reads
/nudge[event]Pings the members who still have not answered. Officers only.Posts
/poll<question> <options> [hours] [cap]Posts a poll with vote buttons; tallies update live as people vote.Posts
/timepoll<question> <slots> [hours] [autocreate]Posts a poll for the best time; the winning slot creates the event automatically.Posts

Statics

/staticsRecruiting statics in this linkshell, their open jobs and weekly schedules.Reads
/static<static>View one linkshell static's schedule, roster, and applicationsReads
/seekersMembers looking for a static, with the jobs and hours they can bring.Reads
/matchesYour ranked matches, both ways: statics for you, and seekers for yours.Reads
/mystaticsReview statics you host and applications you sentReads
/seek[main]Builds your seeker profile so statics can find you. Replies privately.Reads
/unseekStop seeking and remove yourself from the static seeker boardReads
/recruit<title> <content> [seats]Create and post a recruiting linkshell staticPosts
/apply<static> [role] [job]Apply to a linkshell static, or join one with open-joinReads

Treasury

/auctionsOpen loot auctions and when each one closes. Bid amounts stay sealed.Reads
/bankWhat the guild bank holds, with totals for items and sellable gil.Reads
/bountiesOpen bounties, the DKP each pays, and how many slots are left.Reads
/lootRecent drops and who they went to.Reads
/wishlist[add] [remove] [priority]The items you are hoping for, and add or remove one. Replies privately.Reads
/prebid[item] [max]Your sealed maximum bids. Nobody else can see them, including officers.Reads
/currencyThe shell’s currency treasury by denomination, in stock and flowing.Reads

HNM

/windowsLive HNM spawn windows and which ones are open now.Reads
/tod<target> [minutes] [correct]Records a time of death and moves the window. Officers only.Reads
/item<name>Looks up any FFXI item: category, slot, level, jobs, and where it drops.Reads

Account

/rosterActive member counts by role.Reads
/macrosHow to edit your FFXI macros on the web, and how many books are syncedReads
/whoamiYour Lootryx identity: role, main character, DKP. Replies privately.Reads
/linkHow to link your Discord account to Lootryx. Replies privately.Reads
/shellapplyApplies to join this linkshell, if it is accepting applications.Reads
/applicationsPending join requests waiting on review. Officers only, replies privately.Reads
/announce[message] [title] [event] [template]Posts an officer announcement to the events channel, or here. Officers only.Posts
/helpLists the commands the bot has.Reads

Fun and help

/roll[max] [for]Rolls dice (0 to 999 by default), publicly. Optional max and a reason.Posts
/timestamp<when> [timezone]Turns a time into Discord timestamp tags, correct in every reader’s own timezone.Reads
/timer<when> [timezone]Posts a live countdown that ticks down for everyone watching.Posts

Most Reads commands post their answer where you run them, so the whole channel sees it. A handful reply privately instead, because the answer is personal or officer-only: /mydkp, /whoami, /link, /signup, /apply, /applications, plus the note when /dkp cannot find a character and the nudge when someone who has not linked taps an RSVP button.

Trust

Privacy and GM safety

The bot is built to be safe to run in an FFXI community and easy for a GM to audit.

  • It reads no message content. It uses only Discord’s basic connection, the same one slash commands and buttons need. It cannot read your channels’ chat.
  • It takes no in-game actions. It only shows information and records button clicks. It never touches the game.
  • Bids stay sealed. /auctions tells you an auction is open, its tier, and how many bids are in, but never what anyone bid. Bidding itself happens on the web app.