启动python bot后需要输入电报码

问题描述

我选择 heroku 来使用我的简单 python 脚本来获取电报消息并解析它们。因此,当我在 heroku 上启动脚本时,它要求输入电报号和确认码,但我无法输入它们,因为我通过以下命令启动它:heroku ps:scale bot=1 并且无法访问 heroku 终端。这个问题有解决办法吗?

解决方法

您不需要每次都输入代码,因为一旦您登录,它就会创建一个会话文件。所以使用那个会话文件。

,

我认为您需要在 Telethon 中传递会话字符串

,

Official Docs

过程-

  • 您需要生成一个会话并将其保存在环境变量之类的地方
  • 您使用我们需要的已保存会话StringSession

生成会话:

from telethon.sync import TelegramClient
from telethon.sessions import StringSession

with TelegramClient(StringSession(),api_id,api_hash) as client:
    print(client.session.save())

将此打印的会话保存在环境变量中

使用打印的会话:

from telethon.sync import TelegramClient
from telethon.sessions import StringSession

with TelegramClient(StringSession(string),api_hash) as client:
    # ....

通过这样做,您不需要一次又一次地生成会话

相关问答

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