- Added
Client.get_main_list_chats_all
helper method to get the whole main chats list
-
TDLib binaries upgraded to latest available version (1.7.7 from now)
-
Default value of
limit
parameter in methodClient.get_main_list_chats
was changed to 100 -
Default value of
limit
parameter in methodClientCache.get_main_list_chats
was changed to 100 -
Chats in
ClientCache.get_main_list_chats
are loaded using new loadChats TDLib function -
Added new
NotFound
helper exception for errors with code 400 -
Removed usage of deprecated
td_set_log_verbosity_level
function of TDJson instance. setLogVerbosityLevel is used instead -
API types and functions regenerated
This update may contain breaking changes in some scenarios
-
Slightly improved generator. Nullable parameters of some api functions now have Optional type
-
Changed file structure for prebuilt binaries
-
TDLib binaries upgraded to latest available version
-
API types and functions regenerated
- Totally removed
stop_signals
parameter ofClient.idle
method
-
stop_signals
parameter ofClient.idle
method is deprecated now and will be totally removed soon -
Fixed #2
-
TDLib binaries upgraded to latest available version
-
API types and functions regenerated
- Added
force_update: bool = False
parameter toClient
class getters. When set to True locally cached values will be refreshed from tdlib
- Fixed an error when
Client.get_supergroup
andClient.get_supergroup_full_info
returnedBasicGroup
andBasicGroupFullInfo
instead ofSupergroup
andSupergroupFullInfo
respectively
-
TDLib binaries upgraded to latest available version
-
API types and functions regenerated
- Added missing generated file from new TDLib
-
TDLib binaries upgraded to latest available version (1.7.6 from now)
-
API types and functions regenerated
- Added docker support. Fell free to use this image
-
TDLib binaries upgraded to latest available version
-
API types and functions regenerated
- Added prebuilt binary for Linux (Built with Ubuntu 20)
-
TDLib upgraded to version 1.7.5
-
API types and functions regenerated with new API available in TDLib 1.7.5
-
New high-level API method
Client.iter_chat_history
to iterate over messages in chat -
Added
Client.run
method to synchronously run client. Useful for faster bots coding (Included example in README.md)
-
Improved filters system
-
Added a few useful predefined filters
-
TDLib upgraded to version 1.7.4
-
API types and functions regenerated with new API available in TDLib 1.7.4
-
Added ujson dependency to improve performance of json encoding/decoding
-
TDJson
class now uses new TDLibJson api to work with requests
- Fixed a bug when main chats list was requested from bot session
-
timeout
parameter ofClient.request
changed torequest_timeout
-
AsyncResult
renamed toPendingRequest
-
Client.send_message
renamed toClient.send_text
- all methods of API class now have
request_timeout
parameter
-
added workaround for all aliased fields of
BaseObject
subclasses -
PendingRequest.id
is property now and returnsrequest_id
of outgoing request passed to constructor -
ClientCache
now handles telegram options updates and providesget_option_value
method to retrieve option value by name -
Messages now can be sent in semi-synchronous way:
SendMessage
request would wait forUpdateMessageSendSucceeded
event. -
Added some high-level methods to
Client
:send_photo
,send_video
,send_animation
,send_document
,send_audio
,send_voice_note
,send_video_note
,forward_messages
-
Request main chats list if session was authorized for the first time to avoid Chat not found errors and initialize inner TDLib chats cache
- Added proxy support. Proxy settings now available in Client initializer. Example
-
Minor refactoring
-
Updated TDLib binary
-
@extra
field of incoming updates now available inEXTRA
attribute ofBaseObject
and is empty dict by default. It is useful to store some user data there -
New filter factory
create_bot_command_filter(command: str)
to create specified command handler (useful for bots). This filter parses message text as command and putsbot_command
andbot_command_args
toupdate.EXTRA
-
Client.text_message_handler
method for registration of text message handlersthis method is universal and can be used directly or as decorator
-
Client.bot_command_handler
method for registration of text message handlers with texts started with "/"this method is universal and can be used directly or as decorator
-
Client.parse_text
method to parse text entities according toparse_mode
parameter. By default,parse_mode
parameter from constructor will is used -
New high-level API method
Client.edit_message
- Edits the text of a message (or a text of a game message). Returns the edited message after the edit is completed on the server side
-
Cache mechanism for chats, users and both types of groups
-
New high-level API method
Client.get_main_list_chats(limit: int)
- Returns an ordered list of chats in a main chat list. -
Multiple raw methods wrappers which work the same but returns cached entity if it was found in cache:
get_chat
,get_user
,get_user_full_info
,get_basic_group
,get_basic_group_full_info
,get_supergroup
,get_supergroup_full_info
,get_secret_chat
-
TL Schema parser now parses some parameters constraints in TL Schema such as nullability of parameter, min and max length
- API objects were regenerated with updated parser
- added
parse_mode
param toClient
class. Default parse mode for high-level methods likesend_message
. Default: "html"
Client.send_message
now automatically parses text entities in text. Text will be parsed according toparse_mode
option passed in constructor
- Removed redundant
CurrentAuthorizationState
class