Documentation

Every command, option and limit in ZT Plush, with who can use it and whether it is free or needs Plush+. Current for v3.8.9.

The Road Ahead

Getting Started

Three steps to get ZT Plush running in your server:

  1. Click the invite link and choose your server.
  2. Authorize the requested permissions: Kick Members, Ban Members, Moderate Members, Manage Roles, Manage Channels, Manage Messages, View Audit Log, plus the basics for sending (Send Messages, Embed Links, Attach Files, Add Reactions, Use External Emojis, Read Message History, Send Messages in Threads) and for voice (Connect, Speak, Use Voice Activity).
  3. In any channel, run /info bot for a full feature overview, or /help for category-organized commands.
First-time tip: Run /config to see every setting at a glance. The Server Owner should map staff roles to tiers with /config staffrole. The built-in tiers are owner, senior, mod and helper, and you can add your own on the dashboard's Permission Tiers page. This unlocks the permission system across every feature.

Setup Panels (/config)

/config opens a setup panel for each part of your server: welcome messages, tickets, counting, logs and more. The panels replace the old setup commands. /config needs Manage Server to show up.

How panels work

  • Run /config overview to see every setting at a glance and jump to one from a menu, or open a panel directly, like /config welcome.
  • A panel is a private message only you can see, with buttons and menus. Everything saves immediately. There is no Save button.
  • A panel stops responding after 10 minutes without use. Run the command again for a fresh one.
  • Permissions are checked on every press, not only when the panel opens. If your role changes, or the feature is paused, the panel says so instead of failing quietly.
  • Each panel checks who may use it, and the table shows what. Most need a staff tier (Senior+ for most). Some also open for Manage Server instead, and Content mode needs Manage Server. A server can move any permission to another tier.
CommandDescription
/config overviewEvery setting at a glance, with a menu to jump to one panel
/config welcomeWelcome and goodbye channels and messages, and the role new members get
/config boosterBoost thank-you channel and message, plus a role for anyone boosting. Rewards by boost time or count stay on the dashboard.
/config verifyThe verification gate: channel, verified role and rules, then post the message
/config announcementsNews from ZT Plush: on or off, and which channel. Important notices always arrive.
/config languageThe server's language for everything members see
/config birthdayBirthday announcements: channel, optional ping role and message
/config ticketsPost the ticket panel, pick the support role and the transcript channel
/config countingCounting channels and rules: math, what a wrong number does, the same person twice
/config wordchainWord-chain channels and rules: dictionary, chain rule, repeats, same person, minimum length and time limit
/config statsVoice channels that keep their name up to date, like Members: 1,204
/config grabSwitch adding grabbed emoji and stickers on or off. Flipping a switch needs its staff permission (Mod+ by default).
/config moderationAuto-timeout lengths by severity, DMs when someone is punished, and rejoin notices
/config logsThe mod log channel (Manage Server) and the giveaway log channel (Senior+)
/config staffroleStaff tiers: put a role on Owner, Senior, Mod, Helper or a custom tier, or take it off
/config reactionroleReaction role messages: create a panel, add or remove emoji, delete it
/config rolesThe opt-in role picker members open with /roles pick
/config ccCustom commands: add, edit, make random, remove. Restricting a command to a role needs Senior+
/config contentContent mode: Locked or Unlocked, and the sensitive-media rule. Changes are logged.

A few things stay on the dashboard because they need more room: welcome banner images and rotating messages, boost rewards by time or count, custom embeds, and the full permission editor.

Content Mode

Content mode decides how relaxed your server is. Every server starts Locked. Only people with Manage Server can change it, with /config content or on the dashboard's Content mode page.

  • Locked (default): clean everywhere. Swearing and crude words are blocked, and sensitive media is blocked everywhere, age-restricted channels included.
  • Unlocked: swearing and crude words are allowed everywhere. Sensitive media follows the media rule below.

Media rule (Unlocked only)

  • Age-restricted only (default): sensitive media only shows in channels Discord has marked age-restricted. Anywhere else the bot says it's flagged and points to an age-restricted channel.
  • Strict: sensitive media is blocked everywhere, age-restricted channels too.

There is no “anywhere” option, on purpose.

Slurs are blocked in every mode. That covers words that demean people for race, ethnicity, nationality, religion, sexual orientation, gender identity or disability, in all seven bot languages. Nobody can turn it off.

What counts as sensitive media? Whatever the source flags: X and Reddit mark posts as sensitive, and some videos report an age limit. If the source doesn't flag something, ZT Plush treats it as normal.

What Locked filters

In a Locked server, swearing and crude words are filtered out of the word lists for Hangman and Word-Chain, out of /quote and the Quote menu, out of the names /grab offers for emoji and stickers, and out of what /fun commands say back. Unlocked servers allow them. Media from /download and /linkembed follows the media rule.

Every change is logged: a line in your mod log channel says who changed it and to what. If no log channel is set, the change still saves.

To see the current setting, run /info server.

Explanation: How Things Work

Before diving into individual features, here's how the recurring patterns work across the bot. Three things show up everywhere: variables, permission tiers, and defaults.

Variables (the curly braces)

Many features let you customize message templates. Anywhere you see {like_this} in a template, the bot replaces it with real values when the message goes out. Welcome and goodbye messages, booster thank-yous, birthday messages, custom command replies and giveaway templates all support them. Scheduled messages and Mass-Tag don't: they are sent exactly as you wrote them.

Common variables — available in most templates that involve a member or guild:

{user}— mentions the user (e.g. @SomeName)
{user.tag}— the user's tag (the plain username on most accounts; older accounts show name#1234)
{user.name}— just the username, no mention
{user.id}— the Discord user ID
{server}— the server name
{server.id}— the server ID
{membercount}— current member count
{date}— today's date in the server's locale
{time}— current time

Feature-specific variables (like {prize} for giveaways or {boostcount} for booster messages) are documented in each feature section. If a variable doesn't apply to the message you're writing, it just gets left as text. The bot won't crash.

Permission tiers

Every command lists its default tier. Everyone means any member. Helper+ means the Helper tier or higher (so Helper, Mod, Senior, and Owner, plus any custom tiers ranked between them). Servers can move any permission to a different tier. See the Permission Tiers section for full details.

Defaults vs. customization

Many features (welcome messages, giveaway embeds, AutoMod responses) work out of the box with sensible defaults. Customizing is optional: leave a field blank in the dashboard and the bot uses the default. So you can try things safely, and half-finished setup won't break anything.

About Plush+ — Some features have a free tier (works for any server) and a Plush+ tier (higher limits, more slots, exclusive features). Plush+ is a one-time $20 per server, no subscription, and lasts for that server. Prices can change as ZT Plush adds features and as hosting and API costs (like DeepL) change. Servers that already have Plush+ keep it. A refund or chargeback ends Plush+ for that server. Discounts come around from time to time.

Permission Tiers

Four built-in tiers come with every server: Helper, Mod, Senior and Owner. You can add up to 15 custom tiers of your own on the dashboard's Permission Tiers page, free. The four built-in tiers don't count toward the 15. Tiers are a ladder: anyone on a tier can do everything the tiers below them can.

Helper+

Light moderation: purge (up to 50), slowmode (up to 5 min), snipe deleted messages (Plush+), skip anyone's song, bypass link scanning.

Mod+

Day-to-day moderation: warn and see warnings, timeout (up to 7 days), kick, change nicknames, lock channels, run giveaways, manage custom commands, send embeds, and switch emoji and sticker adding on or off.

Senior+

Server setup: ban, say, the welcome, booster and other /config panels, tickets, reaction roles, AutoMod settings, quarantine, Mass-Tag, music settings, and the Permission Tiers editor.

Owner

The server owner, Administrators, and roles on the Owner tier: assign staff roles and unban anyone. A Senior can lift a ban they set themselves. A few privacy settings (Message Logger, AutoMod on/off and its response mode) stay with the real server owner.

Custom tiers and permissions

Add a tier like “Lead Mod” or “Trial Helper”, drag it anywhere between the built-in ones, and map Discord roles to it. Every one of the 46 permissions can be pointed at any tier, so you can let Lead Mods ban without making them Senior. Owner always stays on top, and the built-in tiers keep their order.

CommandDescription
/config staffrolePick a tier, then a role to put on it; another menu takes a role off the ladder. Senior+ can look. Changing needs the Owner tier by default, and only tiers below your own.
Nobody can promote themselves. In the editor and in /config staffrole, you can only change tiers, roles and permissions ranked below your own tier. Staff can't moderate anyone ranked above them, and roles on a staff tier are never handed out by reaction roles, the join role, role rewards, verification or booster rewards.
No power roles handed out. The bot never gives out a role that has Administrator, Manage Server, Manage Roles, Manage Channels, Manage Webhooks, Ban, Kick, Timeout or Mention @everyone, whatever it's set up as. And you can only set up roles that sit below your own highest role (the server owner can set up any).

Limits & Fair Use

To keep the bot fast and safe for every server, a few limits are built in. They're the same for everyone and can't be changed in settings.

  • Commands: each member can run about 6 commands every 10 seconds, and each server about 120 a minute.
  • Buttons and menus: about 8 clicks every 10 seconds per member. Big giveaways are fine: there's no server-wide cap on clicks.
  • Dashboard: about 60 changes and 300 page loads a minute per server.
  • Scheduled messages repeat at most every 10 minutes. Role and @everyone pings need the Mention @everyone permission.
  • Custom commands: up to 200 per server. AutoMod allow/block lists: up to 500 entries.

If you hit a limit, the bot asks you to slow down for a few seconds.

Restricted servers

Servers that try to break the bot, spam past these limits, or attack the dashboard can be restricted. A restricted server keeps moderation and Aurora AutoMod, but loses Mass-Tag, giveaways, custom commands and scheduled messages, can't change dashboard settings, and has Plush+ paused. In the most serious cases the bot leaves the server and won't rejoin.

Think your server was restricted by mistake? The server owner can appeal in the support server.

Commands at a Glance

ZT Plush has 19 commands. Related actions are subcommands, so you type /mod warn or /me remind me instead of one command per action. /music and /soundboard add two more in servers where they're switched on.

Type / and pick a command; Discord shows its subcommands and options as you go. In the tables, [brackets] are optional. “Tier” is the default staff tier, which servers can change. “Plan” says whether it's free or needs Plush+.

CommandDescription
/helpBrowse the bot's commands by category
/info <bot|ping|user|server|avatar>The bot, a member, this server, latency and avatars
/me <afk|remind|birthday|masstag|language>Your own settings: AFK, reminders, birthday, language and Mass-Tag opt-out
/fun <8ball|dice|choose|random|coinflip|rps>8-ball, dice, picking, coin flips and rock paper scissors
/games <trivia|hangman|wouldyourather|typingrace|best|leaderboard>Trivia, hangman, would you rather and typing race, with leaderboards
/grab <input>Save a custom emoji or sticker as a GIF or PNG, or add it to your server
/download <url>Download the video or media from a social link
/linkembed <url>Fix a social link's preview so Discord shows a rich embed
/translate <text> [to] [private]Translate text into any DeepL language
/quote <message_id> [channel] [hide_jump]Quote a message in an embed with a jump button
/poll <create|end>Run a poll with 2 to 10 options
/roles pickOpen the opt-in role picker
/privacy <optout|optin|view|export|delete>Export or delete your data and manage opt-outs
/plush <redeem|status|info>Redeem a license key, see this server's Plush+ status, or read what Plush+ unlocks
/embed […]Build and send a custom embed
/giveaway <start|edit|end|reroll>Start, edit, end and reroll giveaways
/mod <warn|warnings|unwarn|timeout|…>Warnings, timeouts, kicks, bans and channel tools
/auroramod <automod|quarantine|modlogs|messagelog|masstag>AutoMod, quarantine, mod log channel, Message Logger and Mass-Tag
/config <panel>Setup panels for every server setting
/music <play|skip|queue|…>Play music in a voice channel (when switched on)
/soundboard <play|list|stop|panel>Play soundboard clips in voice (when switched on)

Plush+ parts: Mass-Tag, Message Logger and /mod snipe, Overseer Logs, Soundboard, saved playlists, audio filters and 24/7 music, Role Rewards, and the bigger limits or extras for translation, reminders, scheduled messages, welcome rotation, stats channels, birthdays and giveaways. Everything else is free, for every server, including the mod log, AutoMod alerts, the giveaway log and ticket transcripts.

Moved Commands

Version 3.8.8 folded dozens of commands into a few. If you're looking for an old one, find it here. Sorted by the new command. Subcommand names are the same unless the row says otherwise.

OldNew
/automod view · toggle · dm · alert_role · response · refresh_threats/auroramod automod
/masstag dm · history · cancel · config/auroramod masstag
/messagelog toggle · post_to_modlog · view/auroramod messagelog
/modlogs set · show · clear/auroramod modlogs
/quarantine view · set · clear/auroramod quarantine
/announcements status · off · on · channel/config announcements
/booster setchannel · setmessage · setrole · config · enable · disable/config booster
/cc add · remove · list · info/config cc
/counting setup · disable · reset · list · settings · stats/config counting
/language server/config language
/reactionrole create · add · remove · list · delete/config reactionrole
/roles add · remove · list/config roles
/staffrole set · remove · list/config staffrole
/stats add · remove · list · refresh/config stats
/verify setup · view · disable/config verify
/welcome setchannel · setmessage · setgoodbyechannel · setgoodbyemessage · setjoinrole · disable · view/config welcome
/wordchain setup · disable · reset · list · settings · stats/config wordchain
/rps/fun rps
/typingrace best/games best
/hangman/games hangman
/trivia leaderboard · /typingrace leaderboard/games leaderboard
/trivia play/games trivia
/typingrace start/games typingrace
/wouldyourather/games wouldyourather
/emoji · /sticker/grab
/avatar · /utility avatar/info avatar
/info/info bot
/utility ping/info ping
/utility serverinfo/info server
/utility userinfo/info user
/afk set · clear/me afk
/birthday set · remove · list · next/me birthday
/language me · /language view/me language
/masstag optout · optin/me masstag
/remind me · list · cancel/me remind
/utility lock · unlock/mod lock · /mod unlock
/utility purge/mod purge
/utility say/mod say
/utility slowmode/mod slowmode
/messagelog snipe/mod snipe

Good to know

  • /roles pick is unchanged. Adding, removing and listing opt-in roles is the /config roles panel now.
  • /me language with no choice shows your language and the server's; with a choice it sets yours.
  • /fun rps with a member starts the two-player game with buttons. Without one you play against me.
  • /games leaderboard asks which game: trivia or typingrace.
  • /info bot is the full command reference, the job the bare /info had.
  • Some panels have no old twin: /config overview, birthday, tickets, grab, moderation, logs and content.

Old prefix names

The prefix versions keep working: zt!warn, zt!ping, zt!purge and the rest still do what they did, and the new names work too (zt!mod warn, zt!games trivia, zt!me afk, zt!info user). The old staff setup names, like zt!setwelcomechannel, zt!ticketsetup, zt!rrcreate and zt!setrole, now just tell you which /config panel to use.

Moderation Commands

Severity-based warnings with auto-escalation. Warnings have three severities: low, medium, high. The bot automatically escalates based on a member's total active warnings.

CommandDescription
/mod warn <user> <severity> <reason>Issue a warning
/mod warnings <user> [page]See a member's warnings, 10 per page. Anyone can look at their own; someone else's needs Mod+
/mod unwarn <id>Remove a warning by its ID. Low: Mod+, medium: Senior+, high: Owner
/mod timeout <user> <duration> <reason>Time a member out for 1 second to 7 days, or up to 28 days for Senior+. Write the length like 30s, 5m, 2h, 1d or 1w
/mod untimeout <user>Remove timeout
/mod kick <user> <reason>Kick member
/mod ban <user> <reason> [duration] [delete_days]Ban a member for good, or for 1 minute to 1 year (see Ban lengths below). delete_days (0 to 7) also deletes their recent messages. A temporary ban is lifted on its own when it ends
/mod unban <user_id> <reason>Lift a ban by user ID. Owner can lift any ban; a Senior can lift a ban they set themselves
/mod purge <amount>Delete 1 to 100 messages (below Mod: up to 50)
/mod slowmode <seconds>Set slowmode from 0 to 21600 seconds (below Mod: up to 5 minutes)
/mod lock · /mod unlockLock or unlock the current channel
/mod say <message> [channel]Make the bot post a message, here or in another channel
/mod snipe [count]Show the most recently deleted messages in this channel, 1 to 10 (Plush+, see Message Logger)
zt!nick @user <nickname>Change someone's nickname (not staff above you)

Ban lengths. A length is one number and one unit, from 1 minute to 1 year: 30m, 12h, 7d, 4w (m minutes, h hours, d days, w weeks), or written out in English like 7days, 7 days and 1 week. Seconds, months, years, decimals (1.5h) and two units (1h30m) are refused with the allowed range, and nobody gets banned. No length means a permanent ban. With the prefix, a length counts only right after the member: zt!ban @user 7d spam. Later in the line, 7d is just part of the reason, and so is anything that isn't a length, like 5x faster or 7dd.

Unbanning. Owner can lift any ban. A Senior can lift a ban they set with the bot, but not one set by someone else or in Discord's own ban list. If the bot was out of the server when a temporary ban ended, it lifts the ban as soon as it is back, as long as that is within 30 days.

Staff can't warn, time out, kick, ban or rename anyone ranked above them on the tier ladder, even if their Discord role sits higher.

Auto-escalation thresholds trigger when total active warnings reach: 3 → automatic timeout, 6 → kick, 8 → ban. Low and medium severity warnings clear when a member leaves; high severity warnings stay across rejoins (a rejoin counts at most 6 of them).

Discord hides /mod from members who lack Moderate Members. To show it to Helpers, allow it for their role in Server Settings → Integrations → ZT Plush. What each subcommand does is still decided by the staff tier.

Every row also works with the prefix, like zt!mod warn @user low spam. The older short names such as zt!warn still work too. zt!ban @user 7d spam bans for 7 days; zt!permban @user spam is always permanent.

Aurora Mod (/auroramod)

/auroramod holds the staff tools that work in the background: AutoMod, the quarantine role, the mod log channel, Message Logger and Mass-Tag. It needs Manage Server to show up, and each subcommand also checks its own staff tier. The sections below explain what each one does.

CommandDescription
/auroramod automod viewCurrent settings (read-only)
/auroramod automod toggle <on|off>Turn AutoMod on or off (Server Owner only)
/auroramod automod dm <on|off>DM offenders on first hit
/auroramod automod alert_role [role]Staff role to ping in mod log
/auroramod automod response <mode>Pick the response: default (escalating), delete_only, delete_warn or delete_ban (Server Owner only)
/auroramod automod refresh_threatsManually update the threat feeds (once every 10 min)
/auroramod quarantine viewShow the current quarantine setup
/auroramod quarantine set <role>Set the quarantine role
/auroramod quarantine clearRemove the quarantine role and all blocks
/auroramod modlogs set <channel>Set the channel where moderation events are logged
/auroramod modlogs showShow the current mod log channel
/auroramod modlogs clearStop posting to a mod log channel
/auroramod messagelog viewCurrent settings
/auroramod messagelog toggle <on|off>Turn on or off (Server Owner only; turning on needs Plush+)
/auroramod messagelog post_to_modlog <on|off>Post each deletion to the mod log too (Server Owner only)
/auroramod masstag dm <role> <message>Send a DM to every member of a role (message up to 1,500 characters)
/auroramod masstag history [page]Recent mass-sends in this server
/auroramod masstag cancel <id>Cancel an in-progress send
/auroramod masstag configShow Mass-Tag limits and today's quota

Mod log channel: AutoMod hits, warnings, timeouts, kicks, bans and unbans, purges, slowmode and channel locks, content mode changes and right-click reports all land here, free. Changing the channel needs Manage Server, whether you use /auroramod modlogs, the /config logs panel or the dashboard.

Aurora AutoMod

Detects and removes phishing, scam and malware links automatically, in new messages, edited messages and forwarded messages.

What Aurora catches (v3.5.0)

  • Known bad sites: a curated list of Discord-targeted scams plus two threat feeds, URLhaus (malware) and the community Discord phishing list, refreshed every 12 hours. Subdomains count too, so login.bad-site.com is caught when bad-site.com is listed.
  • Fake Discord, Steam and Roblox sites: lookalike letters (a Cyrillic “і” in “dіscord”), misspellings (dlscord, steamcommunlty) and bait names like discord-nitro-claim.
  • Links without https://: discord-nitro.com/claim written as plain text, and “defanged” links like hxxps://bad[.]com.

Test it: post aurora-test.invalid from an account without a staff role. Aurora removes it and logs it, but nobody is warned for it. That address can never be a real site, so it's safe to type anywhere. Staff (Helper and up) skip link scanning by default, so use a member account.

Default escalation

Per member, within 24 hours of the first offense:

  • 1st offense: Delete + high-severity warning + DM offender + ping staff
  • 2nd offense: Delete + high warning + 1-hour timeout
  • 3rd offense: Delete + 24-hour timeout
  • 4th+ offense: Delete + ban

Allowlist & Blocklist (v3.1.0)

Server-specific overrides for the bot's threat detection. Configured from the dashboard's AutoMod page:

  • Allowlist — domains the bot will never flag, even if a feed or a lookalike check would. Use for GIF hosts, your own domain, legit short links.
  • Blocklist — domains the bot will always flag, regardless of any threat feed. Use for scammers targeting your community that aren't in URLhaus yet.

Both lists support leading-position wildcards: *.example.com matches all subdomains (e.g. sub.example.com) but not the bare example.com itself. Up to 500 entries per server. Your allowlist always wins, and your blocklist now beats the built-in safe list, so you can block even big sites if you need to.

CommandDescription
/auroramod automod viewCurrent settings (read-only)
/auroramod automod toggle <on|off>Turn AutoMod on or off (Server Owner only)
/auroramod automod dm <on|off>DM offenders on first hit
/auroramod automod alert_role [role]Staff role to ping in mod log
/auroramod automod response <mode>Pick the response: default (escalating), delete_only, delete_warn or delete_ban (Server Owner only)
/auroramod automod refresh_threatsManually update the threat feeds (once every 10 min)
Staff skip link scanning. Anyone with the “Bypass link scanning” permission (Helper+ by default) never has a message removed for a flagged link.

Welcome & Auto-Roles

Customizable welcome and goodbye messages with variable substitution. Auto-assign a role on join. Set it up with <code>/config welcome</code> or on the dashboard's Welcome page. Banner images and the rotating message pool are dashboard-only.

CommandDescription
/config welcomeWelcome and goodbye channels and messages, and the role new members get

Welcome Rotation (v3.1.0)

Tired of every new member getting the same greeting? Set up a rotation pool of welcome messages and the bot randomly picks one on each join.

  • Free: 10 messages in the pool
  • Plush+ 30 messages in the pool

Each message can be individually paused without losing its slot — handy for seasonal greetings. Configure rotation from the dashboard's Welcome page. If the rotation is enabled but the pool is empty (or all messages are paused), the bot falls back to the single welcome message above.

Variables available in welcome, goodbye, and rotation messages:

{user}— mention the new member
{user.tag}— username#discriminator
{user.name}— just the username
{server}— the server name
{membercount}— current member count
{date}— today's date
{time}— current time

Birthday Tracker

Let members register their birthday (month and day — no year) with the bot. On the day, the bot posts an announcement in your chosen channel, optionally pinging a celebration role.

CommandDescription
/me birthday set <date>Register or update your birthday
/me birthday removeRemove your birthday from this server
/me birthday listSee upcoming birthdays in this server
/me birthday nextSee whose birthday is next
/config birthdayBirthday announcements: channel, optional ping role and message

Set the announcement channel, ping role and message with /config birthday or on the dashboard's Birthday page. A custom embed from the dashboard needs Plush+.

Booster Rewards

When someone boosts your server, the bot can post a thank-you message. Set the channel and message from the dashboard's Booster page or with /config booster.

Boost-time rewards

Give a role, plus bonus giveaway entries if you like, for boosting a set number of months in a row: 0 months (as soon as they boost), 1, 3, 6, up to 60. Up to 12 rewards per server, free. The clock starts from their current boost, so if they stop boosting the rewards come off and the count restarts. Each reward is handed out once per boost, so a role you remove by hand stays removed.

Stack or replace: keep every reward reached (1, 3 and 6 months together, bonus entries added up), or keep only the latest one.

Boost-count tiers Plush+

Roles for how many boosts someone has put on the server (“3+ boosts”, “5+ boosts”). Discord doesn't tell bots that number, so everyone starts at 1 and you set higher counts by hand under Tracked boosters. Still in testing, with its own stack or replace setting. Free servers keep any saved tiers, but they don't hand out roles.

CommandDescription
/config boosterBoost thank-you channel and message, plus a role for anyone boosting. Rewards by boost time or count stay on the dashboard.

Counting & Word-Chain

Two classic Discord channel games, both built in:

  • Counting — members take turns counting up: 1, 2, 3, 4… The bot tracks the current number, the all-time high, and (optionally) prevents the same user from counting twice in a row.
  • Word-Chain — each new word must start with the last letter of the previous word. The bot enforces the rule, tracks the chain length, and remembers your server's best streak.

Counting rules (server-wide): allow math, so members can type sums like 2+3 or (4*5)-1 and the bot works out the number (it is never run as code); what a wrong number does, either reset to 0 or just a warning; and whether the same person can count twice in a row, which is set per channel.

Word-chain rules (server-wide): check every word against a built-in dictionary (English, Spanish, Portuguese, French or German; Japanese and Korean servers use the English list); turn the last-letter chain rule off for a free-word channel; no repeated words; allow the same person twice in a row; a minimum length from 1 to 10; and an optional time limit per turn from 5 to 600 seconds.

Channels and rules are set with <code>/config counting</code> and <code>/config wordchain</code> or from the dashboard, and they're only for staff. A wrong entry is deleted, and what happens next follows your rules.

CommandDescription
/config countingCounting channels and rules: math, what a wrong number does, the same person twice
/config wordchainWord-chain channels and rules: dictionary, chain rule, repeats, same person, minimum length and time limit

Games

Five free games for any channel, with cooldowns so nobody floods a chat. Trivia questions with slurs or swear words are never asked, and a Locked server also filters the Hangman words (see Content Mode). Each game can be paused by the ZT Plush team if something goes wrong. Trivia questions come in English; the other games follow the server's language.

CommandDescription
/games trivia [category] [difficulty] [questions] [seconds]Start a trivia round: pick a category and difficulty, 1 to 5 questions and 10 to 60 seconds each. Everyone answers with buttons.
/games hangman [difficulty]Guess a hidden word one letter at a time. Easy, Medium, Hard or Inconceivable: the harder the mode, the rarer the word.
/games wouldyouratherPost a would-you-rather question with two buttons. Votes are private, and the split shows once voting ends.
/games typingraceStart a typing race. Players join with a button, then everyone types the sentence shown in the picture. Ranked by speed (WPM), and a minimum accuracy keeps button-mashing from winning.
/games best [user]Your personal best, or another member's.
/games leaderboard triviaThe server's top 10 by correct answers.
/games leaderboard typingraceThe server's top 10 fastest typists.
/fun rps [opponent] [choice]Rock paper scissors against a member, or against me if you leave the opponent out. Picks stay hidden until both are in.

Scores are kept per server, and the dashboard's Games page shows each game's status and the leaderboards. Members can export or delete their own scores with /privacy.

In a Locked server, the word lists for Hangman and Word-Chain leave out swearing and crude words. See Content Mode.

Trivia questions come from the Open Trivia Database, licensed CC BY-SA 4.0.

Fun

Quick, free commands for any channel. Nothing is saved. In a Locked server, swearing and crude words are filtered out of what these commands say back (see Content Mode).

CommandDescription
/fun 8ball <question>Ask the magic 8-ball a question
/fun dice [sides] [count]Roll 1 to 10 dice with 2 to 1000 sides (one six-sided die by default)
/fun choose <options>Pick one option from a list separated by |, like pizza | tacos | sushi
/fun random [min] [max]Pick a random number (1 to 100 by default)
/fun coinflipFlip a coin
/fun rps [opponent] [choice]Rock paper scissors against a member, or against me if you leave the opponent out. Picks stay hidden until both are in.

Reaction Roles

Click-to-assign role panels: members react to a message to get a role and un-react to drop it. Supports unicode and custom emojis.

CommandDescription
/config reactionroleReaction role messages: create a panel, add or remove emoji, delete it

Opt-in roles

Separate from reaction roles: a picker menu members open with /roles pick to give themselves any role you've added. You choose the roles, their labels and descriptions in /config roles, up to 25 at a time.

CommandDescription
/roles pickOpen the opt-in role picker
/config rolesThe opt-in role picker members open with /roles pick

Roles on a staff tier, and roles with moderator or admin powers, are never handed out by the picker.

Custom Commands

Define your own prefix commands, like zt!rules, with custom responses. Optionally restrict who can use them, and add multiple responses to pick from at random.

CommandDescription
/config ccCustom commands: add, edit, make random, remove. Restricting a command to a role needs Senior+

Members run them with the bot's prefix. A response can use {user}, {server}, {channel} and {membercount}. For random replies, separate the options with | and turn Random on.

Giveaways

Run prize drawings with role-based bonus entries. Start from the dashboard or via slash command. Each server picks how bonuses combine on the Giveaways page: add them up (+2 and +3 roles give 1 + 2 + 3 = 6 entries) or highest only (1 + 3 = 4 entries). The change applies to entries made after you switch.

CommandDescription
/giveaway start <prize> <duration> [winners] [rules…] [ping_role] [claim_time]Start a giveaway: prize up to 256 characters, 1 to 20 winners
/giveaway edit <id> [prize] [ends_in] [winners] [rules…]Change a running giveaway
/giveaway end <id>End early
/giveaway reroll <id>Pick a new winner (skips current winners)
zt!bonus add @Role <1-100>Server-wide bonus entries for a role
zt!bonus remove @RoleRemove a bonus
zt!bonus listShow all bonuses
/config logsWhere giveaway logs go

Who can enter (v3.4.5)

Each giveaway can have its own entry rules. Members who don't qualify get a private note telling them why.

  • Required roles: pick one or more. Choose whether members need any one of them or all of them.
  • Blocked roles: members with any of these can't enter.
  • Time in server: members must have been in the server for at least N days.
  • Plush+ Account age: the member's Discord account must be at least N days old. Good for keeping alt accounts out.

Rule limits: up to 10 roles in each list, and day counts up to 3650.

People who leave can't win. When winners are drawn (at the end, on a reroll or an auto-reroll), anyone who has left the server is skipped. If they come back before the draw, they count again.

Editing a running giveaway (v3.4.5)

Press Edit on a live giveaway in the dashboard, or use /giveaway edit, to change the prize, end time, number of winners or entry rules. The giveaway message updates straight away. New rules apply to new entries; people who already entered stay in.

Button, pings and winners (v3.4.5)

  • Enter button: set your own text, emoji and color server-wide. Plush+ lets you style it per giveaway too.
  • Role ping: ping a role when a giveaway starts, ends, or both.
  • Winner DM: write your own message. Variables: {prize} {server} {channel} {hostmention} {claimby}.
  • Plush+ Claim window: winners get a Claim prize button (in the channel and in their DMs). If they don't press it in time, a new winner is drawn automatically, up to 10 times per giveaway.

Customization (v3.2.0)

From the dashboard's Giveaways page, you can set server-wide defaults for new giveaway embeds — title template, color, footer, thumbnail, plus a rotating pool of up to 4 image URLs (randomly picked per giveaway). Templates support variables:

Variables available in giveaway templates:

{prize}— the prize name
{id}— giveaway ID number
{ends}— relative end time (e.g. "in 2 hours")
{endsfull}— full end timestamp
{hostmention}— mention the host
{winners}— number of winners
{entries}— current entry count
{winnermentions}— comma-separated winner mentions (winner/ended templates only)
Existing giveaways aren't touched by customization changes — only new giveaways inherit the current defaults. Defaults are snapshotted at create time, so changing them later won't mess with a giveaway that's already running.

“Who entered” view (v3.2.0)

On the dashboard's Giveaways page, each giveaway card has a collapsible Show entrants dropdown. Available to anyone with Manage Server permissions. Shows entry weights and win chances, who has left the server, who won, and whether each winner has claimed. You can search it and export it as CSV.

Scheduled Messages

Queue messages to fire at a specific time, or have them recur on a schedule. Each message can broadcast to multiple channels in one shot.

  • Free: 10 scheduled messages per server, 1 channel each
  • Plush+ 40 scheduled messages per server, up to 5 channels each (broadcast)

Schedule types:

  • once — fires at a specific date/time, then disables itself
  • hourly, daily, weekly — repeats at that interval starting from when you save
  • custom — fires every N minutes (10 minutes to 1 year)

Each scheduled message can be plain text or a custom embed (title, description, color, image, thumbnail, footer). The text goes out exactly as written: variables like <code>{user}</code> aren't filled in. Configure everything from the dashboard's Scheduled Messages page.

Bot offline at fire time? When the bot starts back up, it spots any messages that should have fired during downtime, disables them, and notifies the mod log channel (or DMs the owner). You can re-enable from the dashboard once you've decided whether to fire-now or skip.

Overseer Logs

Plush+ Advanced logging for your server, set up on the dashboard. Every entry says who did it: a staff member, ZT Plush (AutoMod or Aurora), another bot, or the member themselves.

What gets logged: bans, unbans, kicks, timeouts and warns; deleted, purged and edited messages, with image previews and a transcript file for purges; voice joins, leaves and moves; member joins, leaves, nickname and role changes; channels and roles created, deleted or edited.

Set it up: Dashboard → Overseer Logs. Switch each event on or off, give each group its own channel (or use your mod log), and ignore channels or roles.

Permissions: give ZT Plush View Audit Log so it can tell who did what, plus Send Messages, Embed Links and Attach Files in your log channels.

Members who used /privacy optout message_log never have their message text logged.

Message Logger

Plush+ Keeps recently deleted messages so staff can bring them back with /mod snipe, and can post each deletion to your mod log.

What's kept: the text, author and attachment links of deleted messages, never bot messages or DMs. For full server logging, see Overseer Logs.

CommandDescription
/mod snipe [count]Show recently deleted in this channel
/auroramod messagelog viewCurrent settings
/auroramod messagelog toggle <on|off>Turn on or off (Server Owner only; turning on needs Plush+)
/auroramod messagelog post_to_modlog <on|off>Post each deletion to the mod log too (Server Owner only)

Who changes it: only the Server Owner (not a tier, not Manage Server), because it decides what is kept about members' deleted messages. Switching it on also needs Plush+; switching it off always works.

Plush+ only: the Message Logger (up to 10 deleted messages per channel, kept for 1 hour), /mod snipe and Overseer Logs. The basic mod log is free: warnings, timeouts, kicks, bans, purges, slowmode, locks, AutoMod alerts, the giveaway log and ticket transcripts.

Role Rewards

Plush+ When a member gains a specific role, the bot automatically gives them another role. Use it to set up “promotion chains” — getting promoted to Junior Mod also grants the all-staff color role, for example.

Each rule has a trigger role (what they gain) and a reward role (what gets added). Optionally configure the reward to be removed when the trigger is removed.

Configure from the dashboard's Role Rewards page. Each server can have multiple rules; they all evaluate independently.

Mass-Tag

Plush+ Send a DM to every member who holds a specific role. Useful for staff announcements, ticket follow-ups, or coordinating events.

Safeguards: up to 5,000 recipients per send, one send per server per day, and a pause of about three quarters of a second between DMs. A message can be up to 1,500 characters. Members can opt out per server with /me masstag optout, and a running send can be cancelled.

CommandDescription
/auroramod masstag dm <role> <message>Send a DM to every member of a role (message up to 1,500 characters)
/auroramod masstag history [page]Recent mass-sends in this server
/auroramod masstag cancel <id>Cancel an in-progress send
/auroramod masstag configShow Mass-Tag limits and today's quota
/me masstag optoutOpt out of mass tags in this server
/me masstag optinOpt back in

Only sending a Mass-Tag needs Plush+. Looking at the history, cancelling a send and the config view work on any server.

Verification Gate

A verification gate, free for everyone. New members press a button, solve a colored-button challenge and get the verified role. It helps keep raid bots out.

CommandDescription
/config verifyThe verification gate: channel, verified role and rules, then post the message

Pick the channel and the verified role, add rules if you like, then post the message. Change something after posting and the panel offers to post it again.

Anti-spam: 5 failed attempts triggers a 1-hour cooldown. Make sure the bot's role is above the verified role in Server Settings → Roles.

Stats Channels

Auto-updating voice channels that display live server stats. Pick a stat type, pick a channel, customize the name template — the bot keeps the name in sync.

Available stat types: members, online, bots, humans, roles, channels, boosts, bot status.

  • Free: 2 stats channels per server
  • Plush+ 10 stats channels per server
CommandDescription
/config statsVoice channels that keep their name up to date, like Members: 1,204

Configure with /config stats or on the dashboard's Stats Channels page.

Support Tickets

11 ticket categories (such as General, Appeal and Report Member) with auto-transcripts, all free. Set up the panel once; members open tickets from a dropdown.

CommandDescription
/config ticketsPost the ticket panel, pick the support role and the transcript channel

Soundboard

A server soundboard with 35 clip slots, Plush+ only. Clips play in your voice channel; if music is playing it pauses for the clip and picks back up after. Each clip is capped at 30 seconds. Add and manage clips from the dashboard's Soundboard page.

CommandDescription
/soundboard play <clip>Play a clip (names autocomplete; blocked for quarantined members)
/soundboard listAll clips on this server
/soundboard stopStop the clip and resume music
/soundboard panel [channel]Post a persistent button panel

Quarantined Role

Pick one role that can lock members out of chosen features without touching their Discord permissions. The feature it can block today is Soundboard; the dashboard's Quarantine page lists what is available. Give someone the role to restrict them; take it away and everything comes back.

CommandDescription
/auroramod quarantine viewShow the current quarantine setup
/auroramod quarantine set <role>Set the quarantine role
/auroramod quarantine clearRemove the quarantine role and all blocks

Staff can also quarantine or release someone from the Quarantine right-click menu on a member.

Music Player

Plays music in your voice channel. Searches and links start on SoundCloud, and a text search opens a picker with up to 5 results. A YouTube link can fail on some tracks; then the bot looks the same song up on SoundCloud. Playback is free; saved playlists, audio filters and 24/7 mode need Plush+.

CommandDescription
/music play <query>Play or queue a track. A text search opens a picker of up to 5 results
/music skipSkip the current song. Whoever queued it, or Helper+, skips at once; everyone else starts a vote
/music forceskipSkip at once, without a vote. Only for whoever queued the song, or Helper+
/music queue [page]View the queue, one page at a time
/music nowplayingShow what's playing
/music pause · /music resumePause or resume playback
/music stop · /music leaveStop playback and leave the voice channel
/music volume <0-100>Set the volume from 0 to 100
/music loop <mode>Loop mode: off, track, queue or autoplay
/music shuffleShuffle the queue
/music filter <type>Audio filter: bassboost, nightcore, 8d, vaporwave, lofi, vibrato, karaoke, or off
/music remove <position>Remove a track from the queue by its position
/music clearEmpty the queue
/music lyricsFetch lyrics
/music playlist listList your saved playlists (they belong to you, not to the server)
/music playlist save <name>Save the current queue as a playlist (name up to 50 characters)
/music playlist load <name>Load one of your saved playlists into the queue
/music playlist delete <name>Delete one of your saved playlists
/music 247 <on|off>24/7 mode: keep the bot in the voice channel around the clock
/music stayinvc <on|off>Don't auto-leave when VC empties

* Anyone can stop, leave or clear when every song in the queue is theirs, or when they're the only person listening. Otherwise it needs the permission (Senior+ by default).

Bot Language

ZT Plush speaks English, Español, Português (Brasil), Français, Deutsch, 日本語 and 한국어. Free for every server.

  • Server language: used for everything members see (public replies, giveaways, mod logs, welcome defaults). Staff set it with /config language or on the dashboard's server overview.
  • Your language: used for replies only you see, in every server. Set it with /me language or the language menu in the top right of the site.
  • Slash command descriptions follow your Discord app's language automatically.
  • Anything your team writes (welcome messages, custom commands, embeds) is never translated.
CommandDescription
/me languageSee the language for this server and for you
/me language <language>Pick your own language, or “Follow the server”
/config languageThe server's language for everything members see

Privacy & Your Data

Download or delete what the bot keeps about you, in every server, with /privacy or on the dashboard's Your data page. Exports and deletes can be done once every 10 minutes.

CommandDescription
/privacy exportGet a file with the data the bot holds about you
/privacy deleteDelete your personal data (asks you to confirm first)
/privacy optout feature:message_logStop Message Logger from recording your deleted messages, in every server
/privacy optin feature:message_logTurn Message Logger recording back on for you
/privacy viewSee your privacy settings

Delete keeps what belongs to a server's safety and history: warnings, bans the bot placed (and who set them), AutoMod hits, tickets you opened, Mass-Tags you sent, giveaways you hosted and things you created for a server. Your opt-outs are kept too, so logging and DMs stay off.

When the bot is removed from a server, that server's data is deleted 30 days later unless the bot is added back. Full details are in the Privacy Policy.

Announcements from ZT Plush

Now and then the developer posts news about new features and updates to every server. Staff can turn these off or choose the channel they go to with /config announcements or on the dashboard's server overview.

CommandDescription
/config announcementsNews from ZT Plush: on or off, and which channel. Important notices always arrive.
Important notices (security issues, Terms or Privacy changes) always arrive, even when announcements are off.

Translation

DeepL-powered translation into every language DeepL supports (30+, searchable). Caps apply per-user, per-server, per day — meaning your usage in one server doesn't eat into your usage in another.

  • Free servers: 5 translations per user per day
  • Plush+ 20 translations per user per day (4× the cap)
CommandDescription
/translate <text or msg ID> [to] [private]Translate text or a message ID. Type in “to” to search every DeepL language; leave it empty for your own language.
Why the cap? DeepL is a paid service and every translation costs money. The cap keeps that sustainable, and Plush+ servers get a higher one.

Cached translations don't count — same text + same target language = free repeat. Resets at midnight UTC.

Polls, AFK, Reminders

CommandDescription
/poll create <question> <options> [duration]Question up to 250 characters; 2 to 10 options separated by |, each up to 100 characters; optional length from 30 seconds to 14 days (like 30m, 2h, 1d)
/poll end <id>End a poll early (only the person who made it)
/me afk set [reason]Set AFK status
/me afk clearClear AFK manually
/me remind me <when> <message> [where]Set a reminder: in 5 seconds to 1 year (like 30s, 5m, 2h, 1d, 1w), message up to 500 characters, by DM or in this channel. Free: 3 active reminders; a Plush+ server has no limit
/me remind listView your reminders
/me remind cancel <id>Cancel a reminder

Content Extraction

Turn social links into clean embeds or downloaded videos. To save emoji and stickers, see Grab Emoji & Stickers.

CommandDescription
/linkembed <url>Fix a social link's preview so Discord shows a rich embed (short links work too)
/download <url>Download the video or media from a social link and upload it

Works with: X (Twitter), TikTok, Reddit, Instagram, Bluesky, Threads, Pixiv, Tumblr, Bilibili, Twitch clips and Streamable. YouTube isn't supported.

Limits: 3 downloads per person per minute, one at a time per server. If a video can't be downloaded (private, login needed, or bigger than the server's upload limit), you get the embed link instead. The bot never logs in to any site.

You can also right-click a message and choose Apps → Download media.

Grab Emoji & Stickers

/grab turns a custom emoji or sticker into a file you can save. Animated ones come back as GIFs, the rest as PNGs. Staff can then add the file to your server with one button. Free, for everyone.

CommandDescription
/grab <input>Save a custom emoji or sticker as a GIF or PNG, or add it to your server

What you can give it

  • One or more custom emoji, picked from the emoji menu.
  • An emoji ID, or a link to an emoji on Discord's CDN.
  • A message ID (from the channel you're in) or a message link (from this server): you get every custom emoji, sticker and image in that message. Images come back as files only.

You can also right-click a message and choose Apps → Grab emoji/sticker.

What you get back

  • Animated emoji as GIF, static emoji and stickers as PNG. Animated stickers are turned into GIFs when possible; if not, you get the PNG with the animation still inside.
  • Limits: up to 10 files per use and one use every 3 seconds. Only messages from this server, in channels both you and the bot can read.
  • Lottie stickers can't be converted. The same goes for Discord's own built-in stickers. You get a note instead of a file.

Add to server

  • Under the files you'll see Add to server (a menu when there are several, plus Add all).
  • Only people with Manage Expressions or Create Expressions can use it, and ZT Plush needs Manage Expressions too.
  • The server's switch for that kind must be on. Both are on by default; staff change them in /config grab or on the dashboard's overview.
  • You confirm the name first. Letters, numbers and underscores only: 2 to 32 characters for emoji, 2 to 30 for stickers, and stickers need a related emoji (🙂 by default). A name that's already taken gets a number.
  • Files over Discord's limit (256 KB for emoji, 512 KB for stickers) are shrunk to fit. If the server's emoji or sticker slots are full, you're told how many it has for its boost level.

Names are checked against Content Mode: slurs are never allowed, and swearing only in Unlocked servers.

Your Settings (/me)

/me holds the commands that are about you, not the server: your AFK status, reminders, birthday, language and Mass-Tag opt-out. All free, for everyone.

CommandDescription
/me afk set [reason]Set AFK status
/me afk clearClear AFK manually
/me remind me <when> <message> [where]Set a reminder: in 5 seconds to 1 year (like 30s, 5m, 2h, 1d, 1w), message up to 500 characters, by DM or in this channel. Free: 3 active reminders; a Plush+ server has no limit
/me remind listView your reminders
/me remind cancel <id>Cancel a reminder
/me birthday set <date>Register or update your birthday
/me birthday removeRemove your birthday from this server
/me birthday listSee upcoming birthdays in this server
/me birthday nextSee whose birthday is next
/me masstag optoutOpt out of mass tags in this server
/me masstag optinOpt back in
/me language [language]Pick your own language, or “Follow the server”. With no choice it shows yours and the server's.

Info (/info)

Look things up: the bot, a member, this server, latency and avatars. All free, for everyone.

CommandDescription
/info botThe bot's feature overview and full command reference
/info pingCheck the bot's latency
/info user [user]Info about a member (you by default)
/info serverInfo about this server, including its content mode
/info avatar [user] [user_id]View an avatar with download buttons; a user ID works for anyone, even outside the server

Embeds, Quotes & Help

CommandDescription
/helpBrowse the bot's commands by category
/embed [channel] [title] [description] [color] […]Build and send a custom embed, here or in another channel. It needs at least a title, description, image, author or footer. Title, description, author and footer together can't pass 6000 characters, and links must start with https://. Turn on preview to check it before it goes out.
/quote <message_id> [channel] [hide_jump]Quote a message in an embed with a jump button. In a Locked server, text with swearing isn't quoted, and text with a slur never is.
/plush redeem <key>Redeem a Plush+ license key for this server
/plush statusShow this server's Plush+ status
/plush infoRead what Plush+ unlocks

Slurs are never allowed in an embed. A link to an X or Reddit post in the image, thumbnail or title link follows the media rule in Content Mode: only a flag from the platform makes it sensitive, and no flag, or a failed lookup, counts as normal.

Command Updates

Discord caches command lists per-server. After updates, new commands may not appear immediately. This is normal — here's how to fix it:

  1. Refresh your Discord client first: Press Ctrl+R on desktop, force-close and reopen on mobile.
  2. Still seeing old commands? Give it up to an hour. Discord spreads command updates out.
  3. Server owners: if commands still look doubled or stale, run zt!sync refresh in your server. It clears leftover server-specific copies and tells you how many commands the server now uses. Only the Server Owner can use it, it works once every 5 minutes per server, and it isn't listed in /help. zt!sync reset removes server-specific overrides and goes back to the global commands.

Why this happens: ZT Plush registers commands globally. Discord's CDN propagates updates within about an hour, and Ctrl+R usually gets you there sooner.

The Road Ahead

Curious what's next? This is the public roadmap. Plans can change: Doog adjusts them based on feedback from servers like yours.

v3.8.9Released
  • ✓ Safer data: the live database now sits outside the bot folder, with an alarm if a backup ever shrinks
  • ✓ Safer dashboard login: only tokens made for ZT Plush are accepted
  • ✓ Dashboard pages show a clear error with Retry when the bot can't be reached, not an empty form
  • ✓ Content mode catches accented and masked swearing, and the bot never repeats a slur
  • ✓ Cleaner commands: 19 in all, grouped as /mod, /me, /info, /fun, /games, /auroramod and /config
  • ✓ Content mode: Locked or Unlocked, with a rule for sensitive media

Also in this release line: 7 languages, the new-server wizard, /linkembed and /download for 11 platforms, feature switches, Overseer Logs and announcements.

Also out: giveaway entry rules and claim windows, custom permission tiers and Quarantine.

A bug-fix releaseThen
  • · Fixes for whatever turns up after this release
  • · Found a bug? Tell us in the support server
v3.9.0Later
  • · Layout and stability: a cleaner look and a steadier bot before the TCG
v4.0.0Up next
  • · The ZT Plush TCG: a card game inside Discord
  • · Every update after v3.9.0 builds toward it
  • · Official release: v4.0.0

Subject to change based on feedback and community growth.

v3.8.9
Bug fixes
v3.9.0
v4.0.0

You are here: v3.8.9 released

Still need help?

Ask in the support server: help with ZT Plush, bug reports and feature ideas.

Join Support Server

The community server is Doog's main server: events, and where the bot is shown off.

Join Community Server

Prefer email? Write to darling@zt-bot.com.