Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Apeuriox/lazybot-renewal/llms.txt

Use this file to discover all available pages before exploring further.

Lazybot’s badge system gives players collectible profile badges that reflect their achievements in the community. Every badge has a name, description, and image. You earn badges either by completing a curated challenge map pack through /challenge and /submit, or by receiving a one-time redemption key from an admin and using /redeem. Once collected, badges can be displayed on your profile card through a customisable showcase slot system.

How to Earn a Badge

There are two paths to earning a badge: 1. Challenge completion Work through a badge challenge — a curated set of beatmaps each with accuracy, combo, and mod requirements. When you finish every map in the challenge, a redemption key is generated and you can claim the badge. See the Challenges page for the full flow. 2. Key redemption An admin generates a one-time key tied to a specific badge (via /genkey) and distributes it to you directly. Run /redeem with the key to receive the badge instantly. The key is invalidated after a single successful redemption.

/badge — View and Manage Your Badges

The /badge command is the central hub for interacting with your badge collection. It supports four sub-types, passed as the first argument.
TypeAliasesDescription
listDisplay all badges you currently own.
viewShow the image and details of one specific badge by its index.
setChoose which badges appear in your profile showcase (up to 4).
clearRemove all badges from your showcase.
Type
string
required
Sub-command type. One of list, view, set, or clear.
Index
integer
view only. The 1-based index of the badge to display, as shown in your list output.
Indexes
string
set only. A comma-separated list of badge indexes to showcase, e.g. 1,2,3. Maximum of 4 entries.
/badge list
/badge view 1
/badge set 1,2,3
/badge clear
The Discord (SlashCommandInteractionEvent) path for /badge is marked as not yet implemented in the source. On Discord, use the QQ/OneBot interface or wait for a future update.

Badge Showcase

The showcase is a subset of up to 4 badges from your collection that are rendered on your profile card. Use set to select them and clear to reset the showcase at any time. The showcase state is stored per-user in the badge_user_showcase table.

Admin Commands

/bma — Add a Badge Definition

Creates a new badge definition using a structured parameter syntax.
Content
string
required
Badge fields in {key=value} format. Supported keys: name, desc, alt, type.
/bma {name=Test Badge} {desc=A test badge} {alt=Test} {type=0}

/bm — Set Badge Image

Attaches a remote image URL to an existing badge definition.
BadgeId
integer
required
The ID of the badge to update.
URL
string
required
The remote URL of the badge image.
/bm 2 https://example.com/badge.png

/bmr — Remove a Badge Definition

Deletes a badge definition by its ID.
Id
integer
required
The ID of the badge definition to delete.
/bmr 6
/bma, /bm, and /bmr require administrator privileges. Calls from non-admin users will be rejected by AuthorityVerifier.
The Discord (SlashCommandInteractionEvent) path for /bma, /bm, and /bmr is marked as not yet implemented in the source. These admin commands are currently available on the QQ/OneBot interface only.

/bum — Manage User Badge Ownership

Grants or revokes a badge directly on a player’s account. Accepts batch operations via |-separated pairs.
Type
string
required
Action type. add (aliases: addto, at) or remove (aliases: rm, removefrom, rf).
Content
string
required
One or more <lazybotId>:<badgeId> pairs separated by |. Example: 11:2 or 11:2|12:3.
/bum add 11:2
/bum rm 11:2
/bum add 11:2|12:3
/bum requires administrator privileges.
The Discord (SlashCommandInteractionEvent) path for /bum is marked as not yet implemented in the source. This command is currently available on the QQ/OneBot interface only.

Player Flow

1

Earn a Badge

Complete a badge challenge via /challenge + /submit, or receive a one-time key from an admin. A key tied to the badge reward is either generated automatically upon challenge completion or issued manually with /genkey.
2

Redeem (Key Path)

If you were given a key, run /redeem <key> using the AAAA-BBBB-CCCC-DDDD-EEEE format. Lazybot validates the key and adds the badge to your account. The key becomes inactive immediately after.
3

View Your Collection

Run /badge list to see all badges you own, then /badge view <index> to inspect any single badge in detail.
4

Set Your Showcase

Pick up to 4 badges to display on your profile card with /badge set 1,2,3. Clear them at any time with /badge clear.

Data Model

TableKey FieldsPurpose
badge_definitionid, name, description, type, alternative_name, remote_url, create_timeMaster catalogue of all badges
badge_user_owneduser_id, badge_id, obtain_time, source_challenge_id, source_textRecords which badges each player owns and how they were obtained
badge_user_showcaselazybot_id, badge_idThe subset of owned badges each player has chosen to display

Challenges

Learn how to complete map-pack challenges to earn badges.

Badge Overview

Viewing, showcasing, and managing your badge collection.

Build docs developers (and LLMs) love