Finding people to play with across Discord should not require this much effort. LunaLink was built to close that gap, one cross-server command at a time.
Servers are isolated. LFG channels only reach people already in your community. Coordinating across multiple servers means juggling invites, links, and hoping people have DMs open.
If your friends play different games across different servers, finding someone to actually play with on any given night involves a lot of pinging and waiting. Most LFG solutions are either tied to a single server or require you to join yet another community just to find a match.
LunaLink was built around a different idea: what if one bot could sit in all your servers at once, build a shared pool of available players, and let anyone search that whole pool with a single command?
The cross-server search means that when you run /findparty, you are not limited to whoever happens to be in the same server you are in right now. You are searching the full network, and the game search is powered by IGDB, so you are picking from a real database of over 200,000 games with live autocomplete as you type.
The DM relay solves the communication side without requiring a shared server. Once your party forms, the bot becomes the relay point. Everyone talks through their DMs with LunaLink, and messages are forwarded to the whole party. No server invites. No sharing personal contact details. Just coordination.
Beyond that, LunaLink handles scheduling so you can set up a party in advance, /lookingfor notifications so you get a DM the moment your game goes live, and a server discovery board where communities can advertise themselves by game. Reporting keeps bad actors flagged, and Patreon-linked premium manages itself automatically at both the individual and server level. The goal was to make the whole process from “I want to play something” to “I am in a party with people” as short as possible.
The whole flow takes less than a minute once the bot is in your server.
Invite the bot to your server. No configuration needed. It starts listening for commands immediately.
Run /available to open an interactive form. Search your game via IGDB, pick your mode, party size, and expiry, then hit Go Live.
When a player hits Join on your listing, both of you get a DM from LunaLink setting up the party relay.
Message LunaLink directly to talk to your party. Everything gets relayed. No shared server needed.
LunaLink is a Node.js bot with a SQLite database, IGDB integration for game data, and a live admin dashboard.
The bot runs as a single persistent Node.js process, managed by PM2 in production for automatic restarts and logging.
Uses V2 components, slash commands with autocomplete, button and select menu interactions, and DM channel partials for reading direct messages.
All listings, party members, usage records, premium accounts, reports, and scheduled parties are stored in MongoDB via Mongoose, shared between the bot and the admin dashboard.
Game search and autocomplete are powered by IGDB. /randomgame also pulls live from IGDB filtered by rating and popularity.
Users link their Patreon account via /linkpatreon for individual premium. Server owners can run /claimserverpremium to boost every member in their server. Both tiers sync automatically with Patreon subscription status.
LunaLink runs on a private VPS. The live dashboard is at stats.lunalink.uk.
Add LunaLink to your server and see how fast you can fill a party.
Add LunaLink to Discord