问题描述
我选择 heroku 来使用我的简单 python 脚本来获取电报消息并解析它们。因此,当我在 heroku 上启动脚本时,它要求输入电报号和确认码,但我无法输入它们,因为我通过以下命令启动它:heroku ps:scale bot=1
并且无法访问 heroku 终端。这个问题有解决办法吗?
解决方法
您不需要每次都输入代码,因为一旦您登录,它就会创建一个会话文件。所以使用那个会话文件。
,我认为您需要在 Telethon 中传递会话字符串
,过程-
- 您需要生成一个会话并将其保存在环境变量之类的地方
- 您使用我们需要的已保存会话
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:
# ....
通过这样做,您不需要一次又一次地生成会话