启动 python 机器人后需要输入电报代码

Need to enter telegram code after starting python bot

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

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

我认为您需要在电视节目中传递会话字符串

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_id, api_hash) as client:
    # ....

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