Tools
Embed Studio
Design rich messages with Embeds v2 and v3: animated themes or your own gradients, icons, hero banners, feature grids, timelines, cards, ratings, tabs, charts and controls. Everything you see here is exactly what members see.
blocks
Waiting for the first check…
Add a block
Style · Embeds v3
Applies to the first card (container). Pick a theme or your own 2–3 colors.
Icons · 326
Click one to copy its name, then use it as "icon" in any v3 field.
Live preview
A
Your appAPPToday
New season
Season 4 is live
Ranked queues, new maps and a fresh battle pass.
Ranked
Climb seven tiers with seasonal rewards.
3 new maps
Harbor, Dunes and Skyline.
Battle pass
80 levels, free track included.
4.8Player rating12.4k reviews
js
import { botFromEnv } from "./voznest.mjs";const bot = botFromEnv();bot.command({ name: "report", description: "Show the report" }, (ctx) => ctx.reply({ blocks: [ { "type": "container", "theme": "sunset", "blocks": [ { "type": "hero", "eyebrow": "New season", "title": "Season 4 is live", "subtitle": "Ranked queues, new maps and a fresh battle pass.", "imageUrl": "https://picsum.photos/seed/voznest-launch/1200/500", "icon": "rocket", "height": "md" }, { "type": "features", "items": [ { "icon": "trophy", "title": "Ranked", "text": "Climb seven tiers with seasonal rewards." }, { "icon": "map", "title": "3 new maps", "text": "Harbor, Dunes and Skyline." }, { "icon": "gift", "title": "Battle pass", "text": "80 levels, free track included." } ] }, { "type": "separator", "style": "gradient" }, { "type": "rating", "value": 4.8, "label": "Player rating", "count": "12.4k reviews" }, { "type": "actions", "components": [ { "type": "button", "style": "link", "label": "Patch notes", "url": "https://example.com/patch-notes" }, { "type": "button", "style": "primary", "label": "Join the queue", "customId": "queue:join" } ] } ] } ] }),);await bot.start();Send a test
Paste a webhook URL from Hub Settings → Webhooks. It's only used for this request and never stored. Webhooks can use link buttons only; other controls need a bot.