Home · Telegram · A Telegram giveaway bot that keeps participants with you after the draw
Telegram · giveaway
A Telegram giveaway bot that keeps participants with you after the draw
A post with a “Join” button leads to your bot: it checks the channel subscription, issues a number, picks winners at the set time in a way anyone can re-check, and messages the winner. Every participant is a contact in your base, not a line in someone else’s randomizer.
Channel subscription checkResults with a verification recordFree to enter
What the bot does in a giveaway
Checks the subscription
To one or several channels, including sponsors’. The bot asks Telegram whether the person is subscribed — for that it must be a channel admin. Not subscribed — buttons to the channels and “Check again”. A Telegram failure doesn’t cut anyone out: the bot asks to try again in a minute.
Issues a participant number
Everyone gets their own number in order; a repeat entry gets “You’re already in”. Optionally — a “not a bot” check: a sum to solve or your own question.
Results anyone can re-check
At the start, the hash of a secret number is published on the giveaway page. At the draw the bot re-checks subscriptions, fixes the list and picks winners from that number. The list, the number and the record are public — anyone can verify the draw in the browser.
Prize handover in the CRM
The winner gets a message, the bot asks step by step for the handover details and separately for consent to publish their name. A deal is created for the place. No reply in time — the place goes to the next person in reserve.
Friend invitations
Each participant gets their own link: for every N friends who join through it — one more chance, up to the limit you set. Only new people count, and only after the friend has met the conditions.
Who stayed after the giveaway
Participants by day, subscriber growth for each channel, how many stayed subscribed after 7 and 30 days, CSV export. Suspicious participants are flagged — join spikes, entries right before the draw, the same person twice.
How to run a giveaway in Telegram
-
1
Create a giveaway
The “Create a giveaway” button leads to sign-up: the bot is created right away with a giveaway draft. Already have a bot — “Giveaways” → “Create”.
-
2
Connect the bot and channels
Add the bot in “Channels” with a token from @BotFather. Make the bot an admin of your channel and add the channel to “Channels to check”. A sponsor adds your bot as an admin of their channel.
-
3
Fill in the prize and rules
Prizes by place, number of winners and reserve, results date or number of participants. Generate the rules from the template and enter the organizer — the rules open by a link from the giveaway page.
-
4
Start and publish the post
“Start” — the bot checks that everything is ready. A draft post with a “Join” button appears in Studio: check the text and publish it to the channel.
Ready-made “Subscription giveaway” template
The template creates a giveaway draft and an entry flow. Add the prize, the channels to check and the results date, then start — the bot prepares a post with a “Join” button.
Subscription giveaway A “Join” button under the post, subscription check, participant number, results with a record and a message to the winner. Open →How the bot picks a winner fairly
A manual pick can’t be proven, so the draw is built so that any participant can re-check it. At the start the bot generates a secret number and immediately publishes its hash on the giveaway page — a “fingerprint” that doesn’t reveal the number but makes it impossible to swap later. When entries close, the bot re-checks subscriptions, fixes the list of numbers and publishes it. Winners are computed from the secret number and the list; after the draw the number is revealed, and the “Check in browser” button on the giveaway page repeats the calculation.
The organizer doesn’t see the secret number before the draw and can’t exclude a participant once the list is fixed. Before the draw you can turn on a manual review: look through participants flagged by anti-fraud and exclude them with a reason. More in the article how to pick a giveaway winner fairly.
What to know in advance
- The bot is a channel admin. Otherwise Telegram doesn’t tell whether a person is subscribed. The “Channels to check” page shows whether the bot can check, with instructions.
- Entry is free. If a “Payment” block stands on the way to entry, the bot won’t let you start the giveaway: paid entry looks like a lottery, and a private company can’t run one.
- Consent to mailings is not a condition. The “no luck this time” message with a promo code goes only to those who agreed to mailings themselves.
- Rules before the start. The rules generator assembles dates, prizes, the draw and handover procedure; it’s a template, not legal advice. Tax on a prize over 4,000 ₽ is the organizer’s responsibility; CHBT is not a tax agent. More in the article on giveaway rules and prize tax.
What the giveaway bot doesn’t do
The limits are clear before you launch.
- Doesn’t check subscription to a channel where the bot isn’t an admin: for a sponsor’s channel, the sponsor must add your bot as an admin.
- Doesn’t write first: the giveaway includes those who started the bot themselves from the link in the post.
- Doesn’t pick winners among likes, comments and reposts: a participant is someone who joined through the bot.
- Doesn’t publish posts without your decision: the “Join” post and the results post are created as drafts in Studio.
- Doesn’t hand over prizes or pay taxes for the organizer: the bot collects the winner’s details and tracks the deal, you hand over the prize.
Available plans
Price per CHBT bot per month. Free includes 30 conversations — 30 different people a month — so a real giveaway needs Basic.
Works with
FAQ
How does the bot check the channel subscription?
It asks Telegram whether the person is subscribed to the selected channel. For that the bot must be a channel admin. If Telegram doesn’t answer, the bot asks to try again in a minute and doesn’t cut the person out.
Can I check that the winner was picked fairly?
Yes. Before the start the giveaway page shows the hash of a secret number; at the draw — the list of numbers and the number itself. The “Check in browser” button repeats the calculation, and the record can be recomputed by hand.
What if the winner doesn’t reply?
The winner gets a message and a reply deadline. No reply or a refusal — the place goes to the next person in reserve, and it’s shown on the results page.
How much does it cost?
You can try it on the Free plan, but it has 30 conversations a month — that’s the cap on participants. Basic is 650 ₽/month per bot, Business is 1,290 ₽.
Can entry be paid?
No. The bot won’t start a giveaway if a “Payment” block stands on the way to entry: paid entry looks like a lottery.
A giveaway after which subscribers stay
Create a giveaway, connect the bot to the channel and publish a post with a “Join” button. Participants stay in your base, and the results can be re-checked.