Search... โŒ˜K

Introduction

Welcome to the official documentation for Channel Guru โ€” Weego's ultimate Telegram Channel Management and Member Engagement automation suite. Built on high-performance webhooks and powered by robust Python/aiogram engines, Channel Guru automates repetitive tasks to save time and boost growth.

For channel administrators, converting join requests and capturing new member attention can be tedious. Channel Guru automates these processes. When a user requests to join your private channel, Channel Guru instantly auto-approves the request and sends a highly personalized greeting message directly to their private chat window.

๐Ÿš€
Instant conversions at high speed! Channel Guru responds to join requests programmatically. Approving joining requests instantly increases conversions by capitalizing on user interest when it is peak!

How It Works (The Join Request Flow)

Channel Guru acts as a real-time event pipeline when users request to join private channels:

Channel Guru Join Approval Pipeline
User clicks Join Link
โž”
[Channel Guru Bot]
โž”
Auto-Approve Join Request
Subscriber Saved in Database
L
[Sends Custom Welcome Message]
L
Greeting Sent Private Chat

Core Features Dashboard

โšก
Instant Auto-Approvals
Automatically processes Telegram chat join requests instantly via programmatic webhook integrations.
๐Ÿ‘‹
Personalized Greetings
Send default templates or design custom greetings with styled markup text, images, and inline keyboards.
๐Ÿ”˜
Rich Button Attacher
Interactively attach up to 5 URL or username inline buttons on your channel posts to skyrocket click-throughs.
๐Ÿ“…
Scheduled Publishing
Design premium rich-media channel updates and schedule them for automatic dispatch to your channels.
๐Ÿ“ข
Targeted Broadcast Engine
Broadcast mass announcements to active subscribers across channels using async multi-threaded background workers.
๐Ÿค–
White-Label Custom Bots
Upload custom API tokens from BotFather to run the approval engine through your own custom bot identities.
โ„น๏ธ
This documentation is compiled directly from Channel Guru's source code, reflecting the exact database columns and API structures.

Getting Started

Configure Channel Guru for your Telegram channels in less than 3 minutes. Follow this step-by-step onboarding guide:

  1. 1
    Start @ChannelGuruBot Master Bot

    Open Telegram, search for @ChannelGuruBot, and press Start. You'll be greeted with the main control keyboard.

    Start @ChannelGuruBot Master Bot
  2. 2
    Add the Bot as an Administrator

    Add @ChannelGuruBot (or your white-labeled custom bot) as an Administrator in your target channel. The bot requires the following permissions:

    • Post Messages: Allowed.
    • Invite Users via Link: Allowed (crucial to register joining approvals).
    โš ๏ธ
    Administrator Rights Needed: If the bot is not added as an administrator or permissions are missing, it cannot auto-approve join requests. The bot will reject channel binding and display the warning: "The Bot is not an Admin in your Channel โ˜น".
  3. 3
    Link Your Telegram Channel

    In the bot menu, click the Add Channel callback button. The bot will enter channel binding mode and prompt you:

    Bot Prompt
    ๐Ÿ”„ Forward a post from your channel

    Go to your channel, select any post, and forward it directly to the bot. This allows the bot to fetch the official Chat ID and verify ownership.

  4. 4
    Configure Greet Messages

    Once verified, the bot checks if the channel is already registered. If new, it prompts you to set your Greeting Message:

    1. Default Greeting: Click Default to use Weego's built-in welcome.
    2. Custom Greeting: Click Custom and send your tailored greeting message (texts, files, or pictures). Confirm with Yes when previewed.

    On success, the bot displays: "Channel Data Inserted Successfully โœ…๐Ÿ“Š".

Auto-Approvals & Joins

Channel Guru's primary automation is the real-time, zero-latency processing of chat join requests. This section explains how requests are captured, processed, and tracked in the database.

How Telegram Join Requests Work

Private Telegram channels can restrict open access by enabling "Request Admin Approval" on invite links. When users click this link, instead of joining immediately, they trigger a join request event. Channel Guru handles this event using the chat_join_request listener.

Behind the Scenes Processing

When a join request is received, the bot executes the following logic workflow:

Request Processing Logic Flow
1. Listen for Join Request: The bot intercepts a new user requesting to join the channel.
2. Approve Instantly: Programmatically auto-approves the request on Telegram.
3. Database Lookup: Verifies if the channel is linked to an administrator account.
4. Record Subscriber: Saves the member profile to compile active subscriber contact lists.
5. Dispatch Welcome: Sends the custom styled greetings or copies defined buttons/images.

Database Mappings

Channel Guru saves subscriber metrics to the database. Even if a user leaves your channel later, their profile remains stored for re-engagement announcements. The data mapped includes:

  • bot_id: Mapped ID of the bot.
  • channel_id: Telegram ID of the channel.
  • user_id: Unique Telegram ID of the subscriber.
  • channel_name: Title of the linked channel.
  • owner_id: Mapped Telegram ID of the bot administrator.
โ„น๏ธ
Unlinked Users Tracking: If a user requests to join a channel using your bot link but the channel is not yet registered in the database, the bot still approves the join request and logs the user in an unlinked_users database table to prevent data loss.

Personalized Welcomes

Channel Guru allows bot owners to customize the greeting welcome message sent to subscribers upon auto-approval, replacing generic system messages with engaging branding.

Greeting Formats Available

Type Method Support Details & Rich Formatting
Default Greeting Built-in A clean text message greeting the user with their name and prompting them to use /start.
Custom Text Greeting Database-Stored Supports Markdown formatting, emojis, custom links, and bold headers.
Rich-Media Greeting Bot Copy Message Supports images, videos, animated GIFs, audio files, and customized inline button panels.

The Default Greeting Template

If you don't configure a custom message, the system falls back to this template:

Default Welcome Greeting
Hey {username},
Your Request is Accepted By Channel Guru Bot ๐Ÿ›! 

To Know My Features Send /start or /help!

Managing and Editing Greetings

You can update a channel's greeting message at any time through the My Channels dashboard:

  1. Click My Channels and select your target channel from the list.
  2. Select Message from the options menu. The bot will copy and show a live preview of your active welcome greeting.
  3. Tap the Change button. The bot will prompt: "๐Ÿ“ Send New Post".
  4. Send your new styled message, media file, or buttons to the bot.
  5. Review the preview and confirm by tapping Yes to save.
โš ๏ธ
Do Not Delete Source Messages: Custom greetings are fetched and copied from your source chat using their message ID. If you delete the original message from your chat history with the bot, the bot will lose access and fall back to the default greeting template.

Button & Post Creator

Posts with inline buttons have significantly higher click-through rates. Channel Guru features an interactive Post Maker to attach styled buttons directly to your posts.

Post Creator Interface Adding Inline Buttons

How to Build a Post with Buttons

  1. In the bot's main menu, select the Post Creator button. The bot will prompt:
    ๐Ÿ’ฌ
    "๐Ÿ‘‰ Forward the post in which you want to attach buttons, or send any message or picture!"
  2. Send your post content. You can submit:
    • Plain text messages.
    • Photos with captions.
    • Videos, animations (GIFs), voice notes, or documents.
    ๐Ÿšซ
    Stickers Blocked: Telegram stickers are not compatible with inline keyboards. Sending a sticker will prompt: "โŒ Cannot edit stickers. Try something else.".
  3. Once the post is previewed, the bot replies with the Post Maker Help manual and an interactive panel with options: Buttons and Get Post.
  4. Tap Buttons to add an inline option:
    • Submit Button Text: The bot prompts: "๐Ÿ”ค Send text for button" (e.g. Join Official Channel).
    • Submit Button Link: The bot prompts: "๐Ÿ”— Enter Link or Username For the Button!".
  5. Confirm the link format. The system accepts:
    • Telegram Usernames starting with @ (e.g., @WeegoTech).
    • Standard HTTPS URLs (e.g., https://weego.tech).
    If the format is invalid, it returns: "๐Ÿšซ๐Ÿ”— The button url is incorrect".
  6. On success, the bot displays: "โœ… Button saved" and shows an updated preview of your post with the button.
  7. Repeat the process to add multiple buttons. Tap Get Post to receive the final message with the active inline keyboard, ready to be forwarded or scheduled.
โš ๏ธ
Buttons Limit: To maintain optimal layout and prevent message errors, Channel Guru enforces a strict maximum limit of 5 buttons per post. Attempting to add a 6th button returns: "๐Ÿ›‘๐Ÿคš You can only add 5 buttons".

Targeted Broadcasts

Channel Guru includes a multi-threaded Broadcasting Engine, enabling owners to send mass updates and announcements to channel subscribers stored in the database.

Broadcast Delivery Options

Delivery Mode Database Query Target Audience Description
All Users all_clients(owner=id, col='*') Delivers the announcement to every subscriber across all your linked channels.
Channel-Wise all_clients(owner=id, channel=id) Targets only the subscribers of a specific selected channel.

Executing a Broadcast

  1. Tap Broadcast Message in the main dashboard. The bot queries the database and displays your total audience size: "๐Ÿ‘ฅ You have a total of {X} users!".
  2. Select All Users or Channel-Wise (which prompts you to select a linked channel).
  3. The bot will ask: "๐Ÿ“ค Send message to how many users?". Enter the target subscriber count.
  4. Send the announcement content (supports text, styling, pictures, and inline buttons).
  5. The bot displays a preview. Tap Yes to confirm. The bot will confirm: "Broadcasting Started ๐Ÿ“ข".

High-Performance Background Threads

Sending mass messages sequentially can freeze single-threaded bots. Channel Guru solves this by spawning a separate background thread for delivery, allowing the bot to continue processing approvals without interruption:

Multi-Threaded Delivery System
๐Ÿงต
Main Bot Thread: Remains free to instantly approve join requests and copy messages without freezing or lag.
โš™๏ธ
Background Delivery Thread: Handles sequential database indexing and dispatches campaigns step-by-step asynchronously.
๐Ÿ’ก
Rate Limiting Protection: The background thread uses progressive delay spacing between messages to comply with Telegram's strict API rate limits and prevent spam blocks.

Custom White-Labeling

Promoting a generic bot can dilute your brand. Channel Guru's premium White-Labeling Engine allows you to host and run the auto-approval system under your own custom bot identities.

How to Add Your Custom Bot

  1. Create a new bot using Telegram's official bot architect: @BotFather. Save the generated HTTP API token.
  2. In Channel Guru, tap Add Bot from the main menu. The bot will prompt: "๐Ÿ”‘ Enter your bot token".
  3. Send your Bot Token (e.g. 876452391:AAHxF...).
  4. Channel Guru validates the token, programmatically configures the webhook, and registers it in the system:
    API Handshake Flow
    1. Token Ping: The system sends a check ping to Telegram Bot API with the submitted token.
    2. Set Webhook: Programmatically requests Telegram to direct all bot events to our high-speed secure endpoint.
    3. DB Save: Registers bot credentials securely inside the user database to isolate and host the bot white-labeled.
  5. On success, the bot displays: "๐Ÿš€ @YourBotUsername is LIVE and has started successfully! ๐ŸŽ‰".

Managing Your White-Label Bots

Access your custom bots through the My Bots menu to view active details and manage settings:

My Bots Dashboard Details
๐Ÿค– Bot Username: @MyChannelApprovalBot
๐Ÿ”‘ Bot Token: 876452391:AAHxF...

Choose an option to edit:

Control Options

  • ON/OFF Switch:
    • Turn OFF: Disables the webhook to stop approvals: "Bot is turned ๐Ÿ”ด OFF".
    • Turn ON: Re-activates the webhook to resume approvals: "Bot is turned ๐ŸŸข ON".
  • Remove: Prompts: "โ“ Are you sure you want to remove this bot? ๐Ÿค–". Confirming deletes it from the database and removes the webhook configuration, returning: "๐Ÿ—‘๏ธโœ… The Bot has been deleted successfully.".