Skip to content

Spawn settings reference

This is the detailed reference for the Spawn page. Every value belongs to the currently selected bot instance. Changes apply to future natural spawns after you press Save Changes; they do not alter a collectible that is already active in a Discord channel.

Use this page when you know the setting you want to change. If you are setting up a bot for the first time, read Spawn System page first and begin with Core Spawn Pace, Catch Experience, and Anti-Camping. Do not change every advanced control at once: a spawn can be delayed by timing, activity, unique-chatters, channel rules, and catch limits at the same time, which makes a bad setting hard to identify.

The dashboard saves all Spawn form changes together through the You have unsaved changes bar. Press Save Changes to apply them, or Discard to return the form to the last saved version.

For a reliable test, use one private Discord channel, note the old values, change one category, save, and watch several new spawns. A single drop is not enough to judge a random interval or rarity distribution.

Some rules depend on other features:

  • Name-based catch methods need Discord Intent: Message Content enabled in both Config and the Discord Developer Portal.
  • Catch rewards are only paid when the Currency module is enabled.
  • A spawn needs at least one enabled collectible with rarity above zero that passes the current selection rules.
  • A server needs a spawn channel configured in Discord before natural drops can appear there.
SettingAccepted valueWhat it changesImportant detail
Spawn systemEnabled or DisabledTurns natural spawning on or off for this instance.Disabled stops future natural drops; it does not delete collections, channels, or spawn settings.
Spawn strategyMessage Based, Time Based, or RandomChooses which conditions must be satisfied before a natural drop is created.Strategy changes the trigger logic, not the collectible pool or catch rules.
Average spawn time minWhole seconds; at least 1The lower end of the randomly selected target interval for a new spawn.It must be no larger than Average spawn time max.
Average spawn time maxWhole seconds; at least the minimumThe upper end of the randomly selected target interval.Each new spawn cycle rolls a target somewhere between min and max. It is not a fixed schedule.
Activity reward per messageNon-negative numberHow much eligible chat activity can shorten the current target wait.The runtime limits this effect to 12 per message and also applies Activity reduction cap.
Minimum spawn intervalWhole seconds; at least 1 and no greater than average maxA hard floor between natural spawns in a server.Activity never makes a spawn happen sooner than this floor.

Message Based needs both enough elapsed time and enough activity. The system rolls a target activity score between Threshold min and Threshold max. Eligible messages add score, with anti-spam adjustments. This is the usual choice for a community that wants chat participation to matter.

Time Based requires elapsed time but does not require the activity-score threshold. It still processes a message to evaluate a natural spawn, and the minimum interval, unique-chatter rule, channel eligibility, and anti-camping controls still apply. Use it when quiet servers should receive drops without having to chat constantly.

Random follows Message Based requirements, then makes one additional chance roll on each eligible message after the requirements are met. The chance is set by Random strategy chance. A failed roll does not reset the cycle; the next eligible message can roll again.

At the start of a cycle, Kompendium picks one number between Average spawn time min and max. It then reduces that target by eligible activity, but never by more than the configured Activity reduction cap and never below Minimum spawn interval.

For example, if the target interval is 20 minutes, the minimum interval is 10 minutes, and the cap is 75%, activity can reduce the wait but cannot make the spawn arrive before 10 minutes. Increasing Activity reward per message without considering the cap often has little visible effect once active channels already hit that cap.

SettingAccepted valueWhat players experienceImportant detail
Catch methodButton + Name, Type Name In Chat, or Button OnlyDecides whether players must click, type the collectible name, or do both.Type Name In Chat and Button + Name depend on Message Content intent.
Catch button colorBlurple, Grey, Green, or RedChanges the Discord style of the catch button.It is visual only; it does not alter permission or catch success.
Catch button textUp to 48 charactersThe label shown on the catch button.An empty value becomes Catch when saved. Keep it an obvious action.

Button + Name asks the player to use the button and provide the collectible name. Type Name In Chat uses the chat-message catch flow without relying on the button. Button Only is the quickest and least demanding method because no name is required. Test the chosen method on a real device after saving; a style change is harmless, but an unavailable Message Content intent makes a name-based flow fail for everyone.

The Spawn Messages editor controls five different messages. Switch Message type to choose which one is being edited; changing one type does not edit the other four.

Message typeSent whenUse it for
SpawnA new natural collectible appears.Announce the drop and explain how to catch it without giving away its name.
NewA player catches a collectible that is new to their collection.Celebrate the new collection entry.
WrongA player provides the wrong answer in a name-based catch flow.Give brief feedback without revealing the answer.
LateSomeone tries to catch a collectible after another player already caught it.Explain that the drop has already been claimed.
FledAn active collectible reaches its timeout without being caught.Close out an expired spawn, if fled messages are enabled.

Each message row accepts up to 500 characters. Blank rows are ignored. If all rows for a type are removed or blank, Kompendium restores that type’s built-in default messages rather than sending nothing.

Use the x button to remove a row and Add message to add one. Every category has its own row list. The visible number beside the button is only the count of messages in the selected category.

Equal chooses every saved row in the selected category with the same chance. Choose it when every announcement should be equally likely.

Custom reveals Chance weight for each row. A weight is a relative number, not a percentage. A message with weight 4 is chosen four times as often as a message with weight 1; both can still appear. Weights must be whole numbers of at least 1.

For example, three Spawn messages with weights 6, 3, and 1 have 10 total weight points. The first line is chosen about 60% of the time, the second about 30%, and the third about 10%.

Show a message when a collectible expires without being caught decides whether the Fled category is sent at all. Turn it off for silent expiry. The Fled text remains saved and can be edited while the toggle is off; it is simply not posted until the toggle is enabled again.

Press Placeholders in the dashboard to see the same list while editing. Write a placeholder exactly, including the braces.

PlaceholderReplaced withGood use
{collectible}Configured singular label, such as card or player.A wild {collectible} appeared!
{collectibles}Configured plural label.Collect {collectibles} to fill your book.
{collectible_name}The actual selected collectible’s name.New or Fled messages, after the answer is no longer secret.
{collectible_code}The collectible’s internal lowercase name key.Technical or post-catch messages only.
{special_event} / {special_event_name}Active special event name, when one applies.Event announcements.
{special_rarity}Active special-event rarity value.Event-specific flavour or staff diagnostics.
{server_name} / {server_id}Discord server name or numeric ID.Server-specific messaging or audit-style text.
{channel_name} / {channel_id}Discord channel name or numeric ID.Channel-specific instructions.
{member_count}Current Discord server member count.Community milestone wording.
{catch_button}Your configured catch-button label.Press {catch_button} to claim it.
{catch_action}A short instruction for the active catch method.Generic catch instructions that follow the method.
{catch_mode}Internal catch-mode value.Only for technical text; prefer {catch_action} for players.
{bot_name}Runtime bot name.Branded announcements.
{mention}The player mention involved in Wrong, Late, or New text.Personal feedback, such as {mention} Wrong name!

Do not use {collectible_name} or {collectible_code} in the Spawn announcement when players must type the name. They reveal the answer. Unknown placeholders are left as text rather than becoming a usable value, so preview every customised line in Discord.

Variety settings change the weights used to choose an eligible collectible after Kompendium has decided to spawn. They do not change the number of spawns or bypass disabled collectibles.

SettingDashboard rangeDefaultWhat it does
Rarity curve0.1–30.72Shapes how strongly the collectible rarity value affects its base selection weight. Lower values flatten the difference; higher values make common entries more dominant. The runtime uses 0.35–1.8 if a value outside that operating range reaches it.
Rare activity bonus0–30.45Adds a bonus for lower-rarity candidates in very active channels. 0 removes the activity-based rarity help. The runtime caps the effect at 1.5.
Random variety jitter0–0.750.12Adds a small random shift to each candidate’s final weight. 0 makes selection more repeatable; a larger value makes the configured pool feel less mechanical.
Global diversity window20–2,000 recent spawns140Number of recent spawns across the whole instance considered for repeat protection. The runtime uses up to 800.
Global diversity strength0–0.950.30How strongly the global recent-spawn history adjusts weights away from repeats. The runtime uses up to 0.9.
Server diversity window10–1,000 recent spawns80Number of recent spawns in the current Discord server considered for variety. The runtime uses up to 500.
Server diversity strength0–0.950.35How strongly that server’s own history avoids repeats. The runtime uses up to 0.9.
Catch history minutes0–10,080 minutes120How long caught-item history is considered when reducing recently caught collectibles. 0 disables this history penalty.
Catch history penalty0–0.950.08Strength of the caught-item reduction inside the history window. 0 disables the reduction.
Same collectible cooldown minutes0–1,440 minutes10How long a collectible that was recently seen in a server stays under its direct repeat reduction. 0 disables the cooldown.
Same collectible multiplier0–10.75Weight left for an item inside that cooldown. 1 means no reduction; 0 removes it from selection while the cooldown is active.

Kompendium starts with all enabled, positive-rarity collectibles for this instance. It applies rarity, then activity-based rarity help, then global diversity, server diversity, catch history, same-collectible cooldown, any per-collectible drop-rate override, and finally jitter. A special spawn event can add extra weight for its included collectibles.

Because the layers multiply or add to the same final weight, avoid turning every strength up at once. If the pool feels repetitive, first increase Server diversity window slightly, then increase Server diversity strength a little. If it still repeats across all servers, adjust the global pair. Use Catch history and Same collectible cooldown for direct anti-repeat control rather than pushing diversity strength to the maximum.

SettingAccepted valueDefaultWhat it changes
Minimum server members0–10,000,0000Minimum member count required before a server can enable or receive spawns. 0 allows every configured server.
Catch cooldown0–86,400 seconds8Personal wait after a successful catch. 0 disables this cooldown.
Server-hop cooldown0–86,400 seconds30Personal wait before a player may successfully catch in a different server. 0 disables it.
Spawn timeout60–86,400 seconds600How long an active drop remains catchable before it expires. The runtime never allows less than 60 seconds.
Catch limit window1–86,400 seconds600Time span used by Max catches per window.
Max catches per window0–1,00012Successful-catch limit inside the Catch limit window. 0 disables this cap.
Maximum catch per day0–100,0000Successful-catch cap in the bot’s daily reset window. 0 disables this cap.

These settings are checked on successful catch attempts. A player who has just caught a collectible can be blocked by their personal catch cooldown, by the short-term window limit, by the daily limit, or by a cross-server catch too soon after their last successful catch elsewhere.

Set the Catch limit window and Max catches per window as a pair. For example, 600 seconds and 12 means a player may catch at most 12 collectibles in ten minutes. Setting the limit to 0 removes the cap regardless of the window value.

These values only have an effect when the Currency module is enabled. They are amounts of your configured currency label, not percentages.

SettingAccepted valueDefaultWhat it changes
Regular catch reward minimum0–1,000,000,0005Lowest ordinary currency reward before a special bonus.
Regular catch reward maximum0–1,000,000,000100Highest ordinary reward. A catch rolls within the saved range.
Special bonus minimum extra0–1,000,000,000100Smallest additional reward when the collected item is special.
Special bonus maximum extra0–1,000,000,000500Largest additional special reward.

Keep each minimum no larger than its matching maximum. The save logic corrects a reversed stored range by treating the smaller value as the minimum, but enter the pair in the intended order so the configuration is clear. A special catch receives the regular reward plus a separately rolled special extra; it is not limited to just the special amount.

A collectible can also have its own reward override in the Admin panel. Use that only when a particular collectible should intentionally pay differently from the global Spawn reward range.

This section is for adjusting how chat becomes activity. Change it only after Core Spawn Pace and Anti-Camping already behave as you want.

SettingDashboard rangeDefaultWhat it does
Threshold min0–1,000,00032Lowest activity-score target rolled for Message Based and Random cycles.
Threshold max0–1,000,000 and at least Threshold min45Highest activity-score target rolled for those cycles.
Message cache windowWhole number, at least 5100Number of recent messages remembered for unique-author and dominant-author checks.
Anti-spam lock0–86,400 seconds8Brief lock after a successful natural spawn cycle resets. 0 removes this extra lock.
Activity reduction cap0–0.950.75Largest fraction of a target interval that activity may remove. The runtime limits the operating cap to 0.9.
Minimum unique chatters1–501Number of distinct message authors required before activity may trigger a spawn.
Random strategy chance0.01–10.35Chance used only by the Random strategy after the other conditions are already satisfied. 1 means every eligible message succeeds; 0.35 means 35%.
Repeat author multiplier0–10.85Activity-score multiplier when the same author sends back-to-back messages. 1 gives no repeat reduction; 0 removes that message’s base activity contribution.
Dominant author threshold0.05–10.40Share of recent cached messages one author may have before the dominant-author reduction starts.
Dominant author multiplier0–10.80Activity-score multiplier applied when one author exceeds the dominant threshold.
Same collectible multiplier0–10.75The direct repeat weight described in Variety Algorithm. It is shown here because it is part of the low-level tuning controls.

For Message Based and Random, each spawn cycle rolls a target score between Threshold min and max. Normal eligible messages begin with a base score, then are adjusted by their content, the previous author, the number of unique authors, a dominant-author check, and server size. A shorter message can receive less score when Message Content intent is available; long messages receive a small increase.

The Message cache window affects the sample used for unique-author and dominant-author checks. A larger cache makes the system judge participation across more recent conversation. It does not keep an unlimited permanent record of chat.

Minimum unique chatters is a hard participation requirement. Even if a single player sends enough messages to reach the score target, the spawn waits until this many different authors are present in the cache. Use 1 to allow solo activity; use a higher value only when you specifically want group participation.

Repeat author multiplier applies only when the current message comes from the same author as the immediately previous one. Dominant author threshold looks at one author’s share of the cached messages; when that share is greater than the threshold, Dominant author multiplier applies.

Both multipliers are multiplied into activity, so lower values have a stronger anti-farming effect. Values near 1 are permissive. Values near 0 make that kind of activity contribute almost nothing. Raising the threshold makes the dominant-author rule trigger less often; lowering it makes the rule trigger sooner.

What you observeCheck first
No natural spawns at allSpawn system is Enabled; a spawn channel is configured; eligible collectibles exist; member minimum is met; the bot can send in the channel.
Quiet servers never get a spawnUse Time Based, lower the interval, or reduce the activity requirement. Do not reduce every anti-spam control first.
One person can farm too easilyIncrease Minimum unique chatters, reduce Repeat author multiplier, lower Dominant author threshold, or reduce Dominant author multiplier.
Busy chat makes drops too fastRaise Minimum spawn interval or lower Activity reduction cap before dramatically increasing timing.
The same collectible keeps returningIncrease the server diversity controls or use Same collectible cooldown minutes with a multiplier below 1.
Players catch too many dropsAdd or increase Catch cooldown, Max catches per window, Server-hop cooldown, or the daily cap.
Players cannot use typed catchesCheck Message Content intent in both Discord and Config, then test the chosen Catch method.

After any advanced change, wait through multiple spawn cycles and record the outcome. If the result is worse, restore the prior values with the same Save Changes bar. Keeping a small note of your old values makes this much faster than trying to reconstruct the previous behaviour from memory.