Creator Tools

Emoji packs: the three creation modes

An emoji pack is created three ways in Telegram — a 3D spinning coin, a static image, or a paste of premium emoji that already exist in another pack —…

Emoji packs: the three creation modes

An emoji pack is created three ways in Telegram — a 3D spinning coin, a static image, or a paste of premium emoji that already exist in another pack — each reached by its own direct command. The same three choices also appear as buttons on a chooser screen when you add to a pack you already own.

Commands

/newpack opens the wizard. /emojipack is an identical alias for it — the dashboard's own copy refers to the feature as /emojipack, while the bot's Telegram command menu lists /newpack. Both trigger the same handler.

Commands

CommandIn the Telegram command menu?Effect
/newpackYes — private and groupOpens the coin wizard. If premium emoji are pasted in the same message, opens Existing Emoji instead.
/emojipackNo — alias onlyIdentical to /newpack.
/staticemojiNoOpens the From Image (static) wizard directly.
/mypacksYes — private and groupLists your packs, 10 per page.

A command matches with or without an @botname suffix, and with trailing text or an emoji after it — /newpack@YourBot and /newpack 🔥 both match; /newpackfoo does not. /newpack and /emojipack also match when they appear in a photo or document caption, not just as message text; /staticemoji only matches as message text.

Where to find the on/off switch

SettingValue
Dashboard locationManagement tab → "Emoji Creator" card, tooltip "/emojipack — custom static + spinning-coin emoji packs".
State keyemoji_packs_enabled — see below for what it actually gates.

The three modes

Reaching a mode by its direct command skips straight into that mode — /newpack (no premium emoji attached) goes straight to an image request, /staticemoji goes straight to a name request, and pasting premium emoji into /newpack goes straight to a name request. None of the three asks you to pick a mode first.

The three modes and how to reach each one directly

ModeChooser button labelDirect commandFirst prompt
CoinCoin flip/newpack or /emojipack, no premium emoji attached"Let's make a 3D coin emoji. Send an image — upload a PNG, SVG, or AVIF as a file to keep transparency, or paste an image URL."
StaticFrom Image/staticemoji"Make a static emoji pack. Send a name for the pack."
Existing emojiExisting Emoji/newpack (or /emojipack) with premium emoji pasted in the same message"Gotchu, send a name for the pack"

The chooser itself — three buttons labelled Coin flip (ep:new:coin), From Image (ep:new:static) and Existing Emoji (ep:new:ids) — is not shown for a brand-new pack. It appears once a pack already exists: tapping Add New Emojis on a pack's detail card re-opens it, scoped to that pack, with the prompt "Add to this pack. A coin flip, an emoji from an image, or existing emojis?" and a Back button alongside the three mode buttons.

Authorization

Accepted chat types are private, group and supergroup. Channels are rejected outright — none of the four commands work there.

Who may send /newpack, /emojipack, /staticemoji or /mypacks

SettingValue
In a DMOnly the bot's owner/admin, or a username listed in dm_authorized_usernames.
In an authorized groupAny member of that group — authorization keys on the chat, not the sender.
In an unauthorized group, or an unlisted DM senderThe command is silently ignored — no reply.

Buttons inside an already-open wizard (the ep: callbacks) are not re-checked against this list. Once a wizard message exists, tapping its buttons only requires the tap to come from the Telegram user id the wizard was opened for, plus the group's emoji_packs_enabled switch below.

The /start precondition

Telegram only lets a bot create a sticker set owned by a user it can resolve as a private peer — someone who has opened a DM with it. /newpack, /emojipack and /staticemoji check this before doing anything else; /mypacks does not need it.

Shown when the check fails, for 30 seconds

Before I can make a pack for you, Telegram needs you to open a private chat with @<bot> and send /start once — then run this again.
SettingValue
Resolvability cache600 seconds — a successful check is not repeated within that window.

emoji_packs_enabled

The group on/off switch

SettingValue
DefaultOn.
Effect when offSuppresses /newpack, /emojipack, /staticemoji and /mypacks in groups and supergroups. Their entries are also removed from the group's Telegram command menu.
DMsNever affected — the switch is not consulted at all in a private chat.
Where to change itDashboard → Management tab → "Emoji Creator" card.

Note

No Telegram Premium check and no plan or package-tier check exist anywhere in the pack-creation code path. Creating a pack is gated only by the authorization rules and the /start precondition above.

Copyright © 2026