""" This package defines clients as subclasses of others, and then a single `telethon.client.telegramclient.TelegramClient` which is subclass of them all to provide the final unified interface while the methods can live in different subclasses to be more maintainable. The ABC is `telethon.client.telegrambaseclient.TelegramBaseClient` and the first implementor is `telethon.client.users.UserMethods`, since calling requests require them to be resolved first, and that requires accessing entities (users). """ from .telegrambaseclient import TelegramBaseClient from .users import UserMethods # Required for everything from .messageparse import MessageParseMethods # Required for messages from .uploads import UploadMethods # Required for messages to send files from .updates import UpdateMethods # Required for buttons (register callbacks) from .buttons import ButtonMethods # Required for messages to use buttons from .messages import MessageMethods from .chats import ChatMethods from .dialogs import DialogMethods from .downloads import DownloadMethods from .auth import AuthMethods from .telegramclient import TelegramClient