You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以最小成本开发将YouTube链接转MP3的Telegram机器人(Python)

低成本实现Telegram YouTube转MP3机器人方案

核心技术选型(全免费工具)

  • Telegram机器人框架:使用python-telegram-bot,轻量易上手,文档完善且完全免费。
  • YouTube解析与转码:采用yt-dlp,作为youtube-dl的活跃分支,支持直接提取YouTube音频流并转成MP3,无需额外转码工具,免费且维护更新及时。
  • 部署平台:选择Replit免费层,支持长期运行Python项目,每月免费额度足够小流量机器人使用;测试阶段也可使用Google Colab后台运行(需保持窗口活跃)。

实现步骤

  1. 创建Telegram机器人

    • 打开Telegram搜索@BotFather,发送/newbot,按提示设置机器人名称和用户名,最终获取API Token并保存。
  2. 编写核心代码
    先在项目终端安装依赖:

    pip install python-telegram-bot yt-dlp
    

    核心逻辑代码示例:

    from telegram import Update
    from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters, ContextTypes
    import yt_dlp
    import os
    
    # 替换为你的机器人API Token
    BOT_TOKEN = "你的API_TOKEN"
    
    async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
        await update.message.reply_text("发我YouTube链接,我帮你转成MP3!")
    
    async def convert_to_mp3(update: Update, context: ContextTypes.DEFAULT_TYPE):
        url = update.message.text
        # yt-dlp配置:提取最高质量音频并转MP3
        ydl_opts = {
            'format': 'bestaudio/best',
            'postprocessors': [{
                'key': 'FFmpegExtractAudio',
                'preferredcodec': 'mp3',
                'preferredquality': '192',
            }],
            'outtmpl': '%(title)s.%(ext)s',
            'quiet': True
        }
        try:
            with yt_dlp.YoutubeDL(ydl_opts) as ydl:
                info = ydl.extract_info(url, download=True)
                filename = f"{info['title']}.mp3"
                await update.message.reply_audio(audio=open(filename, 'rb'))
                # 发送后删除本地文件节省空间
                os.remove(filename)
        except Exception as e:
            await update.message.reply_text(f"转换失败:{str(e)}")
    
    if __name__ == '__main__':
        app = ApplicationBuilder().token(BOT_TOKEN).build()
        app.add_handler(CommandHandler("start", start))
        app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, convert_to_mp3))
        app.run_polling()
    

    注:在Replit环境中需将代码放入main.py,开启"Always On"功能(免费层每月有一定免费时长)。

  3. 部署运行

    • 在Replit新建Python项目,粘贴代码并替换API Token,安装依赖后点击"Run"启动机器人。
    • 发送测试YouTube链接,确认能正常返回MP3文件即可。

成本说明

所有工具与平台均为免费使用,只要流量不超过免费层限制(Replit免费额度足够个人或小范围使用),无需任何费用。后续若流量增大,可升级Replit基础付费套餐,每月仅需几美元,成本极低。

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:54:40