Overview
LittleJohn is a Telegram bot that turns your group's members into your growth team. Every member gets their own invite link. When someone real joins through it and stays, the member who shared it earns points and climbs a leaderboard posted in your group.
Members also earn for chatting, checking in, posting about you on X and replying to raids. You get a dashboard that shows who is actually doing the work, a CRM profile for every member, a review queue for rewards and a CSV export for your airdrop.
The short version: add the bot to your group as an admin, tap the setup link it DMs you, and your dashboard is live. No email, no password, no call.
Setting up your group
Anyone who runs a Telegram group can set LittleJohn up themselves, all in Telegram. It takes about two minutes.
- Add the bot to your group as an admin. Use the add to group link — it asks for the right permissions in one step. Added without admin rights, it stays and asks to be promoted, then carries on by itself.
- Tap “Set me up”. The bot says hello in your group with a button, and sends the same button to whoever added it. It opens setup in a private chat for that exact group, and only an admin of the group gets past the first screen.
- Choose what it does. Switch each feature on or off — chat points, check-ins, X posts, raids, wallets, profile questions, welcomes, the weekly leaderboard and share reminders. Invite tracking is always on.
- Set when it posts. Your timezone, the leaderboard’s day and time, how often it reminds members to share, and one line on what points earn.
- Make it sound like you. Reword any message right there, or later in your dashboard. See your settings & wording.
- Launch. One tap posts and pins the intro in your group. Then open your dashboard from the link it gives you.
Nothing is posted to your group during setup. The bot stays quiet until an admin launches it.
Permissions the bot needs
| PERMISSION | WHY |
|---|---|
| Admin | Required to see who joins and leaves, and through which link. Without it the bot leaves. |
| Invite users via link | Creates each member's personal invite link. |
| Ban users | Lets the bot see members leave, remove accounts with scam-style names, and carry out /ban. |
| Delete messages | Removes wallet addresses if someone posts one publicly in the group. |
| Pin messages | Pins the launch announcement, the share button and live raid cards. |
Who counts as an admin
Anyone who is an admin or the owner of your Telegram group can use admin commands. This is checked live every time, so removing someone as a group admin removes their access to the bot's admin commands immediately.
Launching to your members
- Tap Launch at the end of setup — or send
/ljannouncein the group. The bot posts and pins an introduction with a Get Started button. - Send
/promolater to post and pin a standing Share to All Your Chats button. - Let the loop run. The bot shouts out every credited join, reminds the group to share, and posts the leaderboard every week — see automatic posts.
How members start
A member opens a private chat with the bot and sends /start, or taps any of the bot's buttons in the group.
- A quick intro explains what the bot is and how points work.
- Three optional questions: a nickname, their X handle and their email. Each one is worth +5 points, and each can be skipped.
- The quest board opens: their points, tier, check-in streak and a button for each thing they can do next.
The quest board
Members can reopen it any time with /quests. Its buttons are:
- Your link — their personal, permanent invite link, with their points and rank.
- Share — Telegram's own share sheet, with their link ready to send.
- Post on X — submit an X post for review. Hidden while one is already waiting.
- Check in — shown until they've checked in today.
- Finish profile — shown until their nickname, X handle and email are filled in.
Invite links, the quest board and wallet registration only ever appear in a member's private chat with the bot, never in the group.
Earning points
Everything a member does adds up to one score. It decides their rank on the leaderboard and is the number in your export.
| ACTION | POINTS | THE RULE |
|---|---|---|
| Real invite | +10 | Each person who joins through their link and stays. Multiplied during a boost. |
| Chatting | +1 | Per message in the group, up to 20 points a day. Commands and very short messages don't count. |
| Daily check-in | +2 | Once a day from the quest board. |
| Profile field | +5 | Each for nickname, X handle and email. |
| Approved X post | +50 | After an admin approves it. |
| Raid reply | +15 | A reply to the raid post, confirmed on the member's own X account. |
| Detailed raid reply | +30 | The same, for a reply of 20 words or more. |
Invite rules
- Only real people count. Bots joining through a link earn nothing.
- No self-invites. Joining through your own link earns nothing.
- One person, one credit. Someone already counted can't be counted again. If they leave and rejoin through a different link, the credit stays with whoever brought them in first.
- Leaving removes the credit. If an invited person leaves, the referrer loses those points. If they come back, the points return.
- Boosts lock in. Invite points are priced at the moment of the join, so an invite earned during a boost keeps its boosted value.
Joins through a public link, or people added by an admin, show in your growth stats but aren't credited to anyone.
Leaderboard & tiers
The leaderboard ranks members by total points. If two members are tied, whoever got there first ranks higher.
- Posted automatically to your group once a week, on the day and at the time you choose — Friday at 12:00 unless you change it — showing the top 10.
- On demand: anyone can send
/leaderboard. In a private chat it also shows their own rank and how many points they need to pass the person above. - Members who leave drop off while they're out, and come back when they rejoin.
Tiers
Tiers are badges on the quest board, based on a member's score.
Wallets
Members send /wallet followed by their address in a private chat with the bot. It accepts EVM addresses (starting with 0x) and Solana addresses, and catches typos like a wrong length or invalid characters. Sending a new address replaces the old one.
If someone posts /wallet in the group, the bot deletes the message to protect their address and sends them a button to register privately instead.
Member commands
Anyone in your group can use these. Personal ones answer in a private chat.
| COMMAND | WHAT IT DOES |
|---|---|
/start | The welcome, then the quest board. |
/quests | The quest board: points, tier, streak and what to do next. |
/invite | Your personal invite link, invite count, points and rank. |
/leaderboard | The top of the leaderboard. Also works as /top. |
/wallet | Save or change your wallet, when your group collects them. |
/x | Your group’s X account. |
/group | Switch which group you’re looking at, if you’re in more than one. |
/help | What the bot does — and, for admins, the admin commands. |
In more than one group
If you’re in two groups that use LittleJohn, each keeps its own points, link and leaderboard — nothing carries across. In a private chat with the bot:
- Buttons know their group. Anything you tap in a group, or on a quest board the bot sent you, acts on the group it came from.
- Typed commands ask. Send
/inviteor/questsand the bot asks which group you mean, then remembers for the rest of the day. - It always says which. Your link and your quest board show the group’s name, with
/groupto switch.
Connecting your X app
Invites, points, the leaderboard and the dashboard all work without X. Raid checks and Raid Scout read from X, and those reads cost money — so they run on your project's own X developer app, and the bill goes to you rather than to everyone.
- Open your dashboard and go to X app.
- Create or open an app in the X developer console. Copy the API Key and API Key Secret — not the bearer token.
- Add usage credit in X. Raid checks are built to use as few reads as possible, but X still bills them to the connected app.
- Paste the keys. LittleJohn checks them before saving and never shows the secret again.
Until your X app is connected, members are told plainly that raid checks aren't available in your group, rather than being asked to try again.
Running a raid
A raid sends your whole group to one X post at once. Start one in the group:
/raid https://x.com/yourproject/status/123 30 Drop your honest take
- The link must be an X post.
- Minutes are optional: 5 to 1,440, default 45.
- The instruction is optional. Without one, members are asked to get in the comments, and like and repost if they're there.
What members see
- A pinned raid card with the target post, what to do, the reward terms and a countdown. It's unpinned when the raid ends.
- A Reply button that opens X with a reply to the target post ready to write.
- A one-time Connect X step so the bot knows which X account is theirs. It's read-only: LittleJohn never posts as them.
How replies are paid
Every few hours LittleJohn checks who has replied to the raid post and pays +15 points per confirmed reply, or +30 for a reply of 20 words or more. Replies written within 24 hours of the raid starting count. The card shows the exact schedule.
/raid on its own posts a share push instead: a call to share invite links right now, with the share button attached.
One raid runs at a time. Starting a new raid replaces the live one, and the old card is marked as replaced so nobody chases a stale post.
Raid Scout
Once your X app is connected, Raid Scout reads a few of the accounts you want to be seen under every hour and sends your group to the best post it finds. You choose those accounts and keywords on the Raid Scout page of your dashboard.
If a raid is already live, Raid Scout skips that hour instead of stacking another card. A post is only marked as raided once Telegram has accepted the card.
X post rewards
- The member posts about your project on X, then taps Post on X on their quest board and pastes the link.
- The submission lands in the Reviews queue in your dashboard.
- Approve pays +50 points and tells the member. Reject tells them too, and they can submit a different post.
- If an approved post is later deleted, Revoke takes the 50 points back.
A member can only have one post waiting at a time, and a decision is only ever recorded once.
Admin commands
Only your group's admins can use these. /help in a DM with the bot shows admins a tap-to-copy version of this list. When an admin runs one in the group, the bot deletes the command message once it has acted on it, so the group sees the result — the raid card, the pinned promo — not the instruction.
| COMMAND | WHAT IT DOES | WHERE |
|---|---|---|
/ljannounce | Posts and pins the launch announcement. Use once, at launch. | Group |
/promo | Posts and pins a Share to All Your Chats button. | Group |
/raid | Starts an X raid on a post link, or posts a share push on its own. | Group |
/boost | Starts, checks or ends an invite points multiplier. | Group |
/stats | Your group's growth over the last 7 days. | DM |
/export | A CSV of every member, their points and wallet. | DM |
/ban | Bans a member. Reply to their message, or /ban @username. | Group |
/filter | Sets, lists or removes keyword auto-replies. | Group |
/settings | Opens your group’s settings: features, schedule and wording. | DM |
Running a boost
A boost multiplies the points for every new invite for a set time — the fastest way to drive a burst of growth around a launch, a listing or a big announcement.
| COMMAND | RESULT |
|---|---|
/boost 48 10 | 10× invite points for the next 48 hours. Each invite is worth 100 points. |
/boost | Shows whether a boost is running and when it ends. |
/boost off | Ends the current boost early. |
Hours can be 1 to 720 (30 days) and the multiplier 2 to 50. The group is told when a boost starts, with a share button attached, and when it ends early.
Stats & export
/stats
Joins, leaves and net growth for each of the last 7 days compared with the 7 before, where joins came from (credited to a member, untracked or not credited), and totals for active invites, recruiters and registered wallets.
/export
A CSV with one row per member. The message with it tells you how many members have a wallet and how many have points and can be paid.
| COLUMN | WHAT IT MEANS |
|---|---|
| user_id, username, first_name | Who the member is on Telegram. |
| points | Their total score — the same number as the leaderboard. |
| active_invites / lapsed_invites | People they invited who are still in the group, and who have since left. |
| active_days | Days they have chatted in the group. |
| nickname, x_handle, email | Profile details they chose to share. |
| wallet_address, wallet_chain, wallet_updated_at | Their registered wallet and when it last changed. |
| in_group | Whether they are in the group right now. |
| invite_link, first_seen | Their personal link, and when the bot first saw them. |
The same export is one click from the Members page of your dashboard.
Automatic posts
Once launched, the bot keeps the loop going on its own, in your group’s timezone. Switch any of these off, or change when they go out, in /settings or your dashboard.
| POST | WHEN |
|---|---|
| Join shout-out | Whenever someone joins through a member's link. |
| Share reminder | As often as you choose — every 4 to 24 hours (8 unless you change it), with the share button. |
| Leaderboard | Once a week, on your day and at your time. |
| Boost started / ended | Whenever an admin starts or ends a boost. |
| Raid card | Whenever a raid starts, by an admin or Raid Scout. |
Keyword replies & bans
/filter
Set an automatic reply to a keyword, so common questions answer themselves.
| COMMAND | RESULT |
|---|---|
/filter gm Good morning ☀️ | Replies "Good morning ☀️" whenever someone says gm. |
/filter gm off | Removes that auto-reply. |
/filter | Lists every auto-reply in the group. |
/ban
Reply to a member's message with /ban, or send /ban @username.
Dashboard tour
Your dashboard is built around decisions, not charts. Each community has its own data and settings, and the first page tells you the one thing worth doing next.
| PAGE | WHAT IT IS FOR |
|---|---|
| Overview | Today's next move, key numbers and what needs attention. |
| Pulse | One health score for growth and engagement. |
| Reviews | Approve, reject or revoke X post rewards. |
| Growth | Member growth, referral quality and retention. |
| Engagement | Active members, segments and how to wake the community up. |
| Campaigns | Boosts, raids, pins and bot posts. |
| Raid Scout | The accounts and keywords scouted every hour, and what it found. |
| X app | Connect your own X developer app. |
| Members | Search, segment and export members; open anyone's CRM profile. |
| Settings | What the bot does in your group, and when it posts. |
| Messages | Reword any message the bot sends, with a live preview. |
| Calendar | Plan Telegram, X and campaign posts. |
| Activity | Joins, leaves, warnings and admin actions. |
If you add LittleJohn to another group, the setup link opens that group's dashboard. Existing operators can sign in from the login page.
Your settings & wording
Everything you chose in setup can be changed any time, in two places that always agree: /settings in a private chat with the bot, and the Settings and Messages pages of your dashboard.
Rewording messages
Every message, button and pop-up the bot sends can be reworded — about 150 of them, from the welcome to the raid card. Each one shows where and when it’s sent, and a preview of exactly what your members will see.
- Variables like
{group},{link}or{invite_points}are filled in by the bot. Point values are always variables, so your wording can’t promise the wrong reward. - Some messages need a variable to work — the invite message needs
{link}. The bot won’t save wording that drops it, and tells you why. - Formatting:
**bold**,_italic_,`code`and[link text](https://…). - Reset to default any time, one message at a time.
Only admins of your group can change its settings or wording. Every change is checked with Telegram at the moment it’s made.
Troubleshooting
I can't find the Set me up button
It’s in the bot’s hello message in your group, and in a DM to whoever added it. Or send /start in the group as an admin — the bot answers with the button. Once set up, /settings in a private chat with the bot opens your settings.
The bot asked to be made an admin
It was added as a regular member. Promote it with the permissions above — no need to add it again. It says hello with the Set me up button as soon as it’s an admin.
It says I'm not an admin
Check you're still an owner or admin of that exact group, then open a fresh setup link. A forwarded link doesn't transfer ownership.
A member says their raid reply wasn't paid
Check they've connected their X account in the bot, that their reply is on the raid's target post, and that it was written within 24 hours of the raid starting. Replies are checked every few hours, so a new one may not be paid yet.
Raid Scout isn't running
Open X app in your dashboard. Your community needs valid X keys and credit before scouting and raid checks can run.
Ownership & security
A forwarded link is never enough to claim a community. The setup link is signed, so it can't be forged, and before anything is created the dashboard asks Telegram whether the person opening it still runs the group.
- The setup link's signature is valid and it hasn't expired.
- The person opening it is still an admin of that group.
- The group isn't already owned by someone else.
- Opening the same link twice can't create the community twice.
Each group's data lives in its own store, so one community can never see another's members, points or exports.
Fake-join protection
Invite links attract bot farms, which flood a link with fake accounts to inflate a score. LittleJohn watches every link for joins arriving far faster than real sharing produces.
- Detect. A real share can bring in several people at once, so that's never punished. A link that gets flooded is caught automatically.
- Stop the credit. Flood joins earn no points, so the leaderboard can't be gamed.
- Shut the link. The abused link is revoked so nothing more comes through it.
The exact limits are deliberately not published — they are the thing a bot farm would tune itself against.
Privacy & data
The short version is below. The full detail — every piece of data, who can see it, and how to have it deleted — is on the privacy page.
What it can't see
Telegram doesn't let any bot see which other groups or chats a person is in. When a member taps Share, Telegram shows them their own chats and they choose where to send their link. The bot never logs in as anyone, and connecting X is read-only.
What it stores
- Telegram ID, username and first name of people who interact with the bot or join your group.
- Invites, check-ins, chat activity counts, raid replies and quest submissions, to calculate points.
- Anything a member chooses to add: nickname, X handle, email and wallet address.
The bot counts how many messages someone sends per day. It doesn't store what those messages say.
Need support? Contact James on Telegram: @jamesss_builds. Or email hello@littlejohnbot.xyz.