Telegram bot for access to the online course
Technical task: Telegram bot for access to the online course:
1. Purpose
Create a Telegram bot that functions as a "lock" for the course:
• access is granted only after successful payment on the website;
• the user receives video lessons and notes without the ability to forward/download;
• access is automatically closed after 90 days;
• the bot reminds about the end of access and offers to pay for an extension;
• there is a Help section for technical support (without feedback on the course content).
2. Platform and environment
• Messenger: Telegram.
• Time zone: Europe/Kyiv.
• Interface language: Ukrainian (possibility to add English in the future).
• Payment: through the website (landing) with MonoPay integration.
3. Payment and access logic
1. The user makes a payment on the website (MonoPay).
2. After confirming payment_success on the backend:
• creates a one-time redeem-token (24–32 characters, valid for 14 days);
• generates a short code (6 digits, valid for 14 days);
• sends to the user:
• a success page with a button "Open access in Telegram" (link with token);
• transactional email with a link and 6-digit code.
3. Activation options in the bot:
• The user follows the link → the bot reads start=<redeem_token>, checks on the backend → opens access.
• If the user starts the bot without a link → the bot asks for the 6-digit code from the email → checks on the backend → opens access.
• The bot must be linked to the landing: after successful payment, the user automatically receives a link to the bot (on the success page and in the email) to activate access.
• Access is granted for 90 days.
4. Automatic messages
• Day 0: "Payment received ✅ Access opened until [date]. Start with Lesson 1?"
• Day 75 and 85: reminder "Access will end on [date]. Extend for 90 days?" + button.
• Day 90: "Access completed. You can extend for another 90 days" + button.
• Day 97 (optional): repeat offer to extend access.
5. Content
• Video lessons and notes are stored in Telegram (via file_id).
• All messages are sent with the parameter protect_content=true (to prohibit forwarding/saving).
• Videos — with supports_streaming=true.
• Notes — in PDF format (sendDocument, also with protect_content=true).
• Important: screen recording protection is not possible — this is a platform limitation.
6. Bot menu
• My course → list of modules and lessons.
• Notes → list of PDFs.
• Extend access → transition to the payment page.
• Help → form for contacting technical support.
7. Help (technical support)
• The user selects a topic → describes the problem → can attach a screenshot.
• The bot automatically adds technical data (user_id, platform).
• The request goes to a private admin chat in Telegram with buttons: "Reply", "Close".
• Auto-reply to the user: "Request №[ID] received. We will respond within 24 hours (10:00–18:00 Kyiv time)."
8. Admin functions
• View users, access status, expiration dates.
• Linking email ↔️ telegram_user_id.
• Manual granting of access, closing access, sending an offer for extension.
• Logging all events (payments, accesses, requests).
9. Database (structure)
• users: id, telegram_user_id, email, created_at
• orders: id, email, amount, status, paid_at
• redeem_tokens: id, order_id, token_hash, expires_at, used_at
• short_codes: id, order_id, code_hash, expires_at, used_at
• access: user_id, access_from, access_to, status
• lessons: id, module_no, lesson_no, title, video_file_id, pdf_file_id
• tickets: id, user_id, topic, text, attachments[], status, created_at, resolved_at
10. Security
• redeem tokens and codes are stored as hashes.
• Each token/code is one-time.
• MonoPay webhooks are verified by signature.
• Limits on request frequency (protection against abuse).
11. Test cases
1. Payment → receiving a link → activating access.
2. Payment → receiving a code → activation via code.
3. Used or expired token/code → denial.
4. Reminder on day 75/85 → extension button.
5. Closing access on day 90 → extension offer.
6. Payment for extension → extending access for another 90 days.
7. Creating a request in Help → message to admin → response to user.
12. Launch checklist
1. Set up MonoPay (merchant, webhooks).
2. Implement backend for:
• processing payment_success;
• generating tokens and codes;
• validating tokens/codes;
• managing accesses;
• sending reminders.
3. Implement the bot:
• /start with token;
• /start without token → request code;
• menu (Course / Notes / Extend / Help);
• sending lessons with protection.
4. Integrate email distribution (sending instructions after payment).
5. Upload videos and PDFs to the bot → save file_id.
6. Set up admin chat for Help.
7. Test scenarios (payment, activation, extension, Help).
Please include examples of completed work, cost, and timelines for this project in your response.
Work results
Client's review of cooperation with Danylo I.
Telegram bot for access to the online courseI am very satisfied with the collaboration with Danil. He created a bot for the training course - everything was done strictly according to the technical specifications - neatly, functionally, and stably. He regularly kept in touch, answered questions, showed initiative, and proposed solutions that turned out to be even better than the initial ideas. He helped with connecting additional services and integration on the website. Responsible, professional, attentive to details, and works until the desired result is achieved. I sincerely recommend him for collaboration.
Freelancer's review of cooperation with Anna B
Telegram bot for access to the online courseAdequate client. There was a clear technical specification. We discussed everything.
The client was always in touch, we quickly resolved everything.
I recommend for collaboration!
-
8788 60 0 1 Hello, Anna!
I will help create a bot in Telegram, taking into account your wishes and the technical specifications.
I have extensive experience in development using Python, React, and specifically in developing bots with various integrations. I hold 2nd place on the platform for development in Python.
You can check out my portfolio:Freelancehunt
I am waiting for your response for further cooperation and to discuss the project details.
-
95878 1272 1 10 Hello. I have extensive experience in developing Telegram bots. I am ready to collaborate.
-
4028 11 0 2 Hello. I can complete your order on python aiogram 3. Database postgres.
-
586 8 0 Good day!
I specialize in backend development, working with databases, and creating web solutions. I have experience in C#, .NET Core, ASP.NET, TypeScript, as well as frontend development using React, HTML5, CSS3, Bootstrap, MobX.
I have worked with SQL Server, PostgreSQL, MySQL, MongoDB, using ORM and tools like Entity Framework Core, Dapper, LINQ, AutoMapper.
I have practical experience with RESTful API, GraphQL, Swagger, security (OAuth, JWT, encryption), and testing (xUnit, Postman).
Experience includes SignalR, deployment in Microsoft Azure (App Services, Functions, DevOps), and version control through Git, GitHub, GitLab, Azure DevOps.
I am ready to take a test task to confirm my level and approach to work.
I would be happy to collaborate!
-
189 Hello! I have experience in creating such solutions. We will create a bot on aiogram, integrate a payment system!
-
1711 8 0 Hello! I would be happy to complete this project for you. I just need to clarify some details.
I suggest discussing the details of the bot in private messages. I will create a convenient solution for you with a pleasant and understandable interface (layout, inline keys, menu). I have a few similar cases that I can share in private.
My portfolioFreelancehunt
-
1081 10 2 Hello.
I have experience with all the points from the technical specifications.
Preliminarily regarding the timeline - it will take a week for development. Then testing/fixes + about 3 days.
The question about the landing page is open - do you already have it? Or will it need to be designed, etc.?
I suggest discussing everything else in private.
I also commit to monitoring the bot's work for two weeks, fixing errors (if they arise), etc.
-
11689 31 0 3 Good day!
I have extensive experience in developing similar bots.
I will complete it quickly and efficiently.
-
9984 117 0 Hello.
I develop bots for Telegram using NodeJS. I'm ready to take it on. Write to me, we will discuss.
-
8817 27 0 1 Hello! I am ready to develop a Telegram bot for an online course on Node.js with MonoPay integration, token/code generation, secure lesson delivery, and automatic access renewal. I will implement an admin panel, Help chat, and all necessary scenarios with a focus on security and quick launch.
Current freelance projects in the category Bot Development
Automation bot for playerok.com
89 USD
1. Main Menu and Monitoring Dashboard screen updated in real-time (or by button): Status of key modules (On/Off). Current tasks: number of pending code/email deliveries from buyers, active orders. Financial summary for the current date (Total amount, net profit considering… Engineering, Bot Development ∙ 1 day back ∙ 37 proposals |
Integration of the analytics system with the Database in Tables
111 USD
The current analytics system needs to be brought to a stable working state. Currently, data from CRM, telephony, and advertising accounts is pulled through Supabase via MSP into Google Sheets, but some processes still require manual control. This needs to be eliminated.1.… AI & Machine Learning, Bot Development ∙ 1 day 20 hours back ∙ 32 proposals |
Telegram bot for hiring/searching employees. For job searching.
24 USD
1. General Concept Creation of a Telegram bot for automating recruitment and mutual job searching. The system operates on the principle of active response and mutual confirmation of interest (Double Opt-In). The system includes two roles: Employer (Company Owner) and Worker (Job… Python, Bot Development ∙ 1 day 21 hours back ∙ 90 proposals |
Turnkey Telegram bot: daily reminders and rotation of duty personnel with monitoringA Telegram bot is needed for internal team operations. The stack is up to you; the result is what matters, not the method. What it does: — posts a reminder in the group at a specified time every working day and tags two on-duty members (from two different lists); — manages the… Bot Development ∙ 2 days 10 hours back ∙ 100 proposals |
Pocket option trading bot, in Telegram
45 USD
I need a bot that will send a signal to raise or lower the bid every 30 seconds. Thank you. You can also come up with something for 1 minute, so that the bot gives a separate signal every minute to raise or lower the bid. I'm interested in Brent oil. For now, only that. Thank… Bot Development ∙ 3 days 1 hour back ∙ 24 proposals |