Guild Management Bot for Strategy Games
Guild Pro Bot is a Discord bot for managing strategy game guilds. It handles member verification, activity tracking, Excel-powered player statistics, growth tracking, alerts, migration applications, and more — all configurable from a web dashboard.
Every guild gets its own independent configuration and data. Supports both prefix commands (&) and slash commands.
Members bind their in-game Player ID to Discord via &bind + screenshot. Officers approve/reject via embed buttons.
Automatically removes the Unverified role and assigns the Verified role upon approval. Configurable per-guild.
Upload Excel exports from the game to track each member's power, merits, donations, build time, and help over time.
Interactive growth charts, top gainers leaderboard, guild-wide trend graphs with sparklines, and automatic weekly leaderboards.
Auto-detects power drops and donation stagnation. Configurable threshold and period. Runs every 24 h, silent on clean days.
Tracks Discord message activity streaks per member. Identifies and alerts about inactive members with optional DM notifications.
Officers can attach private notes to any member. Useful for behaviour history, recruitment notes, or officer handover.
Let new players apply to join your guild through a public web page. Officers review and approve or reject applications directly in Discord.
Full-featured dashboard at guildprobot.com for configuration, member management, data uploads, and insights — no coding required.
Invite Guild Pro Bot to your Discord server. Grant at minimum: Manage Roles, Send Messages, Embed Links, Attach Files, Read Message History, Add Reactions — or simply Administrator.
Go to Server Settings → Roles and drag the Guild Pro Bot role above your Unverified and Verified roles. Discord enforces a strict hierarchy — a bot cannot manage roles ranked above its own, even with Administrator. Skipping this means verification completes but roles won't be assigned/removed.
&setup or Use the DashboardUse the interactive &setup command in Discord — it opens a wizard with two sections:
Alternatively, configure everything from the Configuration tab on the web dashboard at guildprobot.com/guild/.
Members run &bind <player_id> in the bind channel and upload a screenshot of their in-game profile. Officers see a pending embed with ✅ Approve / ❌ Reject buttons. On approval:
In the game, go to Game Tools → Realm Members → Export Settings and select: Current Power, Historical Highest Power, Total Merits, Alliance Donations, Build Time, Alliance Help. Export and upload the .xlsx file in the Player Data tab of the dashboard.
elite-warriors)guildprobot.com/apply/your-slugLogin at guildprobot.com/login with Discord OAuth. You must have the Admin role in the server to access guild settings.
&bind + approval&bind to a specific channel (optional)Upload .xlsx exports from the game and the bot tracks every player's stats over time, enabling growth charts, leaderboards, and alerts.
Go to Game Tools → Realm Members → Export Settings and select these columns before confirming:
Missing columns are reported as warnings after upload — the file will still import with available data.
All players from the file are imported. Verified (bound) players get full Discord-linked features. Unverified players appear on the dashboard with a ⚠️ badge and are excluded from Discord commands. Once they run &bind and get approved, they automatically gain access to all stats commands.
The bot compares the latest snapshot against N days ago. Players are flagged if:
The check runs every 24 hours and only posts when there's something to report. Configure with &setalerts and &setalertschannel.
All commands support both the & prefix and / slash commands. Use &help in Discord for the interactive help menu with category buttons.
&help [command] — Interactive help menu. Add a command name for detailed info.&bind <player_id> — Start verification: link your Discord to your in-game Player ID and upload a screenshot.&myid [player_id] — View your own verification status. Admins can pass another user's ID to check theirs.&info — Show bot version, guild tier, and quick stats.&pending — List all pending verification requests awaiting approval.&unbind [@user | player_id] — Remove a member's verified bind (Members Management + Admin).&bindchannel set #channel — Restrict &bind to a specific channel.&bindchannel clear — Allow &bind in any channel.&bindchannel status — Show current bind channel setting.&setup — Open the interactive setup wizard (Core + Stats sections).&stats — Server-wide verification statistics dashboard.&activity — Show current activity module status.&activity setchannel #channel — Set the channel for activity reports.&activity setinterval <hours> — Set how often the activity check runs.&activity setdm on|off — Toggle DM notifications to inactive members.&activity run — Run the activity check immediately.&activity streaks [limit] — Show top activity streaks leaderboard.¬e add @user <text> — Add a private note to a member.¬e list @user — View all notes for a member.¬e delete <note_id> — Delete a note by its ID.&playerstats [@member | player_id] — Full stats embed: power, merits, donations, growth delta, rank.&profile [@member | player_id] — Comprehensive profile card with rank, verified status, and growth.&history [@member | player_id] [limit] — Snapshot history list (default 5, max 20).&growth [@member | player_id] [days] — Interactive growth chart with buttons: 7d / 30d / 90d / All, toggle power/merits. Generates a Matplotlib chart.&compare <player1> <player2> — Side-by-side stat comparison with 🏆 winner per category.&leaderboard [stat] [limit] — Guild leaderboard. Stats: power, merits, donations, buildtime, help. Aliases: &lb, &top.&alliance — Guild-wide aggregated totals. Alias: &guild_stats.&summary — Upload overview: total snapshots, last upload date, player count.&weekly — Post the weekly multi-category leaderboard immediately. Alias: &weeklyleaderboard.&setweeklychannel #channel — Set channel for automatic weekly leaderboard (auto-posts every 7 days).&setalertschannel #channel — Set the channel for automatic power/donation alerts.&setalerts [power_drop_pct] [check_days] — Configure thresholds (defaults: 5% drop, 7-day window).&alerts — Run the alert check now and preview results.&migration — Show migration module status and current apply URL.&migration list [status] — List applications by status: all, pending, posted, approved, rejected.&migration view <id> — View full details of a specific application.&event — Show all event commands and their usage./event-create — Create a new event via a modal: enter title, description, date, time, and an optional image URL. Posted as a Discord embed with a sign-up button./event-edit <event_id> — Edit an existing event that has not yet started or been cancelled./event-list [status] — List events. Defaults to upcoming (ACTIVE / REMINDED). Optional status filter: ACTIVE, REMINDED, STARTED, CANCELLED./event-cancel <event_id> — Cancel a scheduled event.&diplomacy list — List all alliances and their current status.&diplomacy add <name> [status] — Add a new alliance. Status options: allied, friendly, neutral, nap, hostile, war (default: neutral).&diplomacy set <alliance_id> <status> — Update the status of an existing alliance.&diplomacy delete <alliance_id> — Remove an alliance record.&treaty add <alliance_id> <type> <terms> — Attach a treaty to an alliance. Types: Peace Treaty, Non-Aggression Pact, Trade Agreement, Military Alliance, Defense Pact, Custom.&treaty list [alliance_id] — List all treaties, optionally filtered to a specific alliance.A member runs &bind <player_id> in the bind channel and uploads a screenshot of their in-game profile. The bot posts a pending embed in the log channel with Approve/Reject buttons. An officer clicks Approve → bot removes the Unverified role, assigns the Verified role, logs the event, and DMs the member.
The Guild Pro Bot bot role is ranked below your Verified/Unverified roles in Server Settings → Roles. Discord blocks bots from managing roles above their own position. Drag the Guild Pro Bot role above those roles and it will work immediately.
The member receives a DM with the rejection reason. They can resubmit using &bind again after correcting the issue.
In-game: Game Tools → Realm Members → Export Settings. Select: Current Power, Historical Highest Power, Total Merits, Alliance Donations, Build Time, Alliance Help. Hit Confirm, then export the file. Upload the .xlsx on the Player Data tab.
The dashboard shows everyone imported from the Excel file — even players who haven't bound their Discord yet. They're marked ⚠️ Unverified and excluded from Discord commands. Once they &bind and get approved, they turn ✅ and gain full command access automatically.
Weekly is ideal. Every upload creates a timestamped snapshot. More uploads = more granular growth charts and better alert accuracy. Use &summary to see when the last upload happened.
Every 24 hours the bot compares each player's latest snapshot to their snapshot N days ago (configured via &setalerts). If power dropped more than your threshold OR donations are zero for the period, the player is included in the alert embed. Nothing is posted on clean days.
&setup and the dashboard?&setup opens an interactive Discord wizard with two sections — Core (roles, channels, modules) and Stats (weekly/alerts channels). The web dashboard provides the same settings in a full GUI with additional tabs for member management, player data, migration, and insights. Both sync to the same configuration.
Lets new players apply to join your guild through a public page at guildprobot.com/apply/<your-slug>. Applicants sign in with Discord and submit their stats. Officers receive an embed in the Migration Channel with Approve/Reject buttons. Applicants get a DM with the outcome and any officer note.
Go to guildprobot.com/login and sign in with Discord OAuth. You need the Admin role in the server to access guild settings.
Yes. Each Discord server has its own fully independent configuration, member database, and player data history.
Join the support server: discord.gg/mxJScU6d7u
Join our Discord community for support, bug reports, and feature requests: