我使用Telethon连接到电报API,现在开发后我需要将项目api更改为主帐户。我想知道telethon存储凭据的位置,所以我可以删除它们并强制重新验证?
答案 0 :(得分:4)
如果您传递str
作为会话名称,它将在您运行脚本的同一目录中创建一个str.session
文件。因此,如果您更改了传递给不存在的TelegramClient
构造函数的字符串,它将无法登录。以同样的方式,重命名或删除该会话也将有助于摆脱该会话。您不应手动删除会话文件,而应调用.log_out()
。
虽然与问题本身无关,但您也可以自由覆盖Session
类来添加自定义.save()
和.load()
功能。 This issue显示格式从Pickle更改为JSON时,this one建议实际覆盖Session
类的能力。例如:
from telethon.tl import Session
class MySession(Session):
pass # Override load and save as you wish here
请注意,目前正在进行从Session
到JsonSession
的迁移,最终JsonSession
将取代Session
(截至v0.10.1
),尽管如果您覆盖保存并加载,这不应该影响您。