LFG & Groups
The looking-for-group system is the heart of the bot. Members create groups, the bot broadcasts them to the right channels, and compatible players are matched and joined together.
Groups
A group is tied to a game and a set of chosen filters. Members create one with the /lfg command (or its full name, /create-group) in any text channel, or with the Create Group button in a configured LFG channel. At any moment a group is in one of these states:
- Searching — actively looking for more players. The bot shows a magnifying-glass indicator and posts a live LFG message.
- Paused — temporarily not looking.
- Full — the group hit its player limit and locks; broadcasting stops.
While a group is searching, the bot posts and continually refreshes an LFG message in the relevant channel describing the group — game, filters, current members, and a one-click join link — alongside a control panel.
The control panel
Members drive the group with buttons:
- Start LFG / Pause — toggle searching on and off
- Get invite — grab an invite link to the group's voice channel
- LFG ping — ping the game's role for this group (if enabled)
- Schedule — turn this into a scheduled session
- Player settings — set your own attributes (e.g. your rank)
- Mute suggestions — stop recommendation nudges
Searching automatically expires after a timeout (30 minutes in production) so the channel doesn't fill with stale posts, and an empty group is cleaned up on its own. When that happens the owner gets a DM and a message in the group channel, each with a Start Search button to resume — so a pause is never silent. Groups that are already full are locked instead of paused.
Thread-only groups that have been idle for 24 hours are finished automatically, since they have no voice channel emptying to close them.
Reserved slots
A group owner can hold blank slots for friends so randoms don't fill them — ➕ Reserve a slot / ➖ Free a reserved slot in the Search Settings dropdown.
- Reserved slots count as filled: they reduce open capacity, block joins, and lower the voice channel's user limit.
- Filling the last free slot flips the group to full (🔒) and stops the search; Start Search is refused while it's full by reservation.
- The public post and panel show a
🔒 N reserved slot(s)line and the adjusted(x/y)count. - Lowering Group Size clamps the reserved count so capacity can't go negative.
Staying visible (auto-bump)
If a group's LFG message scrolls too far down a busy channel, the bot automatically re-posts it so it stays visible.
Matchmaking
When a group broadcasts, the bot doesn't just dump it everywhere. It:
- Routes to the most relevant channel(s) by scoring each LFG channel against the group's filters, so posts land where compatible players are looking.
- Recommends compatible players and groups to each other, matching rank-style filters within a tolerance so near-equal players still pair.
The result: members mostly see groups that actually fit what they want to play — right mode, platform, and rank band — instead of scrolling past irrelevant posts.
Open to Join (solo availability)
A player who isn't in a group yet can mark themselves Open to Join for a game — with the /open-to-join command in any text channel, or with the Open to Join button in a configured LFG channel. The bot tracks available players and, when two or more compatible solo players exist, DMs each of them a "group up" card showing who they can team with and a one-click way into a voice channel.
- Availability expires automatically (4 hours in production).
- It clears the moment the player joins a voice channel.
This means solo players don't have to sit in an empty channel hoping — the bot proactively pairs them up.