Lonami Exo
a8ce308b7a
Fix messagebox state trace was not logging the object
...
This state was a TL State, not the MessageBox State with repr.
2022-12-18 12:41:08 +01:00
Lonami Exo
c72c7b160a
Introduce trace-level logs to MessageBox
...
These will log sensitive information.
They are disabled when running with PYTHONOPTIMIZED.
They can only be enabled by setting a level lower than DEBUG,
which is difficult to do on accident.
2022-12-17 23:13:06 +01:00
Lonami Exo
5080715565
Change updates add_done_callback to discard tasks more reliably
...
See #3235 . This should help tone down memory usage a little.
2022-12-16 08:34:01 +01:00
Lonami Exo
4a6ef97910
Fix calls to disconnect after logout
...
Introduced by 83f13da420
.
2022-12-13 08:33:13 +01:00
Lonami Exo
83f13da420
Don't error when calling disconnect after logout
2022-11-27 11:22:30 +01:00
Lonami Exo
4f51604def
Fix sending copies of a file message should ignore parse mode
...
Closes #3983 .
2022-11-26 09:12:06 +01:00
Lonami Exo
bd1ba3bf1e
Bump to v1.26 and update layer to 149
2022-11-25 18:23:28 +01:00
Lonami Exo
8ae75db862
Sort updates preemptively
...
Closes #3936 .
There are two changes made to ensure the first update in a channel
cannot be lost, first by always sorting updates before applying pts,
and second by cautiously initializing the local pts if the client
had no pts known beforehand.
It might be possible to cleanup the handling of possible gaps now
that updates are always sorted, but that requires more thought.
2022-11-20 22:51:59 +01:00
Lonami Exo
2c85ffea12
Fix get_dialogs could fail when count % chunk_size = 0
...
Closes #3971 .
2022-11-09 16:14:12 +01:00
Lonami Exo
0c868065c7
Handle ConnectionError during update handling
2022-10-25 12:28:40 +02:00
Lonami Exo
2ffac2dcdb
Handle DestroyAuthKey result more gracefully
2022-10-21 15:52:00 +02:00
Lonami Exo
f902c9293a
Fix log message formatting when obj was not updates
2022-10-21 15:50:37 +02:00
Lonami Exo
a7db08d020
Fix sender destroy session handling was not running
2022-10-21 15:49:18 +02:00
Lonami Exo
b3266fabd8
Fix iter_messages could get stuck on global search
...
Found thanks to #920 . Issue probably introduced in b6d8311
.
2022-10-18 16:00:32 +02:00
th3c00lw0lf
ef4f9a962c
Fix MediaEmptyError error when sending some videos ( #3951 )
2022-10-15 20:01:29 +02:00
Lonami Exo
2d237c41fe
Revert accidental NO_UPDATES_TIMEOUT change and bump to v1.25.4
2022-10-14 18:43:44 +02:00
Lonami Exo
7f5a1ec5e1
Bump to v1.25.3
2022-10-14 18:41:39 +02:00
Lonami Exo
949b54fdb0
Fix edit_admin failing on small Chat
2022-10-13 17:56:47 +02:00
Lonami Exo
b6d8311a55
Fix iter_messages was stopping too early in some channels
...
Closes #3949 .
2022-10-13 13:40:25 +02:00
Lonami Exo
db29e9b7ef
Don't unnecessarily refetch the sender twice
2022-10-03 13:11:48 +02:00
Lonami Exo
299b090cde
Let download_profile_photo work with min-User
2022-10-03 13:06:27 +02:00
Lonami Exo
04cf2953f6
Document that disconnect cancels event handlers
...
Closes #3942 .
2022-10-03 10:25:15 +02:00
Lonami Exo
ad2238e788
Shield disconnect from cancellation
...
Relevant issue: #3942 .
2022-10-03 10:25:15 +02:00
Alfian Pangetsu
908375ac42
Fix get_running_loop usage in Python3.6 ( #3941 )
...
Closes #3939 .
2022-10-02 19:05:11 +02:00
Lonami Exo
d2b1c3ec5f
Lower severity of some log messages during update handling
...
Some people were complaining that their logs were being spammed by it.
2022-10-02 16:07:14 +02:00
Lonami Exo
1cf6cf46bd
Bump to v1.25.2
2022-09-27 11:32:38 +02:00
Lonami Exo
bb98f4e68c
Fix get_dialogs was not filling channels pts
2022-09-27 11:31:41 +02:00
Lonami Exo
105a7a7c56
Log channel ID when getting their difference
2022-09-27 11:31:26 +02:00
Lonami Exo
6fcd7dff38
Bump to v1.25.1
2022-09-24 11:03:09 +02:00
Lonami Exo
346a3f0ef5
Add note on 2FA for qr_login
2022-09-21 12:28:51 +02:00
Lonami Exo
c975b566a1
Handle ServerError while getting difference
...
Closes #3870 .
2022-09-21 12:17:24 +02:00
Lonami Exo
49bdb762c9
Re-raise unhandled errors that occur during update handling
...
This should help the situation in #3870 .
2022-09-21 12:13:21 +02:00
Lonami Exo
a83fe46baf
Document the client instance cannot be used after logout
...
Closes #3780 .
2022-09-21 12:00:55 +02:00
Lonami Exo
17516318e6
Add a hard timeout on disconnect
...
Closes #3917 .
2022-09-21 10:58:35 +02:00
Lonami Exo
1f42e6e32f
del_surrogate for HTML inline URLs
...
Closes #3693 .
2022-09-20 18:18:26 +02:00
Lonami Exo
ff0f9b0e8f
Ignore ChannelParticipantLeft during iter_participants
...
Closes #3231 .
2022-09-20 18:12:29 +02:00
Lonami Exo
2d4305db76
Wrap buttons typehint in Optional
...
Closes #3762 .
2022-09-20 18:03:16 +02:00
Lonami Exo
5a17397fc7
Fix events.Album did not have chat in PM
...
Closes #3773 .
2022-09-20 17:54:05 +02:00
Lonami Exo
d7424ccb90
Ignore aggressive parameter in iter_participants
...
It's broken (it causes flood wait immediately).
Closes #3787 .
2022-09-20 17:35:25 +02:00
Lonami Exo
18da855dd4
Fix get_permissions for small group chats
...
Closes #3811 .
2022-09-20 16:17:45 +02:00
Lonami Exo
75fe90005f
Manually construct reply_to for send_message result
...
Closes #3803 .
2022-09-20 16:05:48 +02:00
Lonami Exo
363c2604df
Strip 0-length message entities
...
Closes #3884 .
2022-09-20 13:12:01 +02:00
Lonami Exo
7cac3668d6
Make custom, functions and types proper modules
...
This allows "from telethon.types import Message" to work.
Closes #3929 .
Not entirely sure how it used to work before, perhaps
it got changed at some point but this should revert previous
behaviour.
2022-09-20 12:59:36 +02:00
Lonami Exo
2f2a9901e2
Trust pts values during apply_difference
...
See #3873 .
2022-09-20 12:52:24 +02:00
Lonami Exo
64bc73c41e
Do not remove ENTRY_SECRET during apply difference
...
This probably occurs with bot accounts only.
It is strange that the qts is used by bots but is missing from the
results of getDifference. This would need more investigation, but
it might just be the way this thing works.
Closes #3873 .
2022-09-20 12:40:48 +02:00
Lonami Exo
243f58c331
Handle auth errors during get difference
2022-09-20 11:35:59 +02:00
Lonami Exo
06536cfb91
Recognize invite links with plus sign prefix
2022-09-20 10:57:52 +02:00
Lonami Exo
50aa92ebde
Handle CancelledError inside update loop
...
This error is not really unexpected, since the library uses it to
cancel the task during disconnect.
Closes #3921 .
2022-09-14 17:11:13 +02:00
Lonami Exo
7d4424ac2b
Make use of AlbumHack for all albums
...
Closes #3916 .
The new MessageBox system is not designed with "albums come in the
same updates container" in mind (in fact, there was a note about this).
This version was also not intended to be published to PyPi, but it is,
so a workaround must be made for events.Album to remain working.
In essence, AlbumHack will always be used even if it technically did not
need to be used previously. This will cause a small delay for those
updates, but it should not be a major issue.
2022-09-14 16:53:56 +02:00
Lonami Exo
a66df977f7
Fix UpdateShort from socket was not unboxed
...
This was causing UpdateShorts to be sent to Raw handlers,
which in turn broke things like QR login.
Should fix #3922 .
2022-09-14 15:53:11 +02:00
Shubham Kumar
935be9dd6e
Fix some MD parsing of inline URLs ( #3920 )
2022-09-09 21:46:06 +02:00
Lonami Exo
8b1bfcdf9c
Bump to v1.25
2022-08-30 12:57:34 +02:00
Lonami Exo
48d7dbe90b
Remove missed async keywords from the revert
...
This should've been in 7d21b40401
.
This completes the revert of async sessions.
2022-08-30 12:40:05 +02:00
Lonami Exo
e87e6738b5
Revert "Add missing async keywords in SQLiteSession"
...
This reverts commit 0f5eeb29e7
.
2022-08-30 12:32:23 +02:00
Lonami Exo
7d21b40401
Revert "Make sessions async"
...
This reverts commit d2de0f3aca
.
2022-08-30 12:32:21 +02:00
Lonami Exo
88b2b9372d
Revert "Mark certain SQLiteSession methods as async"
...
This reverts commit f913ea6b75
.
2022-08-30 12:22:05 +02:00
Lonami Exo
44e3651adf
Revert "Add workaround for SQLiteSession needing save after init"
...
This reverts commit 8190a92aae
.
2022-08-30 12:20:20 +02:00
Lonami Exo
df96ead0ab
Also except ChannelInvalidError during get_diff
...
This change comes from here:
2166d913e6
2022-08-30 12:07:14 +02:00
Tulir Asokan
809a07edac
Fix missing variable and assignment in reset_deadline
2022-08-30 12:05:33 +02:00
Lonami Exo
4b151fbce9
Handle ValueError during get_channel_difference
2022-08-16 12:09:21 +02:00
Lonami Exo
396594060b
Fix reset_deadline was not doing its job
...
This was leading to a soft deadlock, always trying to get difference
but always receiving empty one and not exiting.
2022-08-11 11:04:37 +02:00
Lonami Exo
dd55e7c748
Prevent double-logging of 'timeout for updates'
2022-08-11 10:53:21 +02:00
Devesh Pal
362d06654f
Support sending 4GB files ( #3891 )
2022-07-28 12:30:46 +02:00
Rongrong
046e2cb605
Fix HTML/MD parser producing empty MessageEntity ( #3885 )
...
Closes #3884 . The implementation is also simplified.
2022-07-25 11:11:26 +02:00
Lonami Exo
f90cdf2ffb
Fix apply_difference should not end get diff for secret if not active
2022-05-31 11:58:38 +02:00
Lonami Exo
1af6d9a873
Properly log RpcError with no parent request
...
This should get rid of the unexpected BufferError traceback.
2022-05-31 11:02:34 +02:00
Lonami Exo
0f5eeb29e7
Add missing async keywords in SQLiteSession
2022-05-30 13:39:08 +02:00
Lonami Exo
441fe9d076
Remove TODOs which are no longer relevant in MessageBox
2022-05-30 13:33:56 +02:00
Lonami Exo
7e0639ac57
Add getting_diff_for assertion in get_channel_difference too
2022-05-30 13:31:29 +02:00
Lonami Exo
898e279218
Assert getting_diff_for is not filled when not possible in get_difference
2022-05-30 13:29:58 +02:00
Lonami Exo
a38170d26a
Assert reset_deadline is not unnecessarily called
2022-05-30 13:28:22 +02:00
Lonami Exo
6f6b207866
Better fix for reset_deadline
...
Follow-up to 876af8f27c
.
The issue was caused because we called end_get_diff to cleanup a diff
that could not actually be started.
This also enables further cleanup later on.
2022-05-30 13:27:04 +02:00
Lonami Exo
876af8f27c
Fix reset_deadline failing when the state map is empty
2022-05-30 13:04:02 +02:00
Lonami Exo
8190a92aae
Add workaround for SQLiteSession needing save after init
2022-05-30 12:59:04 +02:00
Lonami Exo
378ccd17bf
Call catch_up before processing updates if the user wants so
2022-05-25 15:31:39 +02:00
Lonami Exo
aa7a083444
Add missing begin_get_diff call on updatesTooLong
2022-05-25 15:28:15 +02:00
Lonami
b180b53619
Fix typo in ChannelTooLong code path
2022-05-23 16:53:34 +02:00
Lonami Exo
6005585764
Don't crash if periodic session access fails
...
If saving every minute or new entities fails, it's not fatal.
Other places are not checked because it is more critical for
information to be saved, such as disconnect, where we want to
crash if the session cannot be accessed.
2022-05-23 14:02:56 +02:00
Lonami Exo
06b0ae56d4
Treat invalid pts as outdated pts
2022-05-23 13:56:10 +02:00
Lonami Exo
c5bf83eb86
Remove unnecessary workaround when updating local pts
2022-05-23 13:52:32 +02:00
Lonami Exo
5a1b9daf4c
Add back UpdateChannelTooLong check
...
Removed in the previous commit 2bcedb98
.
2022-05-23 13:17:12 +02:00
Lonami Exo
2bcedb9820
Process diff.other_updates as if they are socket updates
...
This prevents duplicates since it contains the control flow to check for pts.
2022-05-23 13:13:39 +02:00
Lonami Exo
9dbf3443d0
Better initialization pts for new channels
2022-05-23 12:20:02 +02:00
Lonami Exo
f50b2f5d61
Handle bans when getting difference
2022-05-23 11:41:59 +02:00
Lonami Exo
dfce1f53a8
Handle PersistentTimestampOutdatedError
2022-05-23 11:10:46 +02:00
Lonami Exo
5e46b6365c
Use the correct type in apply_channel_difference
...
This one should not change the behaviour, but it's done for consistency.
2022-05-23 10:27:57 +02:00
Lonami Exo
d5bfb71e10
Handle get_difference case for secret chats
2022-05-20 20:44:36 +02:00
Lonami Exo
af56429e78
Add repr to MessageBox types
2022-05-20 18:15:43 +02:00
Lonami Exo
dfc6d448ed
Expose catch_up in client constructor and default it to False
2022-05-20 14:55:47 +02:00
Lonami Exo
3a44f56f64
Also process own updates in MessageBox
2022-05-19 16:40:32 +02:00
Lonami Exo
80685191ab
Add a hack to enable StringSession.save be (a)sync
2022-05-18 14:53:04 +02:00
Lonami Exo
184984ac51
Protect against potential replay attacks
...
See #3753 .
2022-05-18 12:24:28 +02:00
Lonami Exo
09b9cd8193
Fix initial session state load
2022-05-16 19:01:05 +02:00
Lonami Exo
c16fb0dae6
Add missing await in qr_login
2022-05-16 18:56:24 +02:00
Lonami Exo
898eb5b82f
Call GetState on login to init MessageBox
2022-05-16 10:05:07 +02:00
Lonami Exo
3c7f53802f
Fix saving of update state
2022-05-16 09:36:57 +02:00
Lonami Exo
0dff21a80f
Add missing async in sqlite
2022-05-16 09:36:41 +02:00
Lonami Exo
7963af1d17
Add repr to updates session types for easier debugging
2022-05-16 09:36:13 +02:00
Lonami Exo
db7b7fde3f
Actually fix references to TL in MessageBox
2022-05-13 17:46:51 +02:00
Lonami Exo
a5c3df2743
Attempt to load and save MessageBox state
2022-05-13 17:40:03 +02:00
Lonami Exo
053a0052c8
Fix references to TL in MessageBox
2022-05-13 17:39:31 +02:00
Lonami Exo
db09a92bc5
Make use of the new MessageBox
2022-05-13 13:17:16 +02:00
Lonami Exo
b5bfe5d9a1
Remove StateCache
2022-05-13 12:43:50 +02:00
Lonami Exo
f4b2fe9540
Backport v2 MessageBox
2022-05-13 12:29:58 +02:00
Lonami Exo
fdb0720fe9
Don't reset the auth_key upon receiving -404
2022-05-12 12:03:48 +02:00
Lonami Exo
f913ea6b75
Mark certain SQLiteSession methods as async
...
Follow-up to d2de0f3aca
.
2022-05-12 11:08:18 +02:00
Tulir Asokan
ecc036c7f4
Add option to clear unread reactions in send_read_acknowledge
2022-05-12 10:40:31 +02:00
Tulir Asokan
f351d5dcfd
Handle expired phone codes. Fixes mautrix/telegram#326
2022-05-12 10:39:27 +02:00
Tulir Asokan
d2de0f3aca
Make sessions async
...
SQLiteSession is not updated, don't try to use it
2022-05-12 10:36:10 +02:00
Lonami Exo
43f629f665
Update to layer 140
2022-05-12 10:21:03 +02: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
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