Commit Graph

2348 Commits

Author SHA1 Message Date
Lonami Exo
5a8c066ff7 Fix generated RpcError were no longer formatting the value 2021-09-28 21:07:15 +02:00
Lonami Exo
1c15375ea4 Fix get_participants was monkey-patching User
It no longer can do that. User has __slots__.
2021-09-28 21:06:00 +02:00
Lonami Exo
197a1ca996 Fix some modules were public when they should not have been 2021-09-26 19:58:42 +02:00
Lonami Exo
a9e1a574ae Fix limit was no longer defaulting to empty tuple
Introduced by 5a44510e2d.
When forwarding the calls, both signantures should match.
2021-09-26 18:37:09 +02:00
Lonami Exo
6f602a203e Fix custom.Forward not using the new __slots__ 2021-09-26 18:33:03 +02:00
Lonami Exo
e3b1dc2059 Make to_dict dynamic 2021-09-26 18:30:08 +02:00
Lonami Exo
86c47a2771 Use __slots__ in all generated classes 2021-09-26 17:52:16 +02:00
Lonami Exo
8bd4835eb2 Remove build_reply_markup from the client 2021-09-26 17:24:18 +02:00
Lonami Exo
6fec2a68c5 Use a proper markdown parser 2021-09-25 20:33:25 +02:00
Lonami Exo
1762f554df Make events subpackage private 2021-09-24 21:11:50 +02:00
Lonami Exo
5a44510e2d Forward client calls to impl in a more straightforward manner 2021-09-24 20:46:33 +02:00
Lonami Exo
ce292b36ab Fix GROUP check in EntityCache 2021-09-24 20:12:23 +02:00
Lonami Exo
debde6e856 Completely overhaul errors to be generated dynamically 2021-09-24 20:12:00 +02:00
Lonami Exo
cfe47a0434 Correct privacy on sessions module 2021-09-19 18:24:16 +02:00
Lonami Exo
26f6c62ce4 Init update state cache to empty in init 2021-09-19 18:17:37 +02:00
Lonami Exo
3b1660669e Remove self input user and bot cache from client
The session_state cache can be used instead.
This does put get_me with input_peer at a disadvantage, but I expect
this is not used all that often, since 'me' does just fine.
2021-09-19 18:16:12 +02:00
Lonami Exo
cc3d4145d8 Update and persist session state on successful login 2021-09-19 18:15:19 +02:00
Lonami Exo
3f13357d0f Fix SQLiteSession.set_state did not always clear old state
For instance, when we stored a user_id of 0 because we did not login yet.
2021-09-19 18:02:08 +02:00
Lonami Exo
016347474a Populate current user on connection if it's not yet saved 2021-09-19 18:01:01 +02:00
Lonami Exo
35a6d1e294 Fix SessionState did not store takeout_id 2021-09-19 17:59:35 +02:00
Lonami Exo
545e9d69ce Cache session_state and all_dcs right after connect 2021-09-19 17:51:05 +02:00
Lonami Exo
93dd2a186a Refresh DC info on connection 2021-09-19 17:41:40 +02:00
Lonami Exo
58c0a5bc24 Make IPv4 mandatory in session files 2021-09-19 17:30:31 +02:00
Lonami Exo
d60ebbe6ea Fix _get_peer was relying on old utils.resolve_id 2021-09-19 17:21:11 +02:00
Lonami Exo
9479e215fb Fix remaining upgraded uses of the session to work correctly 2021-09-19 17:08:51 +02:00
Lonami Exo
d33402f02e Fix _update_loop could get stuck in an infinite loop with no feedback 2021-09-19 17:08:34 +02:00
Lonami Exo
81b4957d9b Update code to deal with the new sessions 2021-09-19 16:38:11 +02:00
Lonami Exo
1f5722c925 Add missing session/types file 2021-09-19 16:37:53 +02:00
Lonami Exo
29d3c3fd7c Fix outdated LAYER usage in _create_exported_sender 2021-09-19 15:56:28 +02:00
Lonami Exo
684f640b60 Completely overhaul sessions 2021-09-19 13:45:19 +02:00
Lonami Exo
0b54fa7a25 Make edit_message parameters more consistent 2021-09-18 16:54:54 +02:00
Lonami Exo
4321b97e98 No longer run send_code_request from sign_in 2021-09-18 16:36:11 +02:00
Lonami Exo
431a9309e3 Remove mark from peer_id 2021-09-18 16:29:45 +02:00
Lonami Exo
9f3bb52e4e Possibly fix _get_response_message for UpdateMessagePoll 2021-09-18 16:10:01 +02:00
Lonami Exo
48c14df957 Remove client.download_file 2021-09-18 16:05:07 +02:00
Lonami Exo
e524a74b84 Remove client.disconnected property 2021-09-18 15:41:04 +02:00
Lonami Exo
bf61dd32af Change the way iter_participants filters are specified 2021-09-18 14:16:19 +02:00
Lonami Exo
8114fb6c9b Stop checking fwd_from or not out in message.edit 2021-09-18 13:34:21 +02:00
Lonami Exo
af81899bdc Don't automatically start the client via async-with 2021-09-18 13:30:39 +02:00
Lonami Exo
ba8cdc80da Officially remove resolve_invite_link 2021-09-18 13:10:31 +02:00
Lonami Exo
9af8ec8cce Officially remove bot_file_id support 2021-09-18 13:06:52 +02:00
Lonami Exo
3d36bb7b93 Change the way connection modes are specified 2021-09-18 12:49:44 +02:00
Lonami Exo
783c1771ab Fix remaining uses of old types namespace 2021-09-17 21:05:09 +02:00
Lonami Exo
dc29a95cef Change list of buttons to show up as rows and not cols 2021-09-17 21:03:47 +02:00
Lonami Exo
3bc46e8072 Remove broken CdnDecrypter 2021-09-17 20:55:27 +02:00
Lonami Exo
b3c23e343a Return deleted count from delete_messages 2021-09-17 20:36:40 +02:00
Lonami Exo
40ff7c6bdf Document default behaviour of limit 2021-09-17 20:19:23 +02:00
Lonami Exo
6e9ad9e31c Return correct total participant count when a filter is desired 2021-09-17 20:16:01 +02:00
Lonami Exo
1036c3cb52 Remove the aggressive hack from get_participants 2021-09-17 20:13:05 +02:00
Lonami Exo
be3ed894c6 Make changes to the default limit in client.get_list methods 2021-09-17 20:04:57 +02:00
Lonami Exo
e9f9994f4a Unify client.iter_* methods 2021-09-17 19:35:10 +02:00
Lonami Exo
943ad892f7 Address remaining uses of the Request suffix with raw API 2021-09-13 21:00:31 +02:00
Lonami Exo
334a847de7 Make custom.Message functional 2021-09-13 20:39:41 +02:00
Lonami Exo
499fc9f603 Move alltlobjects.py and fix imports 2021-09-12 16:58:06 +02:00
Lonami Exo
5fd2a017b2 Fix imports 2021-09-12 16:23:55 +02:00
Lonami Exo
604c3de070 Move custom and core objects to a new subpackage
This should keep it cleaner, as now _tl is fully auto-generated.
2021-09-12 16:05:56 +02:00
Lonami Exo
c08d724baa Delete _tl.patched backward-compatibility hack 2021-09-12 15:52:09 +02:00
Lonami Exo
e9b97b5e4a Fix client method calls and reading TLObjects 2021-09-12 15:47:05 +02:00
Lonami Exo
c84043cf71 Fix calls to private client methods 2021-09-12 14:09:53 +02:00
Lonami Exo
f222dc167e Fix imports 2021-09-12 13:27:13 +02:00
Lonami Exo
d48649602b Replace most raw API usage with new location 2021-09-12 12:16:02 +02:00
Lonami Exo
a901d43a6d Rename more subpackages and modules 2021-09-11 17:48:23 +02:00
Lonami Exo
66ef553adc Remove duplicated docstrings 2021-09-11 15:28:24 +02:00
Lonami Exo
f86339ab17 Remove Conversation API 2021-09-11 14:16:25 +02:00
Lonami Exo
2a933ac3bd Remove sync hack 2021-09-11 14:06:36 +02:00
Lonami Exo
34e7b7cc9f Fix some import errors 2021-09-11 13:43:20 +02:00
Lonami Exo
d6326abacb Rename client module as _client 2021-09-11 13:35:35 +02:00
Lonami Exo
f639992baa Replace weird mixin Client classes with free-standing defs
This should take care of the extremely precarious subclassing order.
It should also make IDEs go a lot less crazy.
Documentation and code can be kept separated.
2021-09-11 13:33:27 +02:00
Lonami Exo
2e1be01ad4 Add ttl parameter to send_file 2021-09-11 11:02:19 +02:00
Lonami Exo
3f5f5dbe48 Update documentation and list of known errors
Closes #3151.
2021-09-11 11:02:10 +02:00
Devesh Pal
391fbab674
Implement Sticker Choosing Action (#3144) 2021-09-01 15:08:58 +02:00
Yusuf_M_Thon_iD
022c1db33f
Update ChatAction to include MessageActionGameScore (#1651) 2021-08-30 17:33:46 +02:00
Lonami Exo
8c56f95252 Include full request on the cause of RPC errors
Closes #3110, fixes #3109.
2021-08-29 12:14:03 +02:00
Lonami Exo
2cb6cd5dad Change the way no_updates mode is enabled
See discussion on https://github.com/LonamiWebs/Telethon/commit/49713b2.

The problem with the automatic approach is that some scripts may do
some "fancier" things with the way they register updates, so it was
prone to failure (a handler could be added but since the last request
was without updates, nothing would be received).

This new approach is a bit more annoying to opt-into but also more
explicit.
2021-08-29 12:14:03 +02:00
Devesh Pal
befba11657
Add support for scheduled messages in iter_messages (#3127) 2021-08-29 11:53:06 +02:00
painor
828cf2dcad
Include "chat" attribute in processing entities (#3133)
Requests like checkChatInvite return a chatInviteAlready, which has
a "chat" attribute similar to the "user" attribute other requests have.
2021-08-29 11:50:48 +02:00
Devesh Pal
9830c4e02b
Add Button.buy and Button.game (#3141) 2021-08-29 11:49:52 +02:00
Lonami Exo
1e6be28e4b Fix pin_message not returning Message on PMs 2021-08-22 13:46:26 +02:00
Lonami Exo
49713b2784 Wrap requests in InvokeWithoutUpdatesRequest if no event handlers
Closes #1270.
2021-08-22 13:38:54 +02:00
Lonami Exo
9285e50c63 Handle non-user bans when iterating banned participants
Closes #3105.
2021-08-22 13:24:02 +02:00
Lonami Exo
bc6bcd31ad Fix InlineQuery.event.geo returning None
Closes #3136.
2021-08-22 13:09:57 +02:00
ZubAnt
45ed6658fe
Fix add_admins property of custom.ParticipantPermissions (#3132)
Closes #3131.
2021-08-15 08:01:25 +02:00
penn5
e546ae2f85
Allow per-request flood sleep threshold selection (#3123) 2021-08-06 08:13:34 +02:00
Devesh Pal
e5599c178b
Expose more raw API params in friendly methods (#3104) 2021-08-05 10:54:07 +02:00
Devesh Pal
ad55b945c1
Add comment_to to InlineResult-click method (#3118) 2021-08-03 18:34:10 +02:00
alexkoay
196cef66fd
Fix typehint for callback in UpdateMethods (#3119) 2021-08-03 18:33:46 +02:00
Lonami Exo
06afd04b07 Update to version 1.23 2021-07-09 20:18:22 +02:00
Lonami Exo
2df1dd7215 Don't call getFullChannel during iter_participants unless necessary
This should reduce the floodwaits of this request by a lot.
2021-07-09 20:11:21 +02:00
Shrimadhav U K
ecfc6ae87d
Add pm_oneside parameter in pin_message (#3095) 2021-07-09 19:50:47 +02:00
MiyukiKun
249670827c
Change manage_call permission to default to None (#3093) 2021-07-02 21:42:57 +02:00
Devesh Pal
42bfc7bb3f
Fix inline force_document and new known RPC errors (#3084)
This should fix inline video notes.
2021-06-24 14:19:01 +02:00
Ivanzzzc
417bfcd36e
Fix encoding of QR login URL (#3082)
Closes #3081.
2021-06-20 15:57:05 +02:00
Lonami Exo
2052b502c8 Update to v1.22 2021-06-19 19:08:02 +02:00
Lonami Exo
9d899e3dab Add EntityCache.clear
Closes #3073.
2021-06-19 18:32:23 +02:00
Lonami Exo
3f185aada2 Ignore IPv6 setting if there's no matching DC
May close #3075 (assuming this is what was happening).
It's better to return some DC rather than crashing.
2021-06-19 18:32:23 +02:00
BelgenOp
37b81c6418
Support retracting poll votes on message click without option (#3080) 2021-06-19 18:32:11 +02:00
Anonymous
7c5efee1de
Update to layer 129 and other additions/enhancements (#3074)
* Apply code corrections for the new layer types.
* Support not passing `user` to `get_permissions`.
* `download_profile_photo` now supports `MessageService`.
* `thumb` in send and edit message.
* Document new known errors.
2021-06-15 22:57:32 +02:00
BelgenOp
6b53d45ce2
Add attributes, supports_streaming to send_message and edit_message (#3066)
Closes #3047.
2021-05-31 15:36:40 +02:00
Lonami Exo
63f24d2282 Add new known RPC errors and update docs 2021-05-30 18:00:27 +02:00
Lonami
3d350c6087
Don't check if offset is divisible by limit if limit is None
Should fix #3058.
2021-05-16 22:27:29 +02:00
blank X
f6a0f5f979
Make offset divisible by limit (#3042) 2021-05-14 08:11:54 +02:00
Anonymous
d44928c27b
Change outdated reference to archive with edit_folder (#3052) 2021-05-09 15:33:28 +02:00
Julian Haupt
08a11eeacf
Fix get_sender when using it on a ChannelForbidden (#3053)
Closes #3051.
2021-05-09 15:33:01 +02:00
FujiApple
5f16434346
Fix Message._needed_markup_bot not returning bot in some cases (#3030) 2021-04-19 08:20:03 +02:00
Joshua Coales
3001b620ec
Improve exception clarity for message parsing failure (#3029) 2021-04-17 19:10:33 +02:00
Non
a376faa3a8
Fix MD5_CHECKSUM_INVALID for small files with custom key/iv (#3024)
Closes #3023.
2021-04-10 21:46:14 +02:00
Lonami Exo
4b16183d2b Audio metadata may have performer under artist
Closes  #3008.
2021-03-31 10:57:20 +02:00
Lonami Exo
e5a5ac5943 Remove sched_to_message special-case when mapping msgs
May fix #3012.
2021-03-31 10:30:24 +02:00
Lonami Exo
f326769fa8 Add support for messages to get_stats 2021-03-20 20:20:36 +01:00
Lonami Exo
4d3ff0e175 Revert "Use tgcrypto if available (#1715)"
This reverts commit 42cc9e61fb.

tgcrypto was made for Pyrogram, and seeing it used elsewhere
without much credit "hurts" the author. I personally do not endorse
its use, hence the lack of attention or notes in the documentation.

People who still want to benefit from the speed boost should go
out of their way to discover, install and patch Telethon's aes.py
module instead, all while complying with the respective license
(another reason to avoid said code in Telethon, which is under the
much more permissive MIT license).

People using tgcrypto for anything other than Pyrogram will do so
knowing full-well that this was not the library's intended usage.
2021-03-20 17:20:33 +01:00
Lonami Exo
1cef9173a0 Update to version 1.21.1 2021-03-16 08:24:00 +01:00
Lonami Exo
58013f4f44 Fix file.width and .height not working on Photo 2021-03-15 22:36:46 +01:00
Lonami Exo
3d6a2bb945 Update to version 1.21 2021-03-14 11:31:03 +01:00
Lonami Exo
bdc324760d Move message.out patching in self-chat to Message
May fix #1684.
2021-03-14 11:16:59 +01:00
Lonami Exo
eba95ebd07 Fix delete_dialog on chats
Closes #1727.
2021-03-14 11:05:47 +01:00
Lonami Exo
6f2f8ae69f Remove chat hack from events.UserUpdate
Turns out there was a specific update for channels.
2021-03-14 11:03:03 +01:00
Lonami Exo
8f46f704b1 Update to layer 125
Closes #1728, should close #1724.
2021-03-14 10:58:33 +01:00
Tulir Asokan
0ad9b1375e
Make input entity errors less useless (#1726) 2021-03-14 01:32:01 +01:00
Lonami
52ae9f09ce
Fix _get_input_notify on TLObjects
Closes #1725.
2021-03-13 19:06:19 +01:00
Lonami Exo
bfa7e4ca37 Support clicking buttons that require password
Should close #1716.
2021-03-07 16:36:26 +01:00
Lonami Exo
3ee94bdc5e Update known errors and error message
Closes #1713
2021-03-07 16:09:47 +01:00
igerzog
42cc9e61fb
Use tgcrypto if available (#1715) 2021-03-02 21:38:02 +01:00
Lonami Exo
d9691c9342 Update to version 1.20 2021-02-27 16:24:39 +01:00
Lonami Exo
4c771bf2af Fix setting logout result was not checking for future cancellation 2021-02-27 15:14:44 +01:00
Lonami Exo
292a36f760 Handle DestroySessionRes
Should close #1706.
2021-02-27 15:13:53 +01:00
Lonami Exo
a955138021 Fix invoking requests ordered
Closes #1709.
2021-02-27 15:03:05 +01:00
Lonami Exo
175b30faf8 Add new event types to AdminLogEvent 2021-02-23 20:10:51 +01:00
Lonami Exo
0d05d0d8f5 Update message to include ttl_period 2021-02-23 19:42:09 +01:00
Lonami Exo
0e8bd8248c Fix patched module was never automatically imported
Closes #1701. It has to be imported late in the process of
`import telethon` for its side-effects.
2021-02-14 00:26:04 +01:00
Lonami Exo
ff3c21c805 Update file.size to reflect the size of the largest thumbnail
This way we avoid relying on the order of the thumbnails, and just
pick the largest.
2021-02-13 22:52:27 +01:00
Lonami Exo
b102f1f345 Handle progressive size in _photo_size_byte_count 2021-02-13 22:49:03 +01:00
Lonami Exo
73b9de2085 Correctly sort PhotoSizeProgressive thumb size 2021-02-13 22:47:34 +01:00
Lonami Exo
b0158b3f65 Fix download of PhotoSizeProgressive
Closes #1700.
2021-02-13 22:45:12 +01:00
Lonami Exo
8f0de3d285 Fix TypeNotFoundError was not being propagated
Closes #1697. This would cause deadlocks, as the request future
would never be resolved, so await would wait forever.
2021-02-11 19:27:57 +01:00
Lonami Exo
845fe88451 Fix definition typo in patched module 2021-02-10 20:21:16 +01:00
Lonami Exo
9a47fdc1ee Move Message redefinitions back to patched
Fixes #1695. This matches the older behaviour better, although the
patched module is now written manually.
2021-02-10 20:18:29 +01:00
Lonami Exo
23041f398b Fix messages.search accidentally being used over getHistory
Introduced by 668dcd52ca (this commit
did change a lot more than it should have); the condition for search
was never updated to account for the non-None value.

Closes #1693.
2021-02-08 22:56:27 +01:00
Lonami Exo
acb066ad2e Fix patched import 2021-02-06 12:51:01 +01:00
Lonami Exo
b85f50e314 Try to fix new custom.Message again 2021-02-06 12:41:33 +01:00
Lonami Exo
abe4b8d5b0 Fix docs and imports for custom.Message 2021-02-05 20:52:08 +01:00
Lonami Exo
0997e3fa9f Remove _log_exc workaround and NullHandler
It was added back in bfc408b probably due to a misunderstanding of
https://docs.python.org/3/howto/logging.html#configuring-logging-for-a-library.

The default behaviour of logging WARNING and above is good and
desirable (hiding unhandled exceptions in update handlers by default
was a big, accidental mistake). NullHandler is used to *prevent*
this good default, so it shouldn't be used in the first place.
2021-02-02 20:47:02 +01:00
Lonami Exo
9a0e030db8 Add patched module back for compatibility 2021-02-02 19:12:22 +01:00
Lonami Exo
b88ec4b814 Print unhandled errors to stderr if logging is not configured
This should mitigate "the code doesn't work but there are no errors"
situations. Users not wanting this behaviour can configure logging
with a high-enough level that won't print anything, or set a filter.
2021-01-30 13:47:28 +01:00
Lonami Exo
4cc9645d76 Fix send_message not forwarding comment_to to send_file 2021-01-30 10:39:45 +01:00
Lonami Exo
8c38d7fb0e Add missing parenthesis 2021-01-30 10:32:42 +01:00
Lonami Exo
a12b49fd40 Change error mapping to be case insensitive 2021-01-29 20:19:07 +01:00
Lonami Exo
ea57db7aad Add comment_to parameter to more easily post comments 2021-01-28 21:05:20 +01:00
Lonami Exo
6f7640af18 Fix utils.resolve_id
…assuming get_peer_id is correct, as changed by 0d8497b.
2021-01-28 20:01:46 +01:00
Lonami Exo
055643bd01 Fix type hinting for custom.Message 2021-01-28 19:58:03 +01:00
Lonami Exo
4e73577d59 Update to layer 123 2021-01-28 19:48:01 +01:00