Commit Graph

2414 Commits

Author SHA1 Message Date
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
Lonami Exo
2117f8f54b Update to v1.19.1 2021-01-26 21:46:42 +01:00
Lonami Exo
320ab75818 Respect exif metadata when resizing photos
Closes #1663.
2021-01-26 21:44:11 +01:00
Lonami Exo
9a6bc5ae72 Update defaults and docs for video attributes
Closes #1679.
2021-01-26 21:10:21 +01:00
Lonami Exo
ad4c49aa18 Fix global message search 2021-01-26 21:07:44 +01:00
Googleplex
a886d609d9
Support sending album with URL photos (#1681)
Fixes #1408.
2021-01-25 08:31:25 +01:00
Lonami Exo
65bf0e4c45 Add missing importç 2021-01-24 01:38:44 +01:00
Lonami Exo
fa99f6a1af Try to handle TimeoutError during file download 2021-01-24 01:36:10 +01:00
Lonami Exo
de7cf03ba7 Stop storing asyncio loop in TelegramClient
The loop parameter was ignored because it shouldn't be used, but
the fact it still stored the current loop on creation messes up
with asyncio.run.
2021-01-18 22:59:19 +01:00
Shrimadhav U K
3ddb0a3903
Fix thumbnail for TDesktop and Telegram X users (#1673) 2021-01-17 17:31:26 +01:00
Lonami Exo
00aa0a4bf1 Avoid duplicate del in Conversation._on_read 2021-01-14 23:05:49 +01:00
Lonami Exo
cd51c9e47c Get rid of the patched/ module
This may fix #1669.
2021-01-14 22:56:55 +01:00
Lonami
4bf1d67eba
Fix resolve_invite_link in Python 3.6 2021-01-12 20:04:34 +01:00
painor
c0ed709adf
Add new format to resolve invite link (#1670) 2021-01-12 19:50:27 +01:00
Lonami Exo
b192c3e6a3 Update to v1.19 2021-01-05 19:58:41 +01:00
Lonami Exo
3df4807fb9 Fix ChatAction.user_left was considered as user_kicked
Closes #1660.
2021-01-02 12:24:32 +01:00
Lonami Exo
d0ee3c3a56 Return the service message produced when kicking somebody
Helps with #1664.
2021-01-02 12:13:53 +01:00
Lonami Exo
dd00829f1e Ignore PhotoPathSize thumbnail sizes
Closes #1655.
2020-12-19 19:42:07 +01:00
Lonami Exo
ee0fc5cc29 Fix AttributeError on reconnect with no retries
Closes #1646.
2020-12-11 21:43:39 +01:00
Lonami Exo
becfe2ce7a Start reconnect if a second ping is sent without a pong for the first
May help with #1564.
2020-12-11 17:18:25 +01:00
Lonami Exo
0a4d54fca4 Update to layer 122
Closes #1645.
2020-12-11 16:55:49 +01:00
Lonami Exo
1cd11391c4 Unconditionally disconnect exported senders on user disconnect
Borrowed senders are not disconnected immediately, but after a while.
If a borrow was used recently but the user requested the main client
to disconnect, those borrows "shouldn't" disconnect because they were
used recently. However, if the user requests a disconnect, they mean
that EVERYTHING should be disconnected, even if the borrows are recent.

This actually gets rid of warnings about send/recv tasks being destroyed,
which partially addresses #1634. That issue may still have more causes
though.
2020-12-11 16:30:12 +01:00
penn5
44aca29057
Favour text parameter when editing inline messages (#1643) 2020-12-08 10:06:19 +01:00
x0x8x
12380207ba
Add admin log event.has_left (#1642) 2020-12-04 14:51:15 +01:00
Lonami Exo
2439404ad1 Include service messages for new pins in ChatAction again 2020-11-28 16:49:39 +01:00
Ali Alaee
23fc38f7c9
Fix crypto imports on macOS Big Sur (#1639) 2020-11-28 15:54:52 +01:00
Lonami Exo
66a508a174 Update to v1.18 2020-11-28 12:17:25 +01:00
Lonami Exo
f2f43336c6 Always use python-socks when available
Relying on Python 3.6 or above to be installed to unconditionally
use this library would break user's code, because this is a new
optional dependency that users may not have installed.

Instead, always use the new library when available, which should
work better than pysocks because it natively supports asyncio.
2020-11-28 12:09:46 +01:00
vegeta1k95
ab3c5acf9a
Add client.set_proxy() (#1632) 2020-11-14 14:01:59 +01:00
Lonami Exo
9c87598950 Don't include *Empty entities in returned dialogs 2020-11-13 10:59:53 +01:00
Lonami Exo
c924365e24 Handle ChatEmpty in utils.get_peer 2020-11-13 10:59:53 +01:00
Lonami
46ee8e86c6
Fix conv.wait_event no longer raising Timeout
Should properly fix #1618.
2020-11-13 09:53:00 +01:00
Lonami Exo
ab9035acd2 Make large dates wrap around
Closes #1629.
2020-11-12 15:25:08 +01:00
Serhii Dylda
59da53ec48 Fix typing once again 2020-11-09 20:22:22 +01:00
Serhii Dylda
a68800b3f0 Remove unnecessary if clause 2020-11-09 20:09:08 +01:00
Serhii Dylda
38d8a54cc1 Fix protocol typing for python-socks. 2020-11-09 20:05:09 +01:00
Serhii Dylda
633986cfa6 Replace PySocks with python-socks for Python >= 3.6
See discussion at (https://github.com/LonamiWebs/Telethon/pull/1623)

Small fixes for `local_addr` argument.
2020-11-09 19:59:54 +01:00
Alekseev Svyatoslav
c4cbead25b
Remove using deprecated as_album kwarg (#1621) 2020-11-07 22:19:50 +01:00
Richard
ba3a090a80
Update send_file to support grouping any file type (#1620) 2020-11-07 17:32:00 +01:00
Lonami Exo
e1d2c81dca Parse part of newer bot file IDs for photos
Helps with #1613.
2020-11-07 12:46:46 +01:00
Lonami Exo
0d8497bf3b Correct and simplify the way channel IDs are marked
Closes #1359.
2020-11-07 12:18:55 +01:00
Lonami Exo
a6781c8e34 Don't cache SLOW_MODE_WAIT in _flood_waited_requests
Closes #1600.
2020-11-07 12:09:00 +01:00
Lonami Exo
08d5bfcbd0 Fix conv.wait_event not clearing timed out events
Closes #1618.
2020-11-07 12:06:10 +01:00
Lonami Exo
b02a22eaa3 Fix .get_buttons failing for some messages sent by the bot
Closes #1619.
2020-11-07 11:59:56 +01:00
hematogender
b6fe4b8fec
Fix get_display_name not handling ChatForbidden (#1617)
Closes #1616.
2020-11-04 20:28:04 +01:00
vegeta1k95
39e899294f
Fix unhandled ValueError inside _dispatch_update() task (#1615) 2020-11-04 09:58:20 +01:00
Lonami Exo
64d751a397 messages.search from_user may now be a non-User 2020-10-31 11:41:37 +01:00
Lonami Exo
935ee2242d Add method to unpin messages 2020-10-31 11:31:09 +01:00
Lonami Exo
9e3cb8180b Update ChatAction to handle new pin updates 2020-10-31 11:21:38 +01:00
Lonami Exo
d83c154f8d Partial update to layer 120 2020-10-30 20:06:59 +01:00
Lonami Exo
4ce2c0017a Somewhat improve packaging situation (#1605) 2020-10-25 10:50:12 +01:00
Lonami Exo
e7f174cdc8 Fix search with offset_date causing infinite recursion
Bug introduced by 668dcd5. Closes #1606.
2020-10-25 10:33:36 +01:00
Lonami Exo
62467b6318 Fix yet another typo
Never make commits in a rush from your phone.
2020-10-23 21:27:39 +02:00
Lonami Exo
60c5d0d8f4 Fix up typo from last commit 2020-10-23 21:24:51 +02:00
Lonami Exo
1a2e09487c Fix utils.get_peer not handling Self in get_messages 2020-10-23 19:02:43 +02:00
Lonami Exo
44e2ef6c79 Don't error when failing to extract response messages 2020-10-23 11:02:30 +02:00
Lonami Exo
e5476e6fef Add utils.split_text to split very large messages 2020-10-23 10:57:45 +02:00
Lonami Exo
d9ddf8858e Add missing local_addr to proxy connection, bump version
Bug introduced by #1587.
2020-10-22 10:13:29 +02:00
Lonami Exo
7ed5b4dfbe Explain what happens when a button is pressed in the docs 2020-10-19 10:49:50 +02:00
Qwerty-Space
d56b27e570
Fix several minor typos (#1603) 2020-10-18 21:11:59 +02:00
Lonami Exo
4db51dff8a Update to v1.17 2020-10-18 14:11:52 +02:00
Lonami Exo
94ce3b06eb Add missing raw API fields to Message and re-order them
Keeping them in order is important to easily change them when new
things are added so that we don't miss them again on another update.
2020-10-18 13:10:37 +02:00
Lonami Exo
5952a40c6d Update iter_messages to support fetching channel comments
Closes #1598.
2020-10-16 10:39:02 +02:00
Lonami Exo
4e1f582b17 Call sign_in during sign_up if needed to send the code 2020-10-15 11:43:35 +02:00
Lonami Exo
3ff09f7b91 Use inline result mime to infer the result type 2020-10-15 11:04:54 +02:00
Lonami Exo
312dac90a3 Improve inline result documentation with more examples 2020-10-15 10:42:40 +02:00
Lonami Exo
9c5b9abb93 Fix sending of documents in inline results 2020-10-15 10:40:41 +02:00
Lonami Exo
7c3bbaca2a Support not including the media from inline results in the msg 2020-10-15 10:40:19 +02:00
Lonami Exo
15f7c27bce Fix .photo()/.document() inline results excluding media from msg 2020-10-15 09:29:19 +02:00
Lonami Exo
adf52a1b74 Expose entity parameter in client.inline_query
Some bots, such as @gamee, use this to determine the type of results
to return (and "disable" themselves in channels).
2020-10-11 16:59:48 +02:00
vegeta1k95
d0faaa2ead
Fix internal get_me() was not expecting network errors (#1594) 2020-10-11 09:33:05 +02:00
Lonami Exo
61b0f09e1d Fix iter_messages(from_users='me') 2020-10-09 21:14:31 +02:00
Lonami Exo
e28fbc6678 Fix ChatAction check for self-user joining a chat 2020-10-07 10:40:34 +02:00
Lonami Exo
026c992395 Don't try to reconnect when authkey is invalid 2020-10-07 10:40:34 +02:00
Lonami Exo
5722ba8306 Revert add_admins property logic since it differs from the rest 2020-10-07 10:40:34 +02:00
Stefan
d2756cf68f
Add support for local_ip address binding (#1587) 2020-10-07 10:03:19 +02:00
khoben
ce71b3293b
Support Message.click() for polls (#1583) 2020-10-07 09:21:33 +02:00
Lonami Exo
05af5d0d74 Avoid redundant code in ParticipantPermissions 2020-10-06 11:14:16 +02:00
Lonami Exo
cf1645b598 Improve documentation for ParticipantPermissions 2020-10-06 11:14:16 +02:00
Lonami Exo
7f61b92f81 Add anonymous permission to edit_admin and get_permissions 2020-10-06 11:14:16 +02:00
Nick80835
ce120cba13
Fix get_permissions in chats and when using self user (#1584) 2020-10-05 19:21:07 +02:00
Lonami Exo
09f4c5c708 Only reset auth_key on error -404
This error is "auth key not found", and the authorization key should
probably not be reset on other error codes. This might address #1457.
2020-10-05 14:08:21 +02:00
Lonami Exo
185a93a105 Expect BufferError during automatic reconnect
This seems to occur whe the Telegram servers are dying and logging
everyone out.
2020-10-05 14:07:11 +02:00
Lonami Exo
20606b3a71 Fix from_users filter not accounting for None from_id 2020-10-05 14:01:50 +02:00
Lonami Exo
cb92a40156 Add additional asserts to debug issue with peer empty channels 2020-10-05 13:58:04 +02:00
Lonami Exo
bb3ccca333 Fix Python 3.5 compatibility issue 2020-10-05 10:50:47 +02:00
apepenkov
3e188d0344
Add missing check for permissions.is_creator (#1578) 2020-10-03 17:16:10 +02:00
kolay
fc765f6014
Add new get_permissions method (#1575)
Closes #1574.
2020-10-03 16:59:54 +02:00
Tulir Asokan
bf29cddbc9
Add parameter to pass raw entities when sending message (#1577) 2020-10-02 22:06:48 +02:00
Lonami Exo
4321153b06 Correctly emulate old to_id behaviour 2020-10-02 10:23:04 +02:00
Lonami Exo
e24c49f5be Fix patching of message.out for self-chat 2020-10-02 10:22:38 +02:00
Lonami Exo
53920a1568 Remove handling chat peer discrepancy in NewMessage 2020-10-02 10:04:51 +02:00
Lonami Exo
5c93ea8019 Fix from_id/sender_id value on message updates 2020-10-01 21:22:27 +02:00
Lonami Exo
572229e536 Add aliases to access new msg fields with old names 2020-10-01 20:37:07 +02:00
Lonami Exo
522681f463 Handle UserEmpty in utils.get_peer
Closes #1552.
2020-10-01 14:02:54 +02:00
Lonami Exo
5c5cee16d9 Lower log severity when receiving empty messages 2020-10-01 13:22:38 +02:00
Lonami Exo
67b87a0ea0 Evict old cached usernames in case of collision 2020-10-01 13:20:29 +02:00
Lonami Exo
233daafd96 Fix global search would fail if last message had no peer 2020-10-01 13:18:54 +02:00
Lonami Exo
668dcd52ca Update global search to properly use offset_rate 2020-10-01 12:23:34 +02:00
Tulir Asokan
8ce7e776c1 Add option to raise last error instead of generic ValueError (#1571) 2020-10-01 12:23:10 +02:00
Lonami Exo
d5e4398ace Adapt the rest of the library to layer 119 2020-10-01 12:22:55 +02:00
Lonami Exo
62737c1caf Partially upgrade to layer 119 2020-10-01 09:17:18 +02:00
Lonami Exo
10b2b60415 Fix requests were not re-enqueued if sending failed 2020-09-29 21:07:38 +02:00
Lonami Exo
c864ef7e16 Refetch msg if fileref expires while downloading docs
Closes #1301.
2020-09-24 10:03:28 +02:00
Lonami Exo
75fbd28d3e Add a workaround for sometimes-missing photos from channels 2020-09-22 11:08:17 +02:00
Lonami Exo
219b4ecb77 Abstract away treating a file as a stream
Makes upload_file cleaner (context manager instead of try-finally)
and helps keep the logic "we may own this stream and need to close
it or not" separated.

It can be overengineered to allow nesting the same instance in
context managers and also provide implementations for synchronous
context managers but it adds quite a bit of unnecessary complexity
for the time being. YAGNI.
2020-09-14 16:20:44 +02:00
yash-dk
1d6fd7898a
Consider all reconnect attempts as retrying (#1557)
This means that a value of 0 retries will no longer try to reconnect.
2020-09-13 09:43:01 +02:00
apepenkov
2a114917f1
Fix AlbumHack in combination with events.Raw (#1555) 2020-09-10 16:25:44 +02:00
Tanya Degurechaff
1afb5b95e3
Update init params to match those of tdesktop (#1549) 2020-09-10 14:52:25 +02:00
Allerter
1ed0f75c49
Support extracting metadata from bytes and stream objects (#1547)
This should enable more accurate uploads of in-memory files.
2020-09-08 00:20:37 +02:00
Lonami Exo
0c9d0db730 Update to v1.16.4
v1.16.3 was accidentally released without the intended bug-fixes.
2020-08-24 12:54:56 +02:00
penn5
1a9accbe5d
Fix warning when using formatted phones in start (#1532) 2020-08-24 10:53:29 +02:00
Lonami Exo
73109eb819 Add a workaround for channels that claim have no photos but do 2020-08-13 15:13:29 +02:00
Lonami Exo
e00496aa63 Update to v1.16.2 2020-08-11 23:16:09 +02:00
Lonami Exo
e19aa44d5c Sort thumbs to ensure -1 is largest
Closes #1519.
2020-08-11 23:14:31 +02:00
Lonami Exo
0cefc73448 Support both str and VideoSize as thumb on download_media 2020-08-11 22:31:12 +02:00
Lonami Exo
3c56a6db4d Update to v1.16.1 2020-08-10 16:19:31 +02:00
Lonami Exo
9a0d6b9931 Don't set force_file on force_document with images
Otherwise, Telegram won't analyze the image and won't add it the
DocumentAttributeImageSize, causing some bots like t.me/Stickers
to break.

Closes #1507.
2020-08-10 16:09:39 +02:00
Lonami Exo
ddeefff431 Add a warning when trying to connect to a different account
Closes #1172, and also fixed a typo.
2020-08-08 17:49:00 +02:00
conetra
958698bba7
Remove square bracket around IPv6 addresses (#1517) 2020-08-08 13:16:01 +02:00
Lonami Exo
1d71cdc9e0 Support autocast of polls into input media when possible
Closes #1516.
2020-08-07 16:03:50 +02:00
Lonami Exo
241c6c4ac8 Auto-retry on interdc call (rich) error 2020-08-03 12:35:25 +02:00
Lonami Exo
34861ad1bc Update to v1.16 2020-07-28 18:12:24 +02:00
Lonami Exo
f18ab08334 Add new friendly method to get channel stats 2020-07-26 13:45:30 +02:00
Lonami Exo
e12f6c747f Extend use of force_document to work on files
This allows .webp files to be sent as documents and not stickers.
2020-07-26 13:03:59 +02:00
Lonami Exo
95ea2fb40c Remove uses of gif external
Since it has been removed in layer 116.
2020-07-26 12:59:10 +02:00
Lonami Exo
1c3e7dda01 Avoid explicitly passing the loop to asyncio
This behaviour is deprecated and will be removed in future versions
of Python. Technically, it could be considered a bug (invalid usage
causing different behaviour from the expected one), and in practice
it should not break much code (because .get_event_loop() would likely
be the same event loop anyway).
2020-07-25 18:39:35 +02:00
Lonami Exo
de17a19168 Improve upload_file by properly supporting streaming files 2020-07-15 14:35:42 +02:00
Shrimadhav U K
bfb8de2736
Update upload file size limit to 2GB (#1499)
Source: https://t.me/tginfo/2656
Closes #1498.
2020-07-06 20:11:40 +02:00
Lonami Exo
e44926114a Bump to v1.15 2020-07-04 13:29:43 +02:00
Lonami Exo
326f70b678 Support clicking on buttons asking for phone/location
Closes #1492.
2020-07-04 13:29:43 +02:00
Lonami Exo
7b852206f1 Fix click timeout error is now different 2020-07-04 13:29:43 +02:00
Lonami Exo
ab594ed0cb Remove unused imports and variables 2020-07-04 13:29:43 +02:00
KnorpelSenf
0f8119c400
Fix typo in docs (#1493) 2020-06-24 14:30:41 +02:00
Tulir Asokan
ba4f4c1f78
Fix url property in QRLogin (#1494) 2020-06-24 14:11:54 +02:00
Lonami Exo
e0c3143763 Update documentation with new errors and further clarifications 2020-06-22 13:21:45 +02:00
Lonami Exo
3e511484c7 Support pathlib.Path on download_file
Fixes #1379.
2020-06-06 21:07:22 +02:00
Lonami Exo
4b933069f1 Add hacks to properly handle events.Album from other DCs
Fixes #1479.
2020-06-06 21:01:02 +02:00
Lonami Exo
faf7263d8f Handle RPC errors on auto-get_difference
Closes #1428.
2020-06-06 14:04:14 +02:00
Lonami Exo
db3e7656e0 Handle AssertionError when cancelling tasks
Fixes #1478.
2020-06-06 13:54:19 +02:00
Lonami Exo
3f74f83964 Move qrlogin with the rest of custom types 2020-06-06 13:47:56 +02:00
penn5
8557effe13
Fix docs in InlineQuery (#1425) 2020-06-06 13:47:46 +02:00
Lonami Exo
c904b7ccd8 Add a friendly method for QR login
Closes #1471.
2020-06-05 21:58:59 +02:00
Lonami Exo
bfa995d52b Don't crash when receiving updates prior to login
Fixes #1467, and enables #1471.
2020-06-05 21:17:09 +02:00
Lonami Exo
8330635a72 Bump to v1.14.0 2020-05-26 09:31:36 +02:00
Lonami Exo
a46ce053f1 Fix another crash for return value when sending albums 2020-05-24 19:01:05 +02:00
Lonami Exo
88e7f0da65 Fix return value when fwding msgs if some are missing
It was supposed to return None for the spots were it failed to fwd
a message, but instead only those that were present were returned,
because we were iterating over the wrong object (dict and not list).
2020-05-24 18:41:30 +02:00
Lonami Exo
29eb90e503 Fix get_pinned_message in Chat
Closes #1458.
2020-05-17 09:35:44 +02:00
JuniorJPDJ
634bc3a8bd
Allow event's func to be async (#1461)
Fixes #1344.
2020-05-16 09:58:37 +02:00
penn5
c45f2e7c39
Handle flood waits of 0 seconds more gracefully (#1460) 2020-05-13 18:50:56 +02:00
Lonami Exo
393da7e57a Expose missing embed_links param in edit_permissions 2020-05-09 17:35:26 +02:00
Lonami Exo
4393ec0b83 Support dice autocast and update docs on send_file for dice 2020-05-05 09:28:37 +02:00
Lonami Exo
c43e2a0a3a Return produced service message with pin_message
Fixes #1394.
2020-04-29 10:29:14 +02:00
Lonami Exo
74bced75b4 Check if the conversation was cancelled on send methods
Fixes #1411.
2020-04-28 21:02:27 +02:00
Lonami Exo
7ea4686d6c Handle FloodWaitError in client.download_media
Fixes #1426. Not entirely happy with the new indirection layer,
but the original __call__ method is already a mess anyway and
the additional cost of an extra call should be neglible compared
to the actual IO.
2020-04-28 20:49:57 +02:00
Lonami Exo
7f3aa43ad4 Rely on types.UpdateChatPinnedMessage for chat unpins
Fixes #1405, probably.
2020-04-27 21:16:45 +02:00
Lonami Exo
71ed1564cb Add a new .dice property to Message 2020-04-27 20:43:09 +02:00
Lonami Exo
bfa46f47ed Register application/x-tgsticker to mimetypes 2020-04-26 13:42:16 +02:00
Lonami Exo
eb58e60dd1 Fix string formatting on events.Raw with bad input param 2020-04-26 13:42:16 +02:00
TishSerg
a16c60c886
Fix action 'song' should alias 'audio' (#1444) 2020-04-26 11:00:00 +02:00
Lonami Exo
c487340f8e Bump to v1.13.0 2020-04-25 16:28:13 +02:00
Lonami Exo
c37dc69592 Fix downloading thumb was using name inferred for video 2020-04-23 21:01:29 +02:00
Lonami Exo
0c8a90f2a3 Fix delete_messages(None, ...) not working 2020-04-23 20:40:23 +02:00
Lonami Exo
67a9718f9e Bump to v1.12.0 2020-04-20 15:12:00 +02:00
Lonami Exo
01cf4967a5 Clarify send_read_acknowledge behaviour and add new error 2020-04-13 15:03:13 +02:00
ov7a
79fb1a54cb
Switch to blocking connect when using proxy (#1432)
Until a better fix is found, this should help proxy users.
2020-04-12 14:28:40 +02:00
Lonami Exo
d0f937bcb6 Don't disconnect borrowed senders immediately (#1364) 2020-04-05 12:34:33 +02:00
Arne Beer
3729fde572
Fix editing of inline messages in some cases (#1427) 2020-04-03 18:37:46 +02:00
Dmitry D. Chernov
0ec612d71a utils: Style fix and simplify a bit the VALID_USERNAME_RE 2020-03-31 19:18:57 +10:00
YouTwitFace
1669d80082
Remove call to _cache_media (#1419)
Fixes #1418
2020-03-29 10:15:53 +02:00
Lonami Exo
3ab9986fc7 Slightly better flow in _file_to_media 2020-03-14 12:16:52 +01:00
Lonami Exo
ccfd7a1015 Don't ignore thumb in send_file(input file)
Fixes #1404
2020-03-14 12:12:40 +01:00
Lonami Exo
68438f4621 Don't store refs to files in cache
File cache has been unused since file_reference were introduced,
there's no point saving them to cache if they're never queried.

Fixes #1400.
2020-03-11 10:07:21 +01:00
Lonami Exo
e3d8109110 Fix a doc typo and update projects using the lib 2020-03-11 10:02:19 +01:00
painor
0e0052888f
Expose key and iv parameter in downloads/uploads (#1397) 2020-03-04 16:12:34 +01:00
Lonami Exo
1ec38aa5b2 Update and clarify some docs
cc #1388, #1396
2020-02-28 11:50:16 +01:00
Lonami Exo
e451abbf20 Avoid another MemoryError 2020-02-28 10:42:23 +01:00
Lonami Exo
e9c5e719f1 Minor docs update, bump v1.11.3 2020-02-24 13:15:56 +01:00
Lonami Exo
9a86447b6e Fix get(_input)_users in ChatAction with no service msg 2020-02-24 13:07:13 +01:00
Pascal Jürgens
0814a20ec4
Fix macOS version parsing (again), bump v1.11.2
#1393
2020-02-21 20:37:24 +01:00
Lonami Exo
8aa15174ab Fix check in macOS (#1369), bump v1.11.1 2020-02-21 12:48:43 +01:00
Lonami Exo
f21abcd529 Update to v1.11 2020-02-20 20:57:17 +01:00
Lonami Exo
1e94fe25fa Log requests that trigger struct.error
The exception hardly provides any valuable information.
This will hopefully help troubleshooting why the error happens.
2020-02-20 13:40:08 +01:00
Lonami Exo
7ffb87170b Update some URLs
Some were out of date, some were examples pointing to a personal
link, which were replaced with generic examples.
2020-02-20 11:50:15 +01:00
Lonami Exo
3d32e16235 Fix within surrogate detection 2020-02-20 10:53:28 +01:00
Lonami Exo
3a6c955c90 Add examples to all events 2020-02-20 10:18:26 +01:00
Lonami Exo
9f73c35621 Fix unparsing of entities that are together 2020-02-20 09:43:37 +01:00
Tulir Asokan
95dc775344
Fix errors found by new tests (#1389) 2020-02-14 18:35:42 +01:00
Lonami
ac8009af4a
Fix default DC ID value 2020-02-02 10:01:15 +01:00
Lonami Exo
5f8032584b Fix _get_response_message for sendMedia(live location) 2020-02-01 15:32:52 +01:00
Lonami Exo
22e645e22f Update to layer 109 2020-01-23 13:43:20 +01:00
Lonami Exo
acb8518911 Fix send_message not forwarding some args to send_file 2020-01-22 14:21:09 +01:00
Lonami Exo
a2fc7dca79 Handle users=None properly in ChatAction 2020-01-21 10:39:51 +01:00
Lonami Exo
da9505fa3c Add some missing words in the docs 2020-01-19 13:25:58 +01:00
Pascal Jürgens
72dc8052b3 Fix crypto imports on macOS Catalina (#1369) 2020-01-17 12:24:59 +01:00
Alexhol
76cc076d61 Fix send_file not considering videos for albums (#1371) 2020-01-17 11:12:20 +01:00
Lonami Exo
78ee787310 Fix utils._get_extension not working in pathlib objects
This was found while testing #1371.
2020-01-17 11:11:10 +01:00
Lonami Exo
d09f6a50b0 Add extra security checks during authkey gen 2020-01-14 12:12:55 +01:00
Lonami
76cf208619
Document where factorization.py comes from 2020-01-09 12:51:41 +01:00
Lonami Exo
76fa7918a5 Fix get_entity(chat) (#1367) 2020-01-08 12:07:58 +01:00
Lonami Exo
3c253734ac Clear old docs and fix formatting in ConnectionError messages 2020-01-07 12:20:01 +01:00
Lonami Exo
d68d70362b Handle PeerIdInvalidError in delete_dialog 2020-01-07 12:14:19 +01:00
Lonami Exo
582a61192a Fix MemoryError on get_input_media(game)
Because an integer was being passed where a TLObject was expected,
so the serialization with bytes() was actually requesting that many
bytes as opposed to properly converting the expected object.
2020-01-04 17:52:31 +01:00
Lonami Exo
364afd61e1 Execute get_me() on reconnect
This should let Telegram know we still want updates.
Ideally, we would catch up, but that requires more work.
2020-01-04 17:22:53 +01:00
Lonami Exo
d196c89825 Fix unparsing malformed entities, bump v1.10.10 2019-12-30 10:19:29 +01:00
Lonami Exo
be8838b5f8 Fix wrong call to determine entity type 2019-12-30 10:56:20 +01:00
Lonami Exo
a142b7de5e Handle invalid upload of text fd more gracefully 2019-12-27 12:05:27 +01:00
Lonami Exo
bdb74ac235 Support async fd on download/upload (#1334) 2019-12-27 12:04:08 +01:00
Lonami Exo
bea4225d28 Don't reply to message on text button click (#1351)
Official clients don't do it, so we probably shouldn't either.
2019-12-27 10:56:26 +01:00
Lonami Exo
1bd02d64c5 Handle RuntimeError on helpers._cancel and improve logging 2019-12-27 10:46:01 +01:00
Lonami Exo
94ff5a8641 Handle ChannelForbidden on leaving ChatAction 2019-12-27 10:21:37 +01:00
Lonami Exo
29ff3708c4 Handle UpdateMessagePoll in _get_response_message (#1355) 2019-12-26 22:00:41 +01:00
Lonami Exo
c3188ff0fa Handle empty list properly in buttons 2019-12-23 14:49:40 +01:00
Lonami Exo
fa736f81af Handle all entity types on isinstance checks
Only the uses of `isinstance` against `InputPeer*` types were
reviewed. Notably, `utils` is exempt on this because it needs
to deal with everything on a case-by-case basis.

Since the addition of `*FromMessage` peers, any manual `isinstance`
checks to determine the type were prone to breaking or being
forgotten to be updated, so a common `helpers._entity_type()`
method was made to share this logic.

Since the conversion to `Peer` would be too expensive, a simpler
check against the name is made, which should be fast and cheap.
2019-12-23 13:52:07 +01:00
Lonami Exo
627e176f8e Handle *FromMessage peers in utils' casts 2019-12-23 13:47:55 +01:00
Lonami Exo
ecb27f33f7 Lower log severity on error during disconnect 2019-12-23 11:54:56 +01:00
Lonami Exo
f3111f93b2 Fix unparsing text with malformed message entities 2019-12-19 15:48:59 +01:00
Lonami
ccbc1c669c
Merge pull request #1343 from NotAFile/add-tests
Add example unit test and config for testing
2019-12-14 13:19:49 +01:00
Lonami Exo
7e6f12daa6 Fix ChatAction join/leave in channels, bump v1.10.9 2019-12-11 12:42:51 +01:00
NotAFile
9121478a2e fix first type found by tests :) 2019-12-08 00:30:25 +01:00
Lonami Exo
b8aa639f3c Check for event loop method, not type (#1337) 2019-12-06 10:23:15 +01:00
Lonami Exo
03f0533139 Fix global search with filter/from_user 2019-12-05 16:19:46 +01:00
Lonami Exo
99d4001db6 Warn users with ProactorEventLoop about proxy issues (#1337) 2019-12-05 11:27:47 +01:00
Lonami Exo
b985dcd248 Fix 3.8 syntax warning and erroneous documentation
Closes #1340 (syntax warning)
Closes #1341 (outdated docs)
2019-12-05 11:14:02 +01:00
Lonami Exo
cd37478e31 Don't send pings unless the connection is made
This will hopefully avoid batching tens of ping requests which
we don't care about their results.
2019-12-02 18:36:20 +01:00
Mengyang Li
149b26fb51 Allow force_document in edit_message (#1335) 2019-11-23 11:00:51 +01:00
Lonami Exo
3a56c8b0f4 Correctly handle flood_sleep_threshold=None and large values
The docstring said large values would be converted to 1 day,
but they were not. With this change None and large values are
handled correctly.

Prevents https://github.com/tulir/mautrix-telegram/issues/380.
2019-11-18 12:51:18 +01:00
Lonami Exo
6817e19923 Fix return value of send_file(album) of the same media 2019-11-10 14:59:01 +01:00
Lonami Exo
57dd0827f4 Slight improvement on ChatAction's docs 2019-11-10 14:59:01 +01:00
painor
38b929b973 Fix several typos (#1328) 2019-11-10 11:29:43 +01:00
painor
4a1310dc21 Fix RSA key unpacking on missing fingerprint (#1324) 2019-11-05 08:54:10 +01:00
painor
4839d8bf59 Fix pin_message not accepting Message objects (#1322) 2019-11-04 09:46:17 +01:00
penn5
3d1ce845be Don't parse Button's text on click (#1315) 2019-11-01 11:47:44 +01:00
Lonami Exo
a1aaa96120 Fix iter_download would not determine file_size alone 2019-10-31 19:38:49 +01:00
Lonami Exo
a67c94787b Make getting PhotoSize byte count more reusable internally 2019-10-31 19:38:27 +01:00