【问题标题】:Need to enter telegram code after starting python bot启动python bot后需要输入电报代码
【发布时间】:2021-06-22 09:53:06
【问题描述】:

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

【问题讨论】:

    标签: python heroku telegram-bot telethon telegram-api


    【解决方案1】:

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

    【讨论】:

    • heroku 文件系统是短暂的,所以应用重启后会话文件将被删除
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      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:
          # ....
      

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

      【讨论】:

        猜你喜欢
        • 2016-11-14
        • 2019-08-06
        • 1970-01-01
        • 2017-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 1970-01-01
        相关资源
        最近更新 更多