Daily Loop · Concept

Mail

Two doors onto the same store: a letter that arrives on its own, a code that gets typed. Behind them, the same kinds of rewards and the same one-shot grant.

In short

What lands in the inbox, and what opens it

The game writes to the player instead of waiting for them: five letter types exist, from an organization invite to a referral about to lapse, and they all land in the same place. >mail opens the inbox, >mail read opens one letter.

A letter can carry rewards: six kinds exist, up to 20 in the same letter. Claiming is all or nothing, in a single transaction: a kind the game can no longer serve refuses the whole letter rather than handing out half of it.

The other door goes through no letter at all: >code hands out the same rewards the moment it is typed. A code is at most 32 characters long, case and spaces are normalized before it is read, and >code list only ever shows the public codes.

A code can refuse, and it refuses in six ways. Only three are spelled out: the others melt into one shared message, because telling them apart would tell anyone which codes exist.

1

Six kinds of rewards

A reward is a typed line, not an object set aside in advance: the game reads it again at grant time. A letter carries 20 of them at most, and each kind is served by the module that knows how to build it.

in a stack
Resources
Any resource in the game, in any amount: currency, ore, seed, potion.
with its temper
Tools
A tool forged at the chosen quality, its temper capped by what that quality allows.
at its level
Enchant books
A book at the chosen level, never past the enchant's own maximum level.
guaranteed
Essences
A reforge essence, carrying a guaranteed rarity when the send sets one.
with its skin
Pets
A pet of the chosen species, together with its skin when the send attaches one.
on its own
Skins
A pet skin on its own, refused if the species cannot wear it.
  • A kind whose module is not loaded refuses the whole claim rather than burning the letter: the letter stays, and can be claimed later.
  • A reward already owned, a pet or a skin, is marked as such instead of being granted twice.
2

The letter as it lands

None of the wording is written by the bot: the sender provides the title, the body and the rewards. The rest of the frame is the same for every letter.

EnderBot
EnderBot BOT Today at 11:41 AM
📬 You received mail from Selene: The summer rush closes on Sunday

The summer rush closes on Sunday

Home stretch: the remaining tiers can be claimed until Sunday evening, after which the season currency is gone.
🎁 Rewards: Adamantite pickaxe (epic) · Rare essence · Endercoins
🎁 Claim your rewards with the button below
🎁 Claim ⭐ Follow 📥 Archive 🗑️ Delete
  • The header

    Written outside the frame: sender and subject, so the letter is recognized without opening it.

  • The title

    The letter's title, taken from the send as it stands.

  • The body

    Written by the sender, never generated.

  • The rewards

    One line per reward: 6 possible kinds, 20 rewards at most in the same letter.

  • The reward state

    Replaced by a confirmation line as soon as the rewards are granted.

  • Claim

    Only shows if the letter carries unclaimed rewards. The click grants everything in one transaction.

  • Filing

    Follow pins the letter, archive takes it out of the inbox, delete wipes it.

  • No mention is ever notified from a letter: the text comes from elsewhere, so it is made inert when rendered.
  • The buttons live as long as the message does. A letter reopened with >mail read lays down fresh ones.
3

The life of a letter

A letter goes through four states, and only one of them is irreversible. Nothing files itself away: the inbox only empties on the player's own move.

1
It lands
Written by the game or by a broadcast, under one of the 5 letter types.
  • An invite, an announcement, a referral
  • A direct message, unless the mail notice is switched off
2
It gets read
The inbox lists the letters, opening one marks it read.
  • The letter opens in full, rewards included
  • The sender stays visible after reading
3
It gets claimed
One click grants the 20 rewards at most in a single transaction.
  • Everything goes through, or nothing does
  • A summary is written onto the letter, reward by reward
4
It gets filed
Follow, archive or delete: three moves by the player, none of them automatic.
  • No letter vanishes on its own
  • A deleted letter does not come back
Letter types
5 types
The 5 cases: invite, organization announcement, general announcement, referral accepted, referral about to lapse.
Rewards per letter
20 at most
The schema refuses a letter past 20 rewards, before it is even sent.
Code refusals
6 refusals
These 6 refusals only apply to the code door, never to a letter.
  • Deleting an unclaimed letter loses its rewards: nothing puts them back in the inbox.
  • Claiming writes a summary onto the letter, reward by reward: what was granted, what was already owned. It fits the 20 rewards of a letter.
4

Six ways to refuse a code

A code's conditions are set when it is created, and a player may already have used theirs: three refusals are spelled out as they stand, the three others melt into one shared message so no one learns which codes exist.

The refusalWhat closed itOwn message
DisabledThe code still exists, it just no longer works.An administrator switched the code off after the fact.·
ExpiredThe date is set at creation, never pushed back at use time.The end date has gone by.·
Sold outStock is decremented before the grant: a lost race grants nothing.The code's global stock has been reached.·
Level too highThe one refusal that names its bound in the answer.The code targets players below a given level.
Account too oldServes welcome codes without touching long-standing players.The code targets accounts created after a date.
Already redeemedOne claim per player per code, whatever stock is left.This player has already claimed this code.
  • A refusal that already assumes the code is known does not fill the attempt gauge. The merged refusals do count as an attempt, exactly like an unknown code.
  • Stock is consumed before the grant, by a conditional write: two players racing for the last unit, only one gets it.
5

The guard against guessing

A code is a short secret, typed in a public channel: nothing stops anyone from guessing it, except a sliding window of 10 failed attempts per 5 minutes.

Attempts counted
10
The window's ceiling, counted per player: 10 misses and the door shuts.
Sliding window
5 min
It slides with the attempts over 5 minutes, it does not reset on a fixed clock.
What counts
3 refusals
The 3 merged refusals, plus the unknown code. A refusal that names itself does not count.
Verdict
closed 5 min
The door reopens on its own as soon as the attempts fall out of the 5 minute window.
  • Normalization bounds a code at 32 characters before it is ever read: past that, it is refused without counting as an attempt.
  • An accepted code empties the gauge: a player who misses then succeeds starts over clean.

The commands

Manage your mailbox

inbox View your inbox
read Read a specific message in your inbox
  • <mails> The message you want to read
delete Delete a specific message from your inbox
  • <mails> The message you want to delete
settings Manage your mail notification settings
>code
>codes

Use a reward code

list List the codes available right now
Also redeem
>notifications
>notif · >notifs

Manage which notifications the bot sends you

Also disableenablestatus