【问题标题】:I'm trying to make a youtube downloader telegram bot , but I've some problem, can anyone help me?我正在尝试制作一个 youtube 下载器电报机器人,但我遇到了一些问题,有人可以帮助我吗?
【发布时间】:2021-03-21 12:02:31
【问题描述】:

我正在尝试制作一个电报机器人,它应该使用 pytube 为用户下载 youtube 视频。 但它会为我而不是用户下载视频...... 它要求提供链接,然后您粘贴一个链接,但机器人会在脚本运行的同一目录中为我下载它,而不是为您下载它!我把它部署在云端看看会发生什么,但我报错了

如何解决它为输入链接的人下载视频的问题?!​​?

这是我的代码:


def ask_for_link(update,context):
    bot.send_message(chat_id=update.effective_chat.id ,text="Please Paste the video link here ... ")
    return DOWNLOADER

def Downloader(update,context):
    try:
        link=str(update.message.text)

        Video_Url = YouTube(link)
        Video= Video_Url.streams.first()
        Video.download()

        bot.send_message(chat_id=update.effective_chat.id , text = f"{Video.title} has Downloaded successfully ... ")
        quit(update,context)
        
    except Exception:
        bot.send_message(chat_id=update.effective_chat.id , text = "Oooops !!! Something Went Wrong ... \n\n ( Make sure that you wrote the link correctly )")
        quit(update,context)
DOWNLOADER = 0

YouTube_Downloader_converstation_handler=ConversationHandler(
    entry_points=[CommandHandler("YouTubeDownloader", ask_for_link)] , 
    states={
        DOWNLOADER :[MessageHandler(Filters.text , callback=Downloader )]
        
        },
    fallbacks=[CommandHandler("quit" , quit)]) 

dispatcher.add_handler(YouTube_Downloader_converstation_handler)


【问题讨论】:

    标签: python youtube telegram-bot python-telegram-bot pytube


    【解决方案1】:

    Video.download()方法下载视频并保存在本地。

    如果您希望用户拥有视频而不是将其发送给他们(如果需要,您可以在之后删除文件)

    有关如何发送视频的更多信息,您可以在python-telegram-bot 库的official documentation 上查看send_videosend_document 方法

    需要注意的一点:根据 Telegram 官方 API (source)

    机器人目前可以发送大小不超过 50 MB

    的任何类型的文件

    【讨论】:

    • 这是个好主意!但是send_video会为用户下载视频吗?!
    • 我应该如何处理大小限制?!?有什么方法可以不受限制地下载视频吗?!?!
    • send_video 会将视频发送给用户聊天,用户必须下载它。对于大小限制,您无能为力。您可能会使用一些允许更大文件传输的服务,但我不太了解这些。有一件事是肯定的,当然,你不能超过 Telegram 的限制。
    【解决方案2】:

    不可能将任何类型的文件下载到用户计算机(直到或除非他/她自己做),因为安全建议如果机器人可以在用户系统中下载文件,这将是一个很大的安全漏洞因为这样您只需在用户计算机中下载一个小脚本即可轻松进入任何系统(希望我澄清了我的观点)。您可以向用户提供视频,以后可以由用户手动下载

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多