Help›Bots
“Gift for a follow” (Telegram)
Your Telegram bot greets users, checks the channel subscription and hands over the gift. Every wizard setting explained.
A user starts your bot — it greets them, optionally checks the subscription to your channel and hands over what you promised: a link, a file, a promo code.
Who it is for
- You are growing a Telegram channel and give material away for a subscription.
- You run ads to a bot and want to see where each user came from.
- You need an entry point you can put anywhere: profile bio, a post, an ad.
What the follower sees
- They reach the bot: tap “Start”, open your link or send a code word.
- The bot sends the welcome with a button. If the subscription check is on, the bot adds its own “Open channel” button next to yours.
- They tap your button.
- The bot checks the channel subscription. Subscribed — the gift goes out right away. Not subscribed — they get the “If not subscribed” message with a “Done” button and the same channel button.
- They subscribe, tap “Done” — the bot checks again and hands over what you promised: a message with a link button, or the file (video, audio, picture, document) as one message with your text as its caption.
- If they never tap the button, the bot can nudge them ten minutes later.
If a user comes back and asks for the gift again, the bot hands the material over one more time, exactly as before: it checks the subscription when that check is on and sends what you promised.
Wizard settings, step by step
Step “About the bot”
The first step of every template bot. Two rows: Name — what the bot is called in your bot list (“Gift for a follow 1” by default, the next such bot gets “Gift for a follow 2” and so on; feel free to rewrite it), and Description — a short note for yourself on what the bot does (empty when the bot is created, optional). Only you see these.
Step “Bot”
Pick the bot this will run in and decide whether to require a channel subscription.
“Bot” — a Telegram bot from “Connections”. Required.
“Require subscription” — a switch, on by default. The hint reads: “The bot hands out the material only to channel subscribers”. Off — the gift goes out right after the button is tapped, and the “If not subscribed” step disappears from the wizard. While the switch is on, the welcome text carries a sentence about subscribing — edit it as you like; turn the switch off and the sentence is removed from the text.
With the check on, a reminder appears under the switch — without it the check cannot work:
Add the bot as a channel admin: open the channel → tap its name → “Administrators” → “Add administrator” → pick the bot and grant all rights except adding admins.
Telegram does not let an outside bot see who is subscribed — only an admin of the channel.
“Channel” — the channel users must subscribe to. Tap the field and a list of the channels where your bot has already been seen opens; each row says whether the bot is an admin there. The channel is not on the list — use “Add channel”, type the channel handle and tap “Check and add”. If the bot already has a channel, it is filled in automatically.
The address is accepted in any usual form: @my_channel, my_channel without the @, t.me/my_channel or a https://t.me/my_channel link — all of these mean the same channel. A private channel is named by its numeric id like -100…. A personal invite link (t.me/+…) cannot be used as a channel address.
Every choice is checked live: the wizard asks Telegram whether the channel exists and whether your bot is an admin in it. While the check runs, “Checking…” stands under the field. If it fails, the wizard says exactly what is wrong (“the bot is not in this channel”, “the bot is there but it is not an admin”, “Telegram does not know this channel”) and will not let you move on until it is fixed. One exception: if Telegram simply did not answer, the wizard lets you through — that is about the connection, not about the channel.
The hint under the field reads: “The ‘Open channel’ button will lead here. For a private channel by numeric id there will be no button — put the invite link into the welcome text”. See Telegram specifics.
Step “What starts it”
Say what starts the conversation: the user taps “Start”, sends a code word or opens your link. You can add several triggers; if there are several, the bot picks the most precise one.
Triggers are added as a list: “Add a trigger” and pick a kind. To remove one, use “Delete” on its row. An empty list will not pass.
The five kinds:
- “The /start command” — the bot starts when a user taps “Start” or sends
/start. No settings of its own. - “Opening a link” — the bot starts on its own when a user opens your link. Each source gets its own link, so you can see where users came from.
- “Exact message” — the bot answers only when the message is exactly the code word and nothing else.
- “Message that contains a word” — the bot answers when the code word appears in the message, even among other words.
- “Any message” — the bot answers any message, no code word needed. No settings of its own.
Fields on a trigger page:
“Code words” — for “Exact message” and “Message that contains a word”. Chips: type a word, press Enter. Example: guide, want. It cannot be empty — the wizard says “Add at least one code word”.
“Your link” — for “Opening a link”. A ready link with a copy button: “Put it in your profile bio, an ad or a post. Whoever follows it lands here.”
“Where users come from” — on the same page, required. Name the source: an ad, profile bio, a post. It becomes the link tail, and it shows where each user came from. Example: profile bio. Two links with the same label in one bot are not allowed — the wizard says “This link is already added to this bot”.
Step “Welcome”
This is the first thing a user sees from the bot, and the button they tap to get what you promised.
“Welcome message” — default: “Hi! Would you like a lesson on setting up chat bots?”
“Button text” — default “Yes, please”. With the subscription check on, the bot adds its own “Open channel” button next to it.
“Welcome image” — the only field you may skip. JPG, PNG or GIF, up to 10 MB. If the format is wrong, the wizard says so right away; if the image is heavier, it offers to compress it or to pick another one (the browser does the compression itself, and on a phone the app does). The image arrives as one message with the welcome text and the buttons under it.
Step “If not subscribed”
The step is absent when the subscription check is off.
The user tapped the button but is not subscribed to the channel — this is what they see.
“Message” — default: “I do not see your subscription yet. Subscribe and tap again.” The hint reads: “Sent when the user taps the button but has not subscribed yet”.
“Button text” — default “Done”. Tapping it makes the bot check the subscription again.
Step “What we hand over”
This is what the user came for — the bot sends it once everything checks out.
“Message” — default: “Great! Tap the button below to start watching the lessons.”
“What to send” — “Link” (default), “Image”, “Video”, “Audio”, “File”.
“Button text” — link only, default “Watch the lessons”.
“Link” — link only, an address like https://…; it opens via the button inside the message.
“File” — attachments only. An image up to 10 MB, video, audio and documents up to 50 MB. If the file is heavier, the wizard offers to compress a video and to pick another file otherwise. In the app a video is compressed right on the phone — a heavy clip is not uploaded anywhere until you tap “Compress”. Telegram plays video only in MP4: for a MOV, WEBM or AVI clip the wizard offers to convert it — tap “Convert” and it lands in the field in the right shape. The file goes out as one message with your text as the caption; there is no button under it.
Step “Additional settings”
“Remind about the gift”, “Follow-up message”, “Interval, minutes” and “Finish the conversation after (hours)” are explained in Additional settings. On Telegram the reminder is always available: the platform does not limit bots to a 24-hour window the way Instagram does.
Common questions
The bot says there is no subscription, but the user is subscribed. Almost always the bot is not an admin of the channel. Open the channel → its name → “Administrators” → add the bot and grant all rights except adding admins.
My channel is private and there is no “Open channel” button. That is expected: a private channel identified by a numeric id gives nothing to build a link from. Put the invite link into the welcome text instead. See Telegram specifics.
Why several links? To see the source. Make one link for ads, one for your bio and one for a post — then “Contacts” shows where each user came from.
A user wrote something of their own instead of the code word. While someone is inside a bot, everything they write goes to that bot — it does not drop the conversation halfway. Once the bot is finished, or the user has been silent longer than the period in “Additional settings”, the next message is routed by the usual launch rules again.