我正在尝试制作一个 youtube 下载电报机器人,但我遇到了一些问题,有人可以帮助我吗?

问题描述

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

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

这是我的代码

@bot.event
async def on_ready():
    print('Server Started')
    await ev_1.start()
    await ev_2.start()

@tasks.loop(minutes = 1)
async def ev_1():
    print('passed1')

@tasks.loop(minutes = 2)
async def ev_2():
    print('passed2')

解决方法

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

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

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

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

机器人目前可以发送任何类型的最大 50 MB 的文件

,

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...