Flow Preview
Overview
Stop bots and spam accounts before they ever reach your chat: new group members (or new /start users) have to tap the right emoji before they can post or continue. No links, no puzzles to type — just a quick human check that runs automatically.
Who It's For
Perfect if bots, spam accounts or scripted joins keep hitting your group or your bot's /start command. Add it to a private bot to gate access before anyone reaches your menu, or drop it into a group so every new member proves they're human before they can post — no admin has to sit and watch the join list. It runs entirely inside Telegram, needs no extra service or API key, and takes a real person only seconds to pass.
Setup Requirements
- Should the captcha run in private chat, on group joins, or both?
- How many wrong attempts should someone get before failing?
- What should happen when someone fails: remove them from the group, mute them, or just stop them from continuing?
- For the group gate: add your bot to the group, then promote it to admin and turn on the "Restrict members" permission — without it, joins are invisible to the bot and it can't mute or remove anyone.
- Press Deploy to put the flows live on your bot.
- Test both paths: send /start to the bot yourself in a private chat, and have a second (test) account join the group, to see the challenge and confirm a correct answer passes you through.
- Adjust to taste: how many emoji options appear, the grid width, how many attempts are allowed, the time limit, and what happens on failure (kick, mute, or just stop there).
Node Breakdown
- Someone sends /start in a private chat, or joins your group — the challenge appears immediately
- They see a short prompt like "press the ➡️ Apple" with a shuffled grid of emoji, and tap the one you asked for
- A wrong tap shows a brand-new grid, not the same one again, so they can't just memorize it — they get 3 tries
- In your group, new members are muted the moment they join and stay muted until they pass or the 5-minute clock runs out
- Pass, and the challenge message disappears and they move straight into your welcome message
- Fail — three wrong answers, or time runs out in a group — and the bot removes them from the group automatically; in a private chat it simply stops there and they can send /start again
Details
Good to know
- Works as two separate flows so you can use either or both: a private /start check, and a group join gate.
- In your group, the bot needs to be an admin with the "Restrict members" permission — that's what lets it mute new members while they're being checked and remove them if they fail. Without that permission, Telegram won't even tell your bot when someone joins.
- The group gate can only run one challenge at a time per group — if several people join in the same moment, they're checked one after another rather than all at once. For a very high-traffic group, the private /start version scales better.
- In private chats there's no muting or kicking involved — a failed captcha just stops there, and the person can send /start again to retry.
- The number of emoji options, the grid width, how many attempts are allowed, the time limit, and what happens on failure are all editable settings in the visual editor — no code involved.
- The challenge text itself shows up in the visitor's own Telegram language automatically (Russian or English); you only need to touch it if you want a custom intro line.
Keep in mind
- Don't rely on the group gate for a very high-traffic group — only one challenge runs at a time per group, so simultaneous joins queue up rather than running in parallel.
- The group gate does nothing without admin rights: double-check "Restrict members" is granted before you count on it to protect a live group.
