A Join Request is a formal application to enter a private Telegram channel or group when direct access is restricted. Members submit a request that the channel administrator reviews before granting membership, which replaces the open invite-link model for operators who want to control audience quality rather than admit anyone holding a link. Bot API 10.1 added join request queries: a chat can designate a guard bot that screens applicants programmatically through answerChatJoinRequestQuery, optionally putting a Web App challenge in front of them first.
A private channel can require approval on its invite link, so following that link creates a pending application rather than a membership. Administrators see the queue and approve or decline each applicant, and nobody reads the channel until someone acts. An open invite link offers no such checkpoint: once forwarded, anyone holding it joins immediately and can only be removed afterwards.
Bot API 10.1 introduced join request queries, which let a chat delegate screening to a designated bot. ChatFullInfo carries a guard_bot field naming the bot that processes those queries in the chat, and that field is available only to chat administrators. The bot replies with answerChatJoinRequestQuery, while sendChatJoinRequestWebApp can place a Web App in front of an applicant first.
Approval helps only while somebody is available to approve. A queue that grows faster than an administrator clears it turns the checkpoint into a waiting room, and applicants who see no response often give up. That backlog is what programmatic screening addresses: a bot answers immediately and consistently, leaving human attention for the cases that genuinely need judgement.
Automate your Telegram publishing with AI content, quality scoring, and smart scheduling.