How Bots Receive Data
Bots on Telegram are not “always listening.” They only receive data when a user actively interacts with them. Interaction triggers include:Direct Messages
Sending a message directly to the bot in a 1-on-1 chat.
Inline Queries
Typing the bot’s username (e.g.,
@MyBot) in another chat to use its features.Group Mentions
Being added to a group or mentioned in a group chat.
Button Clicks
Interacting with buttons, menus, or web apps sent by the bot.
Data Access & Privacy
What You Can See (Public Data)
In all interaction scenarios, your bot receives the user’s Public Account Data:- Screen Name: The display name they chose.
- Username: Their
@handle(if set). - Profile Pictures: Their current public avatar(s).
What You Might See (Contextual Data)
Depending on the interaction, you may receive additional information:Message Content
Message Content
You obviously receive the text, media, or files the user explicitly sends to your bot.
IP Address
IP Address
Indirectly: If a user clicks a link (button) that leads to a website you control, your web server will see their IP address, just like any other website visitor. Telegram servers themselves act as a proxy for the bot API traffic, but external links break that loop.
Group Membership
Group Membership
If your bot is added to a group, it becomes aware of its membership in that group and can see other members if granted specific admin privileges or if privacy mode is disabled.
Bot Modes in Groups
Bots in groups operate in two distinct privacy modes:| Mode | Behavior |
|---|---|
| Privacy Mode ON (Default) | The bot only sees messages that specifically mention it (e.g., /start or @MyBot hello). It ignores all other group chatter. |
| Privacy Mode OFF | The bot receives every message sent in the group. This requires the bot admin to manually disable privacy mode in BotFather. Groups will see a status indicating the bot has access to messages. |
