电报机器人怎么用:把零散消息变成私密收件箱的设置教程

发布时间:2026-11-02 01:53:18

背景说明:先解决消息收到了却没人回复的问题

如果你想把电报机器人当作个人收件箱,用来接收待办、灵感或家庭成员的简单留言,常见麻烦不是“机器人不会聊天”,而是机器人还没启动、程序没有运行,或收到消息后没有任何处理逻辑。下面以“用户发来文字,机器人自动回复已收到”为例,从创建机器人到测试运行一步步设置。完成后,机器人可以在私聊中回应文字;示例程序不会主动保存消息内容,但实际隐私仍取决于 Telegram、运行程序的设备和托管服务。所谓电报机器人怎么玩,关键是先确定一个具体用途,再只开放需要的功能。

第一步:用 BotFather 创建机器人并保存令牌

在 Telegram 中搜索经过官方认证的 BotFather,打开聊天后发送 /newbot。按提示填写机器人的显示名称,再设置一个以 bot 结尾、尚未被占用的用户名。创建完成后,BotFather 会提供一串 API Token。它相当于机器人的密码:复制到安全位置,不要发进群聊、公开代码仓库或截图中。如果令牌意外泄漏,回到 BotFather 按提示撤销并生成新令牌。这就是电报机器人激活步骤详解的第一部分:创建账号并保护凭证。

第二步:先在私聊里启动机器人

打开 BotFather 提供的机器人链接,进入机器人私聊,点击 Start,或手动发送 /start。这一步很容易被忽略:机器人通常不能主动给一个从未启动过它的用户发送私聊消息。你也可以在 BotFather 使用 /setdescription 设置用途说明,用 /setcommands 添加命令菜单,例如输入 start - 开始使用 和 help - 查看帮助。命令菜单只是帮助用户操作,不会自动生成实际功能。

第三步:准备运行环境并写入最小自动回复程序

要让机器人自动处理消息,需要运行程序或使用可信的机器人平台。这里用 Python 演示,不依赖外部自动化平台。安装 Python 后,在终端执行 pip install python-telegram-bot,然后新建 bot.py,写入以下代码。程序只对设置的用户 ID 回复,避免任何知道用户名的人都能使用收件箱功能。

import os
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, ContextTypes, filters

OWNER_ID = int(os.environ['OWNER_ID'])

async def allowed(update):
    user = update.effective_user
    return user is not None and user.id == OWNER_ID

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    if not await allowed(update):
        await update.message.reply_text('此机器人仅供指定用户使用。')
        return
    await update.message.reply_text('收件箱已开启,发送文字即可收到确认。')

async def receive(update: Update, context: ContextTypes.DEFAULT_TYPE):
    if not await allowed(update):
        await update.message.reply_text('此机器人仅供指定用户使用。')
        return
    await update.message.reply_text('已收到。这份示例不会把消息写入文件或数据库。')

app = Application.builder().token(os.environ['BOT_TOKEN']).build()
app.add_handler(CommandHandler('start', start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, receive))
app.run_polling()

代码中的自动回复只是确认收到,并不等于消息已永久保存。将 OWNER_ID 设置成自己的 Telegram 数字用户 ID,将 BOT_TOKEN 设置成 BotFather 提供的令牌,再启动程序。macOS 或 Linux 终端可先执行 export BOT_TOKEN=你的令牌 和 export OWNER_ID=你的数字ID,然后执行 python bot.py。不要把真实令牌直接贴到公开网页或代码仓库。不同系统设置环境变量的方式不同;如果不熟悉终端,可选择可信的托管平台,但要先了解它会如何保存环境变量和运行日志。

第四步:测试自动对话,并确认程序持续运行

程序启动后,回到机器人私聊,先发送 /start,再发一条普通文字。若出现确认回复,说明收件和自动回复链路正常。电报机器人怎么添加自动对话?简单做法是在 receive 函数中判断文字内容,再按不同情况回复,例如识别“待办”后提示补充截止时间;复杂流程则需要增加状态管理或接入专门平台。若发消息没有反应,依次检查终端是否仍在运行、Token 是否正确、用户 ID 是否填写正确,以及程序是否报错。关闭运行程序的终端后,机器人通常也会停止响应;要全天候工作,需要让程序运行在持续在线的服务器或托管环境中。

第五步:按用途设置群聊权限或 MoviePilot 命令

这个教程采用私聊收件箱方案,建议不要为了方便就把机器人拉进公开群。如果确实要在群里使用,可在 BotFather 中通过 /setprivacy 检查群隐私模式,并确认机器人只需要读取哪些消息。MoviePilot 用户搜索电报机器人MoviePilot命令时,要注意命令会受 MoviePilot 版本、部署方式和管理员配置影响,不能假定所有实例都相同。优先查看自己部署的 MoviePilot 文档或管理界面里的机器人配置,并以实例提供的帮助信息为准;不要把网上不明来源的命令直接发给机器人或交给陌生人代配置。

注意事项:减少权限,也减少隐私风险

  • 令牌不要公开。怀疑泄漏时立即撤销并更换,不要只删除聊天记录。
  • 机器人并非端到端加密的私密聊天工具。运行程序会接触它收到的更新;即使示例没有主动写入数据库,主机、平台或程序日志仍可能留下记录。
  • 不要通过机器人发送密码、验证码、身份证件或其他高敏感内容。电报机器人会储存你的消息吗?答案取决于机器人程序、托管平台及日志设置,不能仅凭“机器人”两个字判断。
  • 示例代码只处理文本。图片、文件、按钮对话和群聊消息都需要另外编写处理逻辑。
  • 先在自己的私聊中测试,再考虑扩大使用范围;只授予机器人真正需要的群权限。

常见问题

问:发了消息,机器人一直不回复怎么办?
答:先确认已经点击 Start,再查看运行程序的终端是否在线、有无错误提示,并检查 Token 和用户 ID。机器人没有运行时,通常不会执行你写的回复逻辑。

问:BotFather 创建后,为什么不能直接自动聊天?
答:BotFather 负责创建和管理机器人的基础设置,不会替你编写对话功能。自动回复需要运行自己的程序,或选择经过评估的自动化服务。

问:机器人会储存我的消息吗?
答:Telegram 机器人通过 Bot API 接收消息,程序所有者或服务提供方可能处理消息。上面的示例没有写入文件或数据库,但不能据此保证整条链路绝不产生日志。对隐私有要求时,应检查程序代码、服务器日志和平台政策,并避免发送敏感信息。

问:换手机后机器人还会工作吗?
答:只要运行程序的设备或服务器持续在线,换手机通常不影响机器人运行;但新设备仍要打开机器人私聊并点击 Start,才能开始和它对话。