Skip to content
TGWAY
Channels & Bots

What Inline Bots Can and Cannot See

Type a bot's username into any message box, follow it with a word, and results appear above the keyboard. Pick one and it is sent. You have used a bot…

  • LevelL2
In this article
  1. search What actually happens when you type the handle
  2. groups Using one in a room that is not yours
  3. build When inline is the right shape to build
  4. touch_app Try it now — five minutes
  5. gpp_maybe The security shape of it
  6. help Common questions at this stage
  7. At a glance
school Telegram Masterclass • Step 087 / 100 Step 087: What Inline Bots Can and Cannot See
Step 087 of 100

Type a bot's username into any message box, follow it with a word, and results appear above the keyboard. Pick one and it is sent. You have used a bot in a conversation it is not part of, cannot see, and was never invited to.

Most people have done this without knowing it had a name — the built-in animation and image search work exactly this way. The property that makes it worth a step of its own is what the bot is not: not a member, not an administrator, and not able to see a single word of the chat you sent its result into.

What you will be able to do after this step

  • check_circle Use a bot inside somebody else's group without joining anything.
  • check_circle Say exactly what the bot's operator learns when you do.
  • check_circle Choose between adding a bot and invoking one.
  • check_circle Judge when the inline shape is the wrong one to build.

search What actually happens when you type the handle

You type the username and a query. Telegram sends that text to the bot — not the conversation, just the text after the handle, plus who you are and what kind of chat you are in. The bot answers with a list of things it could send. You choose one, and it goes out as a message from you, marked to show which bot it came through.

Three things are worth extracting from that sequence.

The bot receives your query, and your identity comes with it. This is the part most people have never considered. Typing a search into an inline bot is not like typing into your own notes; it goes to a stranger's server along with your account. Perfectly fine for finding a reaction image. Not the place to type anything you would not send to that operator directly, because that is what you are doing.

The bot sees nothing else. Not the messages around yours, not the chat's name, not the other members, not what happened before or after. It is answering a query in isolation, which is why this shape is safe to use in rooms you do not own.

The result is your message. It is attributed — recipients can see which bot produced it and tap through — but it sits in the conversation under your name, and you are responsible for what you chose to send.

visibility
Results are often shared, so treat them as generic A bot can tell Telegram to hold an answer for a while and reuse it for anybody typing the same query, which is what makes the common search bots feel instant. Two consequences: results can be slightly stale, and a well-built bot never answers with anything specific to you unless it deliberately marks the answer as personal. If an inline bot returns something that looks like your own private data, that is a question worth asking about how it was built.
compare_arrows Side by side

Add the bot, or call it from the message box

The same capability can usually be delivered either way. The question is whether the bot needs to be present when nobody is asking it for anything.

alternate_email Call it inline

check_circle You want one thing inserted into a conversation, now.
check_circle It is somebody else's group and you could not add anything if you wanted to.
check_circle The room should not gain a member for a tool one person uses.
check_circle What gets sent should be your message, with your name on it.

group_add Add it to the room

cancel It has to act on the room itself — delete, restrict, pin, welcome.
cancel It must react to things nobody asked it about, like spam or a new arrival.
cancel It publishes on a schedule with no human present to invoke it.
cancel Everybody needs it, repeatedly, and teaching them a handle is worse than adding it.

Inline is the lighter arrangement in every respect: nothing joins, nothing is granted, nothing is visible to the bot. Add a bot only when it has to be present while nobody is talking to it — which is a real requirement, and a much smaller set of cases than people assume.

groups Using one in a room that is not yours

You do not need permission, and that is both the feature and the etiquette problem. Anybody in a group can pull a result from any inline bot into it, which is how a serious discussion acquires an animation nobody asked for.

From the administrator's side this is manageable: the permission that governs sending images, animations and similar content also governs what inline bots can put into your room, so a group that has restricted media has already restricted this. Step 058's member permissions are the control, and it is worth knowing that it exists before the first argument about it rather than after.

From the member's side the etiquette is ordinary. In a working room, an inline result is a message like any other and the same judgement applies: does this add something, or is it a reflex. The fact that it takes two seconds is not an argument for sending it.

build When inline is the right shape to build

If you are making something rather than using it, the test is short.

Inline suits a bot whose answer is a thing to send. A picture, a quotation, a formatted block, a link card, an entry from a catalogue. The user is composing a message and your bot is supplying part of it. Everything about the interface assumes that: a query, a list, one selection, done.

It is the wrong shape when the answer is a conversation. Anything that needs a follow-up question, a confirmation, a form, a payment or any state that persists between uses belongs in a private chat with the bot, because the inline surface has nowhere to put the second step. Bots that try anyway end up sending a result whose only content is "open me in a private chat", which is a worse version of simply being a chat bot.

It is also wrong for anything personal. Because answers are cached and shared by default, and because the surface is a list appearing over somebody's keyboard, it is not the place for account balances, private records or anything the person next to them should not read.

One genuinely good pattern does exist for bridging the two: offering a way to move the person from the result list into a private conversation with the bot, carrying a parameter, which is Step 083's tagged link arriving by a different door. That is how a bot which needs a wallet, a login or a setting gets the user somewhere those things can happen safely.

touch_app Try it now — five minutes

Four steps, and the second is the one nobody has ever tried.

  1. Open a chat with yourself and use an inline bot Type a handle, then a word. Send one result. Saved Messages is the right place to experiment, for the reason in Step 046.
  2. Look at the sent message and find the attribution It says which bot produced it, and it is tappable. Most people have never noticed that line.
  3. Try one in a group and watch what the other members do not see No join message, no new member, no administrator entry. The bot was never there.
  4. Check your own group's media permissions That is the same setting that decides what inline results members can bring in. Now you know where the control is.

gpp_maybe The security shape of it

Inline bots are, on balance, the safest way to use somebody else's software on this platform, and it is worth being precise about why.

Nothing is granted. Adding a bot to a room is a permission decision with consequences that outlast your attention, as Step 086 describes. Invoking one inline grants nothing, persists nothing, and ends when the result is sent.

The exposure is bounded and visible. What the operator learns is what you typed and who typed it — no more, and you know it at the moment you type. Compare that with a mini app, where a page runs inside the client, or a bot in your group, where the configuration determines the answer.

The residual risks are the ordinary ones. A result can carry a link, and a link in an inline result is a link like any other, which means Step 081's habit applies: press and hold before anything that is not simply reading. And a convincing bot handle is not a verified identity — a name similar to a well-known one, typed into a message box by somebody in a hurry, is a workable attack in exactly the way Step 065's impersonation is.

help Common questions at this stage

Nothing appears when I type a bot's handle. Why?

Either that bot does not offer inline results at all — it is a perfectly ordinary bot you talk to in a private chat — or the room you are in restricts the kind of content it would send. Try the same handle in Saved Messages: if results appear there and not in the group, the group's permissions are the answer, and that is a question for its administrators rather than a fault.

Can the bot see the chat I send the result into?

No. It receives your query, your account identity and a general indication of what sort of chat you are composing in — a private conversation, a group, a channel — and nothing about the contents. It does not learn the group's name, its members, or a single message in it. This is the property that makes inline bots usable in rooms you do not control, and it is worth knowing precisely rather than approximately.

Do the other people in the chat know a bot was involved?

Yes. The message carries a line naming the bot it came through, and anyone can tap it to see what that bot is. You cannot send an inline result anonymously, which is the correct design — a result is content from a third party arriving under your name, and the people reading it are entitled to know where it came from.

Can I stop members using inline bots in my group?

Indirectly, through the same content permissions that govern what members may send. If animations and images are restricted for ordinary members, inline results of those kinds are restricted with them. There is no separate switch labelled for this, and there does not need to be: the question a group actually has is "what sort of content may be posted here", which Step 058 answers, and where the content came from is not the useful axis.

Why do I sometimes get old results?

Because answers to the same query can be held and reused for a period, which is deliberate and is what makes popular bots feel instantaneous. For a search bot this is invisible; for anything whose answers change by the minute it is a design problem the builder has to decide about, and a bot that returns yesterday's figures is usually a bot whose author never thought about it. As a user, if a result looks stale, changing the query slightly is the reliable workaround.

Can an inline bot be used in a channel?

When you are composing as the channel and hold the right to post, yes — the same handle-and-query works, and the published post carries the same attribution line. Whether you want that is an editorial question: the line naming a third-party bot under an official announcement changes how the post reads. For a channel's regular output, sending the content yourself is usually the better choice, and inline is for the occasional thing that genuinely comes from somewhere else.

Summary

At a glance

What Inline Bots Can and Cannot See — at a glance illustration
  1. 1Use without adding

    Type the bot's @username in any chat and pick a result.

  2. 2What it learns

    Your query and who you are, not the chat or its members.

  3. 3Results are cached

    Never answer personal data through inline results.

Share this guide

Send it to a friend who has the same question.

Telegram WhatsApp
More

Open on your phonePoint your phone camera here to open this guide.

Updated

Related articles

View all ›