docker - Docker 容器中的 Telethon TelegramClient 身份验证

标签 docker docker-compose telegram two-factor-authentication telethon

我们有一个 script使用 Telethon 从 Telegram channel 下载文件Python 的库。

要创建一个 Telethon 实例,我们使用 TelegramClient构造函数。此方法要求用户将他的 Telegram 号码插入控制台,然后 Telegram 发送一个安全号码,该号码应写回控制台。

这个身份验证保存在Object/File/DB中称为session,所以在下一次执行时,TelegramClient不会再询问电话号码了。

现在,我想为脚本创建一个 Docker 镜像,这意味着当用户从发布的镜像创建一个容器时,他必须进行身份验证过程,这就是问题:

我们必须通过哪些方式尽可能自动地执行此身份验证?

我们可以使用 Docker 技巧、Telegram/Telethon 技巧,也许还有 Python 技巧……

最佳答案

我会尝试提出一种解决方案。

我们可以将session保存在宿主机文件系统中,并将session的位置设置为docker容器的volume

然后我们可以在容器外创建一个用于验证和创建 session 的脚本,当容器启动时,它已经有一个 session

关于docker - Docker 容器中的 Telethon TelegramClient 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61395907/

相关文章:

python - 带有 docker compose 和 sqlalchemy 的 PostgreSQL

https - Telegram 机器人 SSL 错误

continuous-integration - 使用Docker容器构建另一个Docker镜像

docker - GitLab 部署 token 在 EC2 Ubuntu 18.04 AMI 上失败,其他任何地方都没有

wordpress - 访问正在运行的Docker容器文件系统

mongodb - docker 撰写 : can not connect node container to Mongo container using the same network

java - 如何转换 Telegram Api 核心日期 :int type into Java Date?

python - 通过 python 向 Telegram Bot 发送文本消息

wordpress - 每个暴露的端口都将重定向到8080,如何将容器端口映射到其他端口而不是8080?

postgresql - 具有单独主机名/ip 的 Kubernetes Citus 设置