跳到正文

搭建一个下载 YouTube 视频的 Telegram 机器人

本指南搭建一个可用的 Telegram 机器人,把任意 YouTube 链接变成视频或 MP3——用一次 API 调用取代自建的 yt-dlp 技术栈。

你将搭建什么

一个机器人:用户发送 YouTube 链接,就能拿回视频。无需维护 yt-dlp、无需代理、无需自建 Bot API 服务器——Tunelio 返回直链,Telegram 直接从那里获取文件。

前置条件

  • 来自 @BotFather 的 Telegram 机器人 token。
  • 一个 Tunelio API key(用 Telegram 或邮箱注册——100 个免费额度,无需信用卡)。
  • 已安装 python-telegram-bot 和 requests 的 Python 3.10+。

机器人代码

将 BOT_TOKEN 和 TUNELIO_KEY 设为环境变量,然后运行它。每条文本消息都被当作 URL,发送到 GET /create,返回的链接直接交给 Telegram:

import os, requests
from telegram import Update
from telegram.ext import ApplicationBuilder, MessageHandler, filters, ContextTypes

TUNELIO = {"Authorization": f"Bearer {os.environ['TUNELIO_KEY']}"}

async def handle(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
    url = update.message.text.strip()
    r = requests.get(
        "https://tunelio.dev/create",
        params={"url": url, "quality": "720p"},
        headers=TUNELIO,
    ).json()
    if r.get("status") != "ok":
        await update.message.reply_text("Could not download that link.")
        return
    await update.message.reply_video(r["url"], caption=r["filename"])

app = ApplicationBuilder().token(os.environ["BOT_TOKEN"]).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle))
app.run_polling()

改为发送音频(MP3)

想要一个 MP3 机器人?请求 quality=mp3 并用 audio 回复——其余完全相同:

r = requests.get(
    "https://tunelio.dev/create",
    params={"url": url, "quality": "mp3"},
    headers=TUNELIO,
).json()
await update.message.reply_audio(r["url"], title=r["filename"])

为什么它胜过 yt-dlp 机器人

  • 没有 50 MB 的墙:你发送 URL,因此跳过了大多数 yt-dlp 机器人处理大文件所需的自建 Bot API 服务器。
  • 无需维护:代理、PO token 和更新都在服务端处理。
  • 持续可用:不必因 yt-dlp 每晚失效而被叫醒。

后续步骤

这就是一个完整的机器人。阅读 API 参考中的 /info(预先获取大小和格式)与错误处理,然后领取免费额度并上线。

Frequently asked questions

我需要自建 Telegram Bot API 服务器吗?

发送 URL 的话,不需要。用直链调用 reply_video 让 Telegram 去获取文件,对大多数视频都能绕过 50 MB 的机器人上传上限。

同一个机器人能同时提供音频和视频吗?

可以。在分辨率(如 720p)和 mp3 之间切换 quality,并相应地用 reply_video 或 reply_audio 回复。

免费额度够下载多少次?

每次 /create 花费 10 个额度,因此 100 个免费额度约为 10 次下载,足够在选择套餐前测试机器人。

Related guides