我可以在Telethon code中看到以下导入,但是在Telethon github存储库中找不到下面提到的GetDialogsRequest之类的函数。这些功能在哪里?它们不是Telethon项目的一部分,我应该去别处看看吗?我在tl文件夹中看不到任何“功能”模块。

from .tl.functions.messages import (
    GetDialogsRequest, GetHistoryRequest, ReadHistoryRequest, SendMediaRequest,
    SendMessageRequest)

最佳答案

它们是Telethon项目的一部分。在内部,省略了telethon部分(以便人们可以重命名该程序包),但是完整的导入通常为:

from telethon.tl.functions.messages import GetDialogsRequest


您始终可以参考online documentation。每个请求或构造函数都有一个按钮,可将from foo import bar行直接复制到剪贴板。

请注意,生成的代码不在存储库中,因为它们包含很多文件,因此我决定将它们从git中排除,以避免使用庞大的存储库。而是通过执行python3 tl_generator.py克隆存储库后为generatedtl_generator.py获取telethon_generator/scheme.tl文件,并在telethon/tl/下吐出生成的类和请求。

Telegram决定创建所谓的“ TL Language”,这类似于其API支持的所有可用方法,类型和构造函数的定义。任何人都可以获取这样的.tl文件,并方便地为任何其他编程语言生成代码,例如Telethon的Python。

关于python - Telethon:像GetDialogsRequest这样的常用方法在哪里,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44460401/

10-09 15:22