Lonami Exo
5b1135734b
Properly handle PhoneCodeExpiredError in sign_in
...
Should actually fix #3185 now.
2023-04-06 18:53:12 +02:00
Lonami Exo
10c74f8bab
Bump to v1.28.0
2023-04-06 15:05:44 +02:00
Lonami Exo
af18538722
Handle PhoneCodeExpiredError during sign_in
...
Closes #3185 .
2023-04-06 14:36:24 +02:00
Lonami Exo
fd09284598
Update FAQ
...
Closes #3759 .
2023-04-06 14:32:45 +02:00
Lonami Exo
a657ae0134
Save self user ID in session file
...
Should result in one less request after connecting,
as there is no longer a need to fetch the self user.
2023-04-06 14:18:42 +02:00
Lonami Exo
88bc6a46a6
Store self user in entity cache
2023-04-06 13:58:26 +02:00
Lonami Exo
97b0ba6707
Flush in-memory cache to session after a limit is reached
...
Should fully close #3989 .
Should help with #3235 .
2023-04-06 13:45:12 +02:00
Lonami Exo
cb04e269c0
Fix _get_entity_pair could receive None as input
2023-04-06 13:39:56 +02:00
Lonami Exo
d1e3237c41
Remove now-unused EntityCache class
2023-04-06 13:37:40 +02:00
Lonami Exo
f7e38ee6f0
Remove redundant entity cache
...
Progress towards #3989 .
May also help with #3235 .
2023-04-06 13:25:48 +02:00
Lonami Exo
3e64ea35ff
Update FAQ
2023-04-06 13:25:47 +02:00
Lonami Exo
f9001bc8e0
Include Telethon version on fatal errors during updates
...
Since a lot of people don't mention the version when reporting
issues, it makes it hard to determine whether it's already been
fixed or not.
2023-04-06 13:25:47 +02:00
Kacnep89
68ea208b43
Periodically save update state ( #4071 )
2023-03-28 19:00:36 +02:00
Lonami Exo
0f7756ac68
Remove dead code from send_file
2023-03-28 18:17:07 +02:00
Lonami Exo
33c5ee9be4
Implement progress_callback for sending albums
...
Closes #3190 .
2023-03-28 18:15:57 +02:00
Kacnep89
a942b021bc
Fix conversion and time zone issues ( #4072 )
2023-03-28 17:38:46 +02:00
Lonami Exo
516a2e7435
Handle timeout error during getDifference
...
Closes #4043 .
2023-03-12 17:46:25 +01:00
Lonami Exo
be59c36ed3
Handle errors at connection level
...
Closes #4042 .
2023-03-12 17:43:36 +01:00
Lonami Exo
acd3407418
Propagate errors at the connection level
2023-03-12 17:43:19 +01:00
Lonami Exo
f3414d134a
Handle invalid buffers at protocol level
...
See #4042 .
2023-03-12 17:27:22 +01:00
Lonami Exo
b68c1f4f03
Add docs warning to file.id about it not being maintained
2023-03-11 11:56:43 +01:00
Lonami Exo
4de1609d4e
Fix ChatAction for groups with hidden members
2023-02-26 11:17:12 +01:00
Lonami Exo
07a7a8b404
Deprecate force_sms and sign_up
...
On the 10th of February, Telegram sent the following message to
those with an application registered on https://my.telegram.org .
--
Telegram API Update. Hello [REDACTED]. Thank you for contributing to the
open Telegram ecosystem by developing your app, [REDACTED].
Please note that due to recent updates to Telegram's handling of SMS and
the integration of new SMS providers like Firebase, we are changing the
way login codes are handled in third-party apps based on the Telegram API.
Starting on 18.02.2023, users logging into third-party apps will only be
able to receive login codes via Telegram. It will no longer be possible
to request an SMS to log into your app - just like when logging into
Telegram's own desktop and web clients.
Exactly like with the Telegram Desktop and Web apps, if a user doesn't
have a Telegram account yet, they will need to create one first using
an official mobile Telegram app.
We kindly ask you to update your app's login and signup interfaces to
reflect these changes before they go live on 18.02.2023 at 13:00 UTC.
This change will not significantly affect users since, according to our
research, the vast majority of third-party app users also use official
Telegram apps. In the coming months, we expect to offer new tools for
third-party developers that will help streamline the login process.
2023-02-26 10:40:53 +01:00
Lonami Exo
0563430314
Slightly improve documentation
2023-02-26 10:10:19 +01:00
Lonami Exo
acfde7132b
Support Message without client as inputs to forward_messages
...
Raw API does not monkey-patch the client on the returned messages,
so the get_input_chat call would return None, causing the forward
to fail. Instead, manually resolve the chat using the message's
peer_id.
The resolve call can also be avoided if from_peer is passed (which
may mismatch with where the messages actually belong, but that's not
really a concern).
2023-02-08 17:35:49 +01:00
Lonami Exo
daf21f12d9
Bump to v1.27
2023-02-05 15:19:41 +01:00
Lonami Exo
6dece6e8a1
Update to layer 152
2023-02-05 15:05:05 +01:00
Lonami Exo
9f077e356b
Fix downloading vcard and webdoc with Path
...
Closes #4027 .
2023-01-23 08:48:39 +01:00
Nick80835
1f8b59043b
Change maximum photo size to 2560px ( #4024 )
2023-01-18 17:37:56 +01:00
Lonami Exo
cc3d25eeb8
Wrap init request in invokeWithoutUpdates if requested
...
This may fix #3743 .
2023-01-14 13:31:32 +01:00
Lonami Exo
d81eb0b2e8
Apply pts returned by some additional requests
...
When a bot account sends a message, deletes it, and sends a new one,
very reliably it would detect a gap, and as a result recover the
second message it sent, processing it itself (because the hack with
`_self_outgoing` cannot possibly work when catching up).
Now certain `rpc_result` are also processed as-if they were updates
(including the ones from deleting messages), which solves this gap
issue. Not entirely sure if it's a hack or the intended way to do it
(since Telegram *does* return proper `updates` for other RPCs), but
it seems to solve this particular problem.
Other requests such as reading history, mentions or reactions also
return an instance of this type, but the `pts_count` should be 0,
and at worst it should simply trigger a gap, which shouldn't be a
big deal.
2023-01-14 12:31:01 +01:00
Lonami Exo
83bafa25e3
Stop using asyncio.get_event_loop()
...
It is deprecated in newer Python versions.
Closes #4013 .
2023-01-11 21:02:29 +01:00
Lonami Exo
fb97a8aa87
Propagate account being logged-out errors
...
Should close #4016 .
2023-01-11 20:30:33 +01:00
Lonami Exo
2007c83c9e
Update to layer 151
2022-12-31 18:38:53 +01:00
Lonami Exo
979e38152d
Bump to v1.26.1
2022-12-22 20:30:38 +01:00
Lonami Exo
6d2a5dada5
Fix PERSISTENT_TIMESTAMP_EMPTY for new entries with pts 1, count 0
...
Because Telegram can't actually use 0 for the pts, it uses 1, even
if the count is 0. This forces the next update to use 2, or else it
could not be fetched when using an offset of 1 (despite the count
being 0 on the first update, which should not have bumped the second
update to use 2).
This caused Telethon to create an initial state of 0 for the new entry
(and also "incorrectly" detected following updates as gaps, which
would quickly trigger the call to get difference with a bad pts).
Now Telethon is aware of this special-case and will not initialize
state as 0, even if that's not the "correct" thing to do.
2022-12-22 20:30:38 +01:00
Lonami Exo
e750eb7ab5
Add more debug traces to the messagebox
2022-12-18 12:57:51 +01:00
Lonami Exo
59ffad0090
Promote messagebox warnings to errors
...
No point in making a warning if it immediately is raised.
2022-12-18 12:42:14 +01:00
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