Telegram 内联机器人怎么用:任何聊天里 @ 一下就能调出来
在 Telegram 里,你可能见过别人发的消息下面带一行灰色小字"via @某某bot"。这就是通过内联机器人(Inline Bot)发出来的。它最大的特点是:不用把机器人拉进群,也不用先去和它私聊,在任何聊天的输入框里打 @机器人用户名 再加个空格,就能直接调用。
最简单的例子:@gif
Telegram 自己就有一个内联机器人 @gif,用来搜动图。随便打开一个聊天,在输入框里输入:
@gif 猫
等一两秒,输入框上方会弹出一排搜索结果。点其中一个,它就作为一条消息发出去了。整个过程你没离开当前聊天,对方也不需要做任何事。
其他内联机器人用法完全一样:@用户名 + 空格 + 你要查的内容。区别只在于它返回什么,有的返回图片,有的返回文章链接,有的返回一段排好版的文字。
和普通机器人的区别
普通机器人是"对话式"的:你私聊它,发命令,它回复你;或者被拉进群里,响应群里的命令。
内联机器人是"随叫随到"的:
- 不需要加入群。你在一个群里用内联机器人发了条消息,这个机器人并没有进群,它只是帮你生成了一条消息,由你自己发出
- 消息的发送者是你。发出去的消息显示是你发的,只是多了一行"via @机器人名"
- 只有你看到候选结果。在你点选之前,弹出的那一排结果只在你自己的屏幕上,群里其他人看不到你在搜什么
所以它特别适合这种场景:聊天聊到一半,想发张表情图、贴个链接、插一段格式化的内容,不想切出去找。
一个机器人可以同时支持两种模式。很多机器人既能私聊用,也打开了内联模式。能不能内联用,试一下就知道:输入 @用户名 之后,如果输入框里出现一行灰色的提示文字(比如"搜索……"),或者弹出了结果,就说明支持;什么反应都没有,就是没开。
几个实用的小技巧
最近用过的会自动出现。 在输入框只打一个 @,列表里除了群成员,还会出现你最近用过的内联机器人,不用每次都记用户名。
点"via"可以复用。 看到别人发的"via @xxx"消息,点一下那个机器人名字,输入框里会自动填上 @xxx ,你接着输入关键词就行。这是发现新内联机器人最常见的方式。
有些按钮会帮你切到内联模式。 部分机器人的消息下面有类似"分享"或"在其他聊天中使用"的按钮,点了以后会让你选一个聊天,然后自动在那个聊天的输入框里填好 @机器人名 关键词。
私聊里也能用。 在和朋友的私聊、频道评论区、自己的收藏夹里都可以用,不限于群。
群里用不了怎么办
有时候在某个群里输入 @机器人名 没反应,或者提示没有权限,通常是群管理员限制了成员发送这类内容。Telegram 的群权限里,内联机器人和贴纸、GIF 等归在一起管理,管理员关掉相关权限后,普通成员就不能在这个群里用内联机器人发消息了。具体开关的名称以 App 当前版本为准。
这种情况换到私聊或其他群试一下,就能判断是群的限制还是机器人本身的问题。
隐私方面要知道的
内联机器人看起来"只是帮你搜一下",但它确实能拿到一些信息:
- 你输入的每一个字。你在
@机器人名后面敲的内容会实时发给机器人,哪怕你最后没点任何结果 - 你的基本账号信息,比如用户 ID、名字、用户名
- 当前聊天的类型(私聊、群组还是频道),但它不知道具体是哪个聊天,也看不到聊天记录
- 位置:如果机器人请求位置,Telegram 会先弹窗问你,你不同意它就拿不到
所以别在内联机器人后面输入密码、身份证号、地址这类敏感内容。来路不明的内联机器人,搜东西前想一下:这个关键词被第三方看到有没有关系。
注意
有些内联机器人返回的结果里夹带广告链接,甚至是诈骗或赌博网站。点结果之前看清楚预览内容,发到群里之前也要想想会不会给群友带来麻烦。
开发者怎么开启内联模式
如果你自己做机器人,内联模式默认是关的。在 @BotFather 里发 /setinline,选中你的机器人,再填一段占位提示文字,就打开了。之后机器人需要处理一种叫 inline query 的更新,返回结果列表。具体的接口概念可以看 Bot API 入门。
去哪里找好用的内联机器人
内联机器人没有单独的分类入口,大多是在聊天里看到别人用、顺手点进去发现的。你也可以在 DBQUN 机器人导航 里按分类翻一翻,打开机器人介绍页,看说明里有没有提到"inline"或"内联"。
如果对机器人命令本身还不熟,可以先看 机器人命令怎么用,弄明白 /start、/help 这些基础操作,再来用内联模式会顺手很多。