Lonami Exo
f5f0c84553
Completely overhaul connections and transports
...
Reduce abstraction leaks. Now the transport can hold any state,
rather than just the tag. It's also responsible to initialize on
the first connection, and they can be cleanly reset.
asyncio connections are no longer used, in favour of raw sockets,
which should avoid some annoyances.
For the time being, more obscure transport modes have been removed,
as well as proxy support, until further cleaning is done.
2022-01-15 13:33:50 +01:00
Lonami Exo
02703e3753
Fix circular import regarding ignore_takeout
2022-01-15 13:18:53 +01:00
Lonami Exo
7524b652c8
Unify setting session state
2022-01-15 11:22:33 +01:00
Lonami Exo
be0da9b183
Update takeout to use less hacks
2022-01-09 14:41:10 +01:00
Lonami Exo
691160bd92
Remove 3.7 workarounds
2022-01-09 13:03:02 +01:00
Lonami Exo
be6508dc5d
Use frozen dataclasses for session types
...
Now that 3.7 is the minimum version,
we can use dataclasses.
2022-01-09 13:01:16 +01:00
Lonami Exo
7ea30961ae
Bump minimum required Python version to 3.7
2022-01-09 13:00:45 +01:00
Lonami Exo
721c803af9
Stop opening webbrowser on clicking URL buttons
2022-01-09 12:23:06 +01:00
Lonami Exo
232e76e73a
Stop setting the sender to be the channel when missing
2022-01-09 12:20:58 +01:00
Lonami Exo
010ee0813a
Rename send_read_acknowledge
2022-01-09 12:18:15 +01:00
Lonami Exo
1b15a34f69
Remove parse_mode from the client
2022-01-09 12:18:15 +01:00
Lonami Exo
e2132d5f7c
Change the way thumb size selection works
2022-01-09 12:18:15 +01:00
Lonami Exo
03de901b7f
Add enum for typing action
2022-01-09 12:18:15 +01:00
Lonami Exo
dbe66bf805
Remove TLObject.to_json
2022-01-09 12:18:15 +01:00
Lonami Exo
b566e59036
Add stringify back to custom Message
2022-01-09 12:18:15 +01:00
Hackintosh 5
8de375323e
Cleanup events code
2021-12-11 21:46:23 +01:00
penn5
8d1379f3d4
Remove _finish_init from chataction.py
...
This method was removed in 334a847de7
2021-12-11 21:46:23 +01:00
penn5
d3ef3c69c8
Remove _finish_init from newmessage.py
...
This method was removed in 334a847de7
2021-12-11 21:46:23 +01:00
penn5
dea424fdec
Fix typo in messages.py
2021-12-11 21:46:23 +01:00
Reinier Romero Mir
f9643bf737
Add missing async when downloading from URL ( #3222 )
2021-12-01 20:28:55 +01:00
Lonami Exo
bda4259815
Bump to v1.24
2021-12-01 19:08:47 +01:00
Lonami Exo
c9ecd61f7e
Fix peer ID check to work with higher IDs
...
This commit is taken from
5f4bfe6b9b
2021-12-01 19:03:59 +01:00
Lonami Exo
a5dce81d0f
Actually fill parameters in Message._as_input
2021-10-12 18:01:34 +02:00
Lonami Exo
72fc8f6808
Continue work on Message sending overhaul
2021-10-12 17:59:30 +02:00
Lonami Exo
3853f98e5f
Begin work into making Message a viable way to send them
2021-10-09 12:01:45 +02:00
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