Telegram Bot for Paid Access to a Private Channel
Who It's For and What It Solves
For private channel owners, clubs and creators of premium content who sell subscriptions by hand and track dates in a spreadsheet. The bot accepts Telegram Stars with no payment provider, counts the period from the moment of payment and reminds members to renew. The admin only approves join requests and removes people tagged “Did Not Renew” from the channel.
- Who it's for
- Private channel, club, premium content
- Level
- Advanced — Includes payments or your own service — about 20–30 minutes.
- What to connect
- Needs: channel
- How it starts
- The bot's main flow: it answers /start and any message that a command or keyword flow didn't catch.
- Blocks in the flow
- 28
How the Bot Talks to a Customer
The bot's messages are taken from the template as is. Highlighted parts are filled in by the bot: your details from Bot Fields or the customer's answers.
- Bot
🔒 Private channel “channel name” what's inside the channel
- Bot
Choose your access period (paid in Telegram Stars):
- 1 Month — price ⭐
- 3 Months — price ⭐
- Customer
1 Month — price ⭐
- Bot
✅ Payment received! Your access (1 month) starts today — join the channel with the link below. If the link uses join requests, an admin will approve you within a day; you don’t need to tap anything else. We’ll remind you 3 days before the period ends.
- 🔗 Join the Channel
- Bot
⏳ Your access to “channel name” ends in 3 days. On the last day we’ll send you renewal buttons.
- Bot
⌛ Your access to “channel name” has ended. Renew?
- 1 Month — price ⭐
- 3 Months — price ⭐
- No, Thanks
How the Flow Works, Step by Step
- What’s inside the channel.
- Plan: 1 month or 3 months.
- An invoice in Telegram Stars — no payment provider needed.
- The “Paid Access” tag and the invite link; the period starts at payment, no extra taps needed.
- Three days before the end — a reminder.
- On the last day — the “Did Not Renew” tag and “Renew?” buttons.
- A repeated /start: the channel link and a “Renew Access” button.
What to Adjust for Your Business
- Make the bot a channel admin and set the channel ID: that’s how the bot tells current members (they get “Access is active”) from new ones (they get the join link). Either way the period starts at payment.
- Create an invite link with join requests in the channel and put it into the bot fields — then the link can’t be shared without your approval.
- The bot can’t remove people from the channel — an admin does it by the “Did Not Renew” tag: the bot adds it by itself on the last day if access wasn’t renewed.
- Telegram requires bots to answer /paysupport: create a scenario started by the paysupport command.
- If a member taps /start mid-period, the bot stops tracking their period and adds the “Period Not Tracked” tag — check that member manually. The tag is removed when they renew.
- A new period starts from the payment: whoever renews early starts the new period that day.
- While the bot waits for the period to end, it doesn’t answer the member’s regular messages — connect the Helpdesk to see them.
Recommendations
- We recommend creating an invite link with join requests in your channel, because then nobody gets in through a shared link without your approval.
- We recommend making the bot a channel admin right away, because the channel ID lets the bot tell current members from new subscribers.
What the Template Doesn't Do
- The bot doesn't remove people from the channel — an admin does that by the “Did Not Renew” tag.
- If a member taps /start mid-period, the bot stops tracking their period and adds the “Period Not Tracked” tag — such members are checked manually.
- While the bot waits for the period to end, it doesn't reply to the member's regular messages; you'll see them in the Helpdesk if it's connected.
Which Blocks It's Built From
Click a block to open its description in the builder reference.
Message
The bot sends a text message. For example: Hi! How can we help?Buttons
A message with buttons to choose from — each button leads down its own path. For example: Menu, Opening hours, Call a manager.Branch
A fork on a single condition: yes or no. For example, if the order total is over 500, offer free delivery.Payment
The bot issues an invoice to pay right in the chat. For example, paying for an order by card or with Telegram Stars.Pause
A pause before the next step. For example, an hour after an order, ask whether everything was good.Save value
Saves a value to use later. For example, store the chosen city and then insert it into messages.Subscription check
Checks whether the person is subscribed to your channel or group. For example, give a bonus only to subscribers.Tag
Adds or removes labels on the customer. For example, mark bought or interested in delivery, then use labels to build a mailing.Frequently Asked Questions
Do I need a payment provider to accept payments?
No. Payment is in Telegram Stars — the invoice arrives right in the chat, and the Stars go to the bot's balance in Telegram.
Does the bot remove people who didn't renew?
No. On the last day of the period the bot adds the “Did Not Renew” tag and sends renewal buttons; an admin removes people from the channel by that tag in the Contacts section.
What do I need for the /paysupport command?
Telegram requires bots that take payments to answer /paysupport. Create a separate flow started by the paysupport command — for example, from the “Support Ticket Desk with Live Agent” template.
Similar Templates
Sell an Online Course for Telegram Stars
Author course, workshop, intensiveAdvancedWorks right awayChannel Giveaway Contest
Channel authors, bloggers, shops with a channelMediumNeeds: channel, date and timeTelegram Shop with Cart
Small online store, handmade, clothing, cosmeticsAdvancedNeeds: payments, team chatLaunch your Telegram bot with Forgebot
Build your first flow, reply to subscribers and watch analytics — free, no code.
Free plan: 1 bot, 5 flows, 100 subscribers. No card required.