Armquad
Features Getting started News Docs Status Support
Language
FR EN
FR EN
Add to Discord
Documentation

Armquad Documentation

🔖 Version v3.5 changelog →

Everything you need to know to install, configure and run Armquad on your Discord server — commands, modules, and best practices.

Update : August 2026
Contents
  • 01 🚀 Getting started
  • 02 ⚖️ Moderation
  • 03 📈 Levels & XP
  • 04 🎫 Tickets
  • 05 🎙️ Temporary voice
  • 06 📋 Logs
  • 07 🔒 Permissions
  • 08 🎮 Games
  • 09 📬 Private messages
  • 10 🛠️ Utility
  • 11 📊 Live statistics
  • 12 🎁 Giveaways
  • 13 🤖 Automations
  • 14 🎁 Recap & Wrapped
  • 15 🔔 Notifications
  • 16 📰 News
  • 17 ❓ FAQ
  • 18 💬 Support
Welcome to the public documentation for Armquad. This guide covers installing, configuring and using the bot day to day. All configuration happens either via the web dashboard, or via the /setup command directly on Discord.

01 🚀 Getting started

To add Armquad to your Discord server, you need to be an administrator of the server (at least the Manage Server permission).

➕ Add Armquad to my server

Recommended permissions

  • Official invite link (recommended) — it only requests the permissions Armquad actually needs. Administrator is not necessary.
  • Granular (even stricter) — grant at least: Manage Roles, Manage Channels, Manage Messages, Ban Members, Kick Members, Timeout members, Read message history, View audit log.
Tip : The Discord role Armquad must be placed above of any roles it needs to manage (sanctions, autorole, etc.). Otherwise Discord will refuse the action.

First-time setup

  • On Discord: type /setup — a wizard guides you step by step (native Selects).
  • On the web: sign in to the dashboard with your Discord account, pick your server, turn on the modules.

02 ⚖️ Moderation

The full modern moderation toolkit, with persistent history and Discord logs. Every sanction is recorded in the database and visible via /modpanel.

Commands

  • /warn <member> <reason> — Recorded warn + DM notification to the member.
  • /mute <member> <duration> [reason] — Native Discord timeout (formats: 10m, 2h, 7d, permanent).
  • /unmute <member> — Immediately lifts the timeout.
  • /kick <member> [reason] — Kicks the member (can come back on invite).
  • /ban <member> [reason] — Bans permanently.
  • /unban <user_id> — Unbans, with autocomplete of the ban list.
  • /purge <amount> [filtres] — Purges messages (filters: by member, containing text, bots only, humans only).
  • /lock [channel] / /unlock [channel] — Locks or unlocks a channel (removes/restores send permission for @everyone).
  • /modpanel <member> — Full panel: sanction history + one-click action buttons (warn/mute/kick/ban). Also accessible via right-click on a member → Applications → « Moderation panel ».
  • /search <text> [member] [channel] — Searches messages across the whole server (moderation only, private reply).
  • Right-click on a message → Applications → « Report to moderators » — any member can report a message, forwarded to the logs channel.

Native Discord AutoMod

Configured from the dashboard → Moderation. Three native Discord protections:

  • Anti-spam — detects flooding automatically.
  • Anti-mention spam — blocks mass pings (configurable limit).
  • Banned words — Discord preset or custom list.

Custom anti-spam (on top of AutoMod)

A bot-side listener that analyzes every text message. Independent from native AutoMod: both can be enabled at once. Configurable from the dashboard → Anti-spam (off by default).

  • 7 rules detected : flooding (N messages in X s), excessive mentions, emoji spam, caps lock, duplicates, Discord invites, external links (optional).
  • Escalating actions based on the number of violations over 24h: delete → warn → mute → kick → ban.
  • Bypass : permission manage_messages + configurable exempt roles.
  • Logs : each trigger can be logged to a channel.

03 📈 Levels & XP

A complete, configurable XP system. Encourages activity in your community with rewards (sometimes absurd ones) at every tier.

Commands

  • /level [member] — Shows the level (reply ephemeral by default).
  • /leaderboard — Leaderboard of the most active members, with navigable pages. A 🔍 Search (or /leaderboard member:@X) shows a specific member's rank — private reply, only visible to you.

Members who left the server do not appear in the leaderboard. Their XP is kept — if they come back, they get their place back. This filter can be turned off in the dashboard, Levels section, if you prefer the old display.

Configuration (dashboard)

  • XP per message text XP (with configurable anti-spam cooldown).
  • XP per voice minute (active presence in voice).
  • Ignored channels (the spam, bots, etc.).
  • Mode : text only / voice only / both.
  • Absurd rewards per tier — bot-generated phrases.
  • Level-up announcement style : classic text embed or image card (avatar, level, reward, accent color).
  • Image card theme : 4 background styles (Halo, Night, Aurora, Dusk), confetti on/off, a dedicated level-up color — also applies to the welcome card.
  • Personal color : each member picks the color of their own card via the 🎨 button under /level.
  • Privacy : the 🙈 button under /level removes the member from the leaderboard and stops their level-ups being announced publicly. They keep earning XP and unlocking roles, and still see their own card and position. Reversible at any time with the same button.
AFK detected : if the member is in Discord's AFK channel or muted/deafened, they stop earning voice XP. Logical, but good to know.

04 🎫 Tickets

A complete support system: a panel with a button, the user clicks, a private channel is created. Several independent systems (Support, Reports, Suggestions...) can coexist on the same server, each with its own settings.

Configuration

  • Dashboard → Tickets.
  • Create a system : name, button emoji and label, channel where the panel appears, destination category, one or more support roles, panel message.
  • You can have several systems with different configurations (e.g. Bug, Partnership, Moderation).

Ticket categories

A dropdown menu in each ticket lets the support team categorise it (Bug / Question / Request / Urgent by default). From the dashboard, replace these 4 categories with your own — one per line, format emoji Label. The channel name is automatically prefixed with the active category's emoji, and the menu always shows the current category (no more scrolling through history to find it).

Support roles and per-member limit

  • A system can have several support roles at once — they all get access to the channel, get pinged on opening, and can claim, categorise or close a ticket.
  • Limits the number of tickets a member can have open at once (0 = unlimited, 1 by default) — useful to stop a single user from flooding the category.

Usage

  • The user clicks the panel button → a private ticket channel is created, visible only to them and the support team.
  • Claim — a support member marks themself as handling the ticket (visible to everyone in the channel, a second click releases it).
  • Close — reserved to the support team by default; a dashboard option lets the ticket's author close their own too. Asks for confirmation with an explicit choice: “Close without transcript” or “Close and save”.
  • Transcript recipient — configurable per system: whoever closes it, whoever opened the ticket, or both — in addition to the log channel if set.
  • Transcription — button available at any time while the ticket is open, sent by DM (text file).

Rating after closing

Can be enabled per system: the person who opened the ticket gets a DM with 5 clickable stars + an optional comment once the ticket is closed. Reviews can be posted automatically to a dedicated channel.

05 🎙️ Temporary voice channels

No more creating 15 channels named "Voice 1", "Voice 2"... The member joins a hub, their own channel is created, and deleted when they leave.

Configuration

  • Dashboard → Voice channels.
  • Pick a "hub" voice channel and the destination category.
  • Section Server default settings : the name given to channels (variables {user} and {count}), the default member limit, enabling the control panel and which buttons appear on it.
  • Every hub is expandable and editable : change its destination category, or tick Settings specific to this hub so it gets its own name, limit and buttons — for instance a Gaming hub using 🎮 Squad de {user} capped at 5, and an unlimited Chill hub.
  • Protect higher roles (on by default) : a member whose role sits above the owner's cannot be kicked, blacklisted or purged from their channel.
  • Give “Manage Channel” to the owner (on by default) : turn it off if you unchecked panel buttons — otherwise the owner can rename their channel and change its limit straight from Discord.

Usage

  • The member joins the hub → a personal channel is created: 🎙️ <nickname> by default, or the name you configured.
  • A persistent panel is posted in the voice channel's built-in text chat, with 11 buttons: Open / Lock / Private, Rename / Limit / Kick, Whitelist / Blacklist / Remove, Purge, Transfer.
  • Only the owner can use the panel — it survives bot restarts.
  • When the owner leaves but others remain → auto-transfer to the first remaining human member.
  • The channel is deleted automatically as soon as it becomes empty.

📹 Mandatory camera

  • Dashboard → Voice channels → section Camera required : pick the voice channels where camera is mandatory.
  • Without a camera, the member gets a warning in the voice channel's chat (30 s by default, adjustable) then is disconnected from voice (60 s later, adjustable). The warning is deleted as soon as the situation is resolved.
  • Administrators and members who can move members are exempt.

06 📋 Logs

Logging of important server events, with the responsible party resolved via the Discord audit log (who kicked, who deleted the message).

Three categories

  • Messages — deletions, edits (before/after).
  • Members — joins, leaves, sanctions, role changes.
  • Voice — connections, disconnections, moves between channels.

Configuration

  • Dashboard → Logs.
  • Destination channel + per-category toggle.

07 🔒 Permissions

Advanced permission system — control who can use which command, beyond native Discord permissions.

Precedence (strongest to weakest)

  • Blacklist — forbidden, regardless of anything else.
  • Discord Admin — server admins can do everything (except when blacklisted).
  • Whitelist DB — allowed via the database, even without the Discord permission.
  • Native Discord permission — default fallback.
Tip : Blocking @everyone + and allowing a role = the command becomes restricted to that role. Handy to restrict /purge to moderators.

The command disappears from the picker

The rules don't just refuse after the fact: they are declared to Discord. A restricted command no longer appears in the picker of the person concerned, instead of being offered and then rejected with an error message.

  • Every change is sent automatically. The Re-declare to Discord button replays everything if needed.
  • Server administrators always see every command: that is a Discord rule, not a bot setting.
  • Discord accepts at most 100 roles per command; beyond that, the dashboard says so.
  • The declaration is made with your account, not the bot's (Discord requires it). If you signed in before this feature existed, sign in once more.

Dashboard tools

  • Moderator preset — applies every mod command to a role in one click.
  • View by command or by role (toggle).
  • Stats by category to see what's restricted at a glance.

08 🎮 Games

Three games powered by IA (Groq + GPT-OSS 120B) to liven up your server. No human involvement for topics, judging or definitions — the AI handles everything.

Commands

  • /whoami — AI Guess Who, multi-team, sharp topics generated via Groq.
  • /verdict — Assigned debate judged by AI. You defend your side, even against your own beliefs.
  • /balderdash — Make up plausible fake definitions, bluff the others.
  • /games classement <game> — Top 10 of the chosen game.
  • /games stats [member] — Personal stats (games played, wins, etc.).

09 📬 Private messages to the bot

Many members write to the bot thinking they are reaching their server's team. So the bot first asks who the message is for.

Three destinations

  • 🏠 The team of one of your servers — only servers you are a member of AND whose team has opened an inbox appear. They reply to you in private, on behalf of the server or under their own name.
  • 🤖 Saturnin — the bot's assistant, answering via AI (GPT-OSS 120B on Groq). For a question about the bot, its commands, your setup.
  • 📮 The bot's creator — bug, suggestion, problem with Armquad.

The choice stays valid for 2 hours. !menu changes it at any time.

How Saturnin behaves

  • History : Last 10 exchanges kept in RAM, lost on bot reboot.
  • !reset — Instantly clears the conversation history.
  • Cooldown 3-second cooldown between messages.

For administrators

To receive your members' messages, pick a channel on the Private messages page of the dashboard. Without a channel, the bot does not offer your server. That page groups exchanges by person, shows what is still waiting for a reply, and lets you answer without leaving the browser.

Privacy : a conversation with Saturnin is not stored in the database — it passes through Groq and is then forgotten. A message addressed to a server's team, however, is kept for 90 days so that team can find it again and reply; it is purged automatically afterwards, and erased immediately if you exercise your right to erasure. A copy of all private messages is also kept by the Armquad team. Details in the privacy policy.

10 🛠️ Utility

The handy everyday commands.

  • /help — Help panel tailored to your permissions (hides what you can't use).
  • /avatar [member] — HD avatar of a member (full zoom).
  • /userinfo [member] — Detailed info: account, roles, presence, badges. Restricted to members with "Manage Server".
  • /serverinfo — Server info: members, channels, boost, owner, verification level, default notifications. Restricted to members with "Manage Server" since it exposes the server's configuration.
  • /poll <question> <opt1> <opt2> [opt3] [opt4] — Interactive poll (multi-vote, anonymous, optional timer).
  • /slowmode <seconds> [channel] — Enables or changes slowmode.
  • /armquad — Info about the bot (version, latency, host, links).
  • /send [channel] [edit_id] — Compose a message or rich embed directly from Discord, with several role buttons and link buttons on the same message. Interactive panel: title & text, color & image, embed/text format, adding and removing buttons. edit_id lets you re-edit a message the bot already sent.

For a more comfortable composing experience (live Discord-accurate preview, multi-embeds, markdown, templates), the Messages dashboard page does the same thing, richer: a single message can carry a full embed, role buttons and link buttons together, both when sending and when editing.

Two recent additions: images from your computer — a “Browse” button next to the image fields; the file travels with the message and Discord hosts it (nothing is stored on the bot's side) — and free layout which lets you place buttons between embeds instead of leaving them all at the bottom: each button gets a position. A message sent in this mode can never be turned back into classic embeds, which is why you must switch it on explicitly.

11 📊 Live statistics

Displays key server numbers live (members, in voice, boosts…) as renamed voice channels orembeds that update automatically.

Available counters

Over 15 types, grouped into 3 categories:

  • 👥 Members — total, humans, bots, online, holding a role.
  • ⚡ Activity — in voice, joins in 24h, joins in 7d.
  • 🏰 Server — boosts, boost level, text/voice/total channels, categories, emojis, server age.

Two display modes

  • 🔊 Renamed voice channel — a channel takes on the name 👥 1 234 members. Ideal at the top of the channel list.
  • 💬 Embed in a text channel — a persistent message edited periodically. Several counters sharing the same channel are grouped into a single embed.

Customization

  • Each counter has its own template ( e.g. 🎮 {count} players online ).
  • Refresh interval configurable: 5, 10, 15, 30 or 60 min.
  • The bot skips updates when the value hasn't changed — no wasted quota.

Configuration

  • Dashboard → Statistics to manage every counter.
  • Or /setup → Server statistics for a quick start.

Discord limits to know about

  • Discord limits channel renaming to 2 renames every 10 minutes per channel — hence the 5-minute minimum interval.
  • The embed mode is more permissive (message edit). If you want lots of counters, prefer this mode.
  • The Online members counter depends on the Presences (intent (already enabled on Armquad)).

12 🎁 Giveaways

Contests and prize draws, with a entry button in the embed. Winners are drawn automatically at the scheduled time.

Starting a giveaway

  • /giveaway start prize:"1-month Nitro" duration:24h winners:1
  • The bot posts an embed with the 🎉 Enter.
  • Click the button again to withdraw.

Built-in templates

8 ready-made pro templates (Express, Premium Drop, Weekend, Birthday, Boost Reward, Active Community, Flash 15 min, Marathon). Use the template: option on the command, or click in the dashboard to copy a ready-to-paste command.

Custom templates

  • Create your own templates in the dashboard (prize, duration, conditions, color).
  • Duplicate a pro template to edit it.
  • Great for recurring giveaways (weekly drop, monthly anniversary, etc.).

Entry conditions

  • Required / excluded roles — restrict to targeted members.
  • Minimum XP level — reward activity (leveling integration).
  • Bonus entries per role (boosters × 2, VIP × 3, etc.): each eligible member counts for N entries in the draw.

Management

  • /giveaway list — see active and recent ones.
  • /giveaway end — end it now (immediate draw).
  • /giveaway reroll — redraw another winner (previous ones are excluded).
  • /giveaway cancel — cancel without drawing.

13 🤖 Automations

A powerful system to create your own slash commands and automatic actions (birthdays, welcome series, weekly digest, quote of the day, etc.) without touching any code.

Architecture: Trigger + Conditions + Actions

Each rule combines:

  • A trigger (what starts the action): slash command, daily/weekly schedule, a member joining/leaving, a member's birthday, level reached.
  • Conditions (optional): required/excluded roles, XP level, per-user cooldown, whitelisted channels.
  • Up to 5 actions chained: reply with text/embed, post in a channel, DM, give/remove roles (with optional duration), increment a counter, random pick, give XP.

Comparing roles, beyond “at least one”

The role condition carries an operator: has at least one, has all, doesn't have all, has none, plus five comparisons on the NUMBER of ticked roles the member holds: exactly, at least, at most, more than, fewer than.

A concrete example: a server with three guilds on the same game. “Has at least one” targets any guild member; “has exactly 1” rules out those in several; “has none” targets players without a guild.

A cascade of roles in a single action

The Role added trigger combined with the Give roles action covers the most common need: when a given role is assigned, the others follow on their own. The action takes several roles at once — no need to chain one per role, and Discord only sees a single request.

Variables available in your text

All text (replies, embeds, DMs…) supports variables that get substituted at runtime:

  • {user}, {user.name}, {user.mention}, {user.id}
  • {member} — the member targeted by the <member>
  • {server}, {server.name}, {server.count}
  • {channel} and {channel.name}
  • {date}, {date.day}, {date.month}, {date.year}, {time}
  • {text} — the <text> argument of the slash command
  • {counter:nom} — value of a named counter you increment
  • {random:a|b|c} — inline random pick within the text

Example: an automatic /birthday

  1. Members set their date with /birthday set day:25 month:12.
  2. You create a rule of type A member's birthday in the dashboard.
  3. Action 1: Send to a channel → a festive embed "Happy birthday {member}!"
  4. Action 2: Give a role → "Birthday" for 24h (1440 min).
  5. Every day at 9:00 AM, the bot checks and runs the ceremony for each birthday of the day.

Discord limits

  • 100 slash commands max per server.
  • 200 changes per day per server (sync rate limit).
  • Fixed signature for custom slash commands: 2 optional options, <member> and <text>.
  • Reserved names: a hardcoded blacklist prevents creating /ban, /setup, /help, etc.

14 🎁 Recap & Wrapped

A single module — Recap & Wrapped — powers two things: the personal wrap-up of a member (/mywrapped) and the weekly recap auto-posted for the server. Everything is set up in Dashboard → Recap & Wrapped.

🎁 Personal wrap-up — /mywrapped

A "Wrapped"-style recap (Spotify-like) of a member's stats. By default everyone sees their own; admins can allow /mywrapped member:@X.

Admins choose which blocks appear:

  • 📊 Text activity — level, XP, rank, messages, favorite channel and time, active days.
  • 🎤 Voice — total time and average per active day.
  • 🎁 Giveaways — entries and wins.
  • 🛡️ Moderation — sanctions received and given (if a mod).
  • 📅 On the server — join date and tenure.

📅 Weekly recap

The bot automatically posts a recap in the chosen channel, on the configured day and time. A ritual that brings members back.

Each section can be turned on or off independently:

  • 📈 Activity — messages, active members, peak hour.
  • 🏆 Top contributors and 💬 Top channels.
  • 🔊 Voice — total time + top members.
  • 👋 Movement — joins / leaves for the week.
  • 🛡️ Moderation — sanctions for the week.
  • 🏅 Records & peaks — most active day, peak hour, record voice day.
  • 😄 Top reactions — most-used reaction emojis.
  • 📈 XP progress — level-ups for the week.
💡 Testing it : /recap apercu (admin) shows last week's recap without posting it; /recap maintenant sends it right away to the configured channel.
ℹ️ Good to know : the Top reactions and XP progress sections start filling in from the moment they're enabled — no retroactive history.

15 🔔 Notifications

The bot watches external sources and announces new content in the channel of your choice. Everything is set up from Dashboard → Notifications — no commands needed.

Two families, don't mix them up

The five services don't work the same way, and that's the most useful distinction to keep in mind:

Subscriptions — you pick who to follow

You add a list of sources; the bot tells you as soon as one of them posts.

  • YouTube — a channel's new video. Accepts an ID, a URL or an @handle (checked every ~5 min).
  • Twitch — a streamer going live (checked every ~3 min).
  • RSS feeds — a new post from any site, blog or podcast (checked every ~10 min).

Free games — dedicated page

Free games have their own page: nothing to list, the bot watches the stores for everyone, you only pick the channel.

  • Epic Games Store — the games given away each week.
  • Steam — free games and DLC (you choose what gets announced).
  • GOG — games given away on GOG, same settings as Steam.

Shared settings

  • A announcement channel and a role to mention per service.
  • The destination can be a forum post rather than a channel: several feeds then fit inside a single forum instead of each taking up its own line in the sidebar. Active posts appear in the menu, under their forum's name.
  • A customisable message with the variables {role}, {name}, {title} and {url}. Left as-is, only the embed is sent.
RSS feeds : only public http(s) addresses are accepted — a local or private address is rejected, so the bot can't be used as a probe into an internal network. A feed's very first check posts nothing: it records the current state, otherwise your channel would receive the site's entire history at once.

16 📰 News

The bot's news (updates, features, fixes) is published on armquad.xyz/news, in French and English depending on your browser's language.

  • Every major announcement is also automatically relayed to the support Discord server.
  • The current version number is shown at the bottom of this page and via /armquad.

17 ❓ FAQ

The bot isn't responding to my commands?

Check your Discord permissions (required role) and the bot's permissions in that channel (it needs to be able to read and send). On the dashboard, also check the Permissions tab in case the command was restricted.

How do I set up the welcome message?

Sign in at armquad.xyz, pick your server, go to the Welcome. tab. You can compose a rich embed with a live preview.

Is my data sold?

No. No data is ever resold, shared with advertisers, or used for marketing. Full details in the privacy policy.

How do I delete all my data?

Go to My account → button « Delete all my data ». Immediate, irreversible action.

Has the bot crashed?

First check the status at /health (public monitoring endpoint). If the issue persists, contact support.

18 💬 Support

Need help, want to report a bug, or have a suggestion?

  • Support Discord server : discord.gg/qWjME78s79 (fastest)
  • Email : [email protected] (for contacts outside Discord, GDPR, partnerships)
  • Publisher site : armquad.xyz
  • Dashboard : armquad.xyz
  • Technical status : /health (JSON public)

© 2026 Armquad — Built by Armquad

See also : Terms of use · Privacy policy · My account

Armquad

All-in-one Discord bot with a web dashboard. Free, hosted in Europe.

Product
Features News Documentation Statistics Status
Legal
Conditions Privacy
Support
Support the project Discord server Contact us
© 2026 Armquadv3.5
🏠 Home 📢 News 📖 Documentation 📊 Statistics 🛰️ Service status ☕ Support the project 📜 Terms of use 🔒 Privacy ➕ Add to Discord 💬 Discord server
No results.