Lonami Exo
f31ca142a3
Support autocast to InputMessage
2018-04-23 11:05:38 +02:00
Lonami Exo
6ecef42ec7
Add search/filter/from_user parameters to iter_messages
2018-04-22 16:30:14 +02:00
Lonami Exo
544651caa7
Retry on RpcCallFailError
2018-04-22 16:30:00 +02:00
Lonami Exo
5dc43276bb
Add missing caption when sending Message with media
2018-04-20 09:44:33 +02:00
Lonami Exo
1c2e9d2f27
Fix reply_to didn't override Message's reply on sending them
2018-04-20 09:36:34 +02:00
Lonami Exo
b0dda777fe
Support omitting the entity on client.edit_message
2018-04-18 10:27:44 +02:00
Yifei Kong
03bebfb600
Fix tiny docstring typo ( #771 )
2018-04-17 13:01:23 +02:00
Lonami Exo
6893359f9d
Fix tiny error in a docstring for #764
2018-04-15 16:21:15 +02:00
Lonami Exo
f9b9fa6e70
Update to v0.18.3
2018-04-15 15:41:11 +02:00
Lonami
ffdfa8f262
Merge pull request #766 from LonamiWebs/tidygenerator
...
Tidy up the telethon-generator package
2018-04-15 13:21:26 +02:00
Lonami Exo
3b7c4fe278
Further TLObject generator clean-up
...
Split everything into several functions, reused some more
common code (like accessing the "real" arguments instead
constantly filtering) and more, like using classmethods
instead staticmethods and then hardcoding the class name.
2018-04-14 20:28:25 +02:00
Jon Besga
0017ce30e6
Set client._authorized after log_out() ( #765 )
2018-04-14 19:15:33 +02:00
Lonami Exo
200d3c0360
Clean-up unused methods and reuse more common utils
2018-04-14 17:22:39 +02:00
Lonami Exo
ace715e059
Don't log broken packets as individual bytes
2018-04-14 15:02:27 +02:00
Lonami Exo
75d37a3870
Handle web pages on .download_media
2018-04-14 13:07:50 +02:00
Lonami Exo
88597f0da8
Don't get full channel on iter_participants unless necessary
2018-04-14 12:08:50 +02:00
Lonami Exo
4da7df6349
Several documentation fixes and additions
2018-04-14 12:03:08 +02:00
Lonami Exo
a13863a4fb
Re-export events.Raw (removed on b7c3f80
)
2018-04-13 17:36:23 +02:00
Lonami Exo
1316e07dca
Add missing InputPeerSelf case to .get_entity()
2018-04-13 13:24:37 +02:00
Lonami Exo
17a2946311
Fix get_input_peer allow_self for custom.Dialog
2018-04-13 13:08:29 +02:00
vegeta1k95
3bf259d6b3
Make TLObjects picklable ( #752 )
2018-04-12 18:02:46 +02:00
vegeta1k95
bd1b0ecdb4
Make RPCError class picklable ( #751 )
2018-04-08 16:48:55 +02:00
Lonami Exo
414fec91f1
Stop using input version on events to just get the ID
2018-04-08 15:55:10 +02:00
Lonami Exo
93b5909be5
Add chat_id-like convenience properties to the events
2018-04-08 14:24:01 +02:00
Jeff
259bb6ace1
Several documentation fixes/additions ( #750 )
2018-04-08 14:15:26 +02:00
Lonami Exo
8e01946957
Fix .start() failing on some terminals
2018-04-08 11:47:18 +02:00
Lonami Exo
5fd6155168
Fix remove_event_handler's loop
2018-04-08 11:22:59 +02:00
Lonami Exo
e69c186782
Support more filter types for convenience ( #745 )
2018-04-07 12:31:30 +02:00
Lonami Exo
3b2d065d35
Simplify .get_input_entity code flow (since 591e34b
)
2018-04-06 19:21:02 +02:00
Lonami Exo
0cd44b245c
Allow auto-casting custom.Dialog into input_entity
2018-04-06 19:11:31 +02:00
Lonami Exo
baa6976a0b
Fix broken links, add more examples and a new section
2018-04-06 19:00:21 +02:00
Lonami Exo
b7c3f80679
Split events into separate files
2018-04-05 20:14:22 +02:00
Lonami Exo
f9f49a893b
Return a single message from client.forward on non-list inputs
2018-04-04 20:58:58 +02:00
Lonami Exo
591e34b491
Change TypeError with ValueError, don't call .get_dialogs()
...
This closes #735 and #736 since now it can be properly handled
from user code, and behave more correctly depending on the situation.
Also the errors provide more information on how to get around it.
2018-04-04 13:35:51 +02:00
Lonami Exo
07a8a73e3e
Support callable parse_mode's
...
This allows to more easily plug in custom parse methods.
2018-04-03 14:23:05 +02:00
Lonami Exo
eabaa3854a
Replace offset with match.start() to allow custom regex
2018-04-03 13:47:40 +02:00
Tanuj
a1448f3da8
Clearer variable names in get_input_entity ( #738 )
2018-04-03 13:05:01 +02:00
Lonami Exo
7bc021bba4
Update to layer 75 (again)
2018-03-30 20:28:07 +02:00
Lonami Exo
500792975e
Handle AUTH_KEY_DUPLICATED on connection
2018-03-30 12:18:18 +02:00
Lonami Exo
2b9babb30f
Handle GzipPacked lost requests & possibly fix reading normal
...
Reading normal "lost" requests didn't .seek(-4) to read the TLObject
again. Now it has been slightly refactored to seek back always and
only seek forward when needed (e.g. rpc error).
2018-03-30 11:50:41 +02:00
Lonami Exo
dede5520dd
Rename .entities -> ._entities from 7e9d19d
to avoid collision
2018-03-29 00:56:05 +02:00
Lonami Exo
395e702586
Make py:obj default Sphinx's role
2018-03-28 16:03:47 +02:00
Lonami Exo
dcb7820c5f
Add a new events.MessageRead
2018-03-28 15:52:55 +02:00
Lonami Exo
1fdf976c04
Update to v0.18.2
2018-03-27 18:02:55 +02:00
Kyle2142
6c9becb1ed
Add edit_2fa function ( #725 )
2018-03-27 17:35:33 +02:00
Lonami Exo
302a823c88
Fix invalid access to .participants on chat forbidden result
2018-03-27 17:15:22 +02:00
Lonami Exo
7b94530bfc
Move me/self check on get_input_entity to the beginning
...
It would otherwise fail since the addition of getting entity
by exact name if someone had 'me' or 'self' as their name.
2018-03-27 11:29:47 +02:00
Lonami Exo
8d652c35a1
Add missing Photo/Document cases to get_input_media
2018-03-27 11:22:31 +02:00
Lonami Exo
ae2abd2ba9
Add __str__/.stringify() to tl.custom for completeness
2018-03-27 11:08:40 +02:00
Lonami Exo
1c9dc8dc63
Fix getting ID on custom Dialog class from dce0fd9
2018-03-24 18:44:13 +01:00
Lonami Exo
790b0d2d23
Guess entity type on positive IDs in events and avoid some RPCs
...
Now specifying a single positive integer ID will add all the types
to the white/blacklist so it can be "guessed". Explicit peers will
always be only that type, and an RPC is avoided (since it was not
needed to begin with).
2018-03-24 18:34:07 +01:00
Lonami Exo
13e59983af
Slightly change docs for events ( #668 )
2018-03-24 12:42:19 +01:00
Lonami Exo
898e550335
Except the right type for get_input_peer ( closes #722 )
2018-03-24 12:09:33 +01:00
Lonami Exo
43c6896481
Add a custom role for TL references and make use of it
2018-03-23 21:42:17 +01:00
Lonami Exo
c6d821910e
Mention that codes can expire immediately
2018-03-22 19:20:35 +01:00
Lonami Exo
021cb21686
Replace custom Box class with a single-item list for args by ref
2018-03-22 19:13:42 +01:00
Lonami Exo
33e908de42
Fix markdown regex not supporting [] inside URLs
2018-03-22 19:02:08 +01:00
Lonami Exo
dce0fd9e03
Add missing documentation for telethon.tl.custom and crosslinks
2018-03-22 19:02:08 +01:00
Jeff
95f368201e
Fix ChatAction not handling all pin events ( #715 )
2018-03-21 10:01:14 +01:00
Lonami Exo
f2407409b3
Fix send_file(force_document=True) for albums ( closes #713 )
2018-03-21 09:46:57 +01:00
Lonami Exo
3550974b71
Fix documentation for events
...
Changing the .__name__ of a class will make it not show in the
generated documentation, so instead we need to use a different
variable.
2018-03-21 09:17:56 +01:00
Lonami Exo
89ae0cb164
Make readthedocs build run without warnings
2018-03-21 08:55:13 +01:00
Lonami Exo
987cf41ec6
Higher timeout and log them as warning if any data was received
...
This might be the cause for "number of retries reached 0" so
more specific logging calls might be useful. If while reading
a response it times out but some data had already been read,
said data will be lost.
The sequence of events that triggered reaching 0 retries was:
- Sending requests with IDs XYZ
- socket.timeout while reading
- Items timed out. Retrying
- Processing RPC result
- Received response for XYZ
- Lost request with ID XYZ
2018-03-18 20:08:00 +01:00
Alex Root Junior
986ddbe600
Fix forwarding messages to channels ( #705 )
2018-03-18 17:23:10 +01:00
Lonami Exo
d379b26339
Fix assignement to wrong variable on ChatAction
2018-03-18 10:24:48 +01:00
Lonami Exo
7825994393
Update to v0.18.1
2018-03-17 17:38:46 +01:00
Lonami Exo
32fd64d655
Remove SQLAlchemy session
2018-03-17 17:38:16 +01:00
Lonami Exo
dc07d65075
Add remove_event_handler and list_event_handlers
2018-03-17 17:08:11 +01:00
Lonami Exo
36b09a9459
.download_file's file is not optional
2018-03-16 09:57:37 +01:00
Lonami Exo
d6c051fd52
Add __str__ and .stringify() to events
2018-03-16 09:54:16 +01:00
Lonami Exo
b20aa0ccc9
Stopping workers should not clear their count (may fix #686 )
2018-03-15 10:30:05 +01:00
Lonami Exo
1e3120b0b6
Bring back report_errors to the constructor
2018-03-15 10:22:21 +01:00
Lonami Exo
3b42bc9991
Slice albums larger than 10 items and allow mixing docs
2018-03-15 10:17:45 +01:00
Lonami Exo
d7ef0f5e09
Stop sending gifs as images
...
This is often not the case, most gifs are animated and when
sent as images inside albums they lose the animation.
2018-03-15 10:13:57 +01:00
Lonami Exo
45b7318f08
Fix Telegram only recognises 3 image filetypes
2018-03-15 09:52:45 +01:00
Lonami Exo
48869f0f4e
Fix MessageEdited ignoring NewMessage constructor arguments
...
These include outgoing/incoming and pattern which are now handled.
2018-03-14 21:09:51 +01:00
Lonami Exo
d5bc3c1a6c
Fix misleading documentation regarding report_errors
2018-03-14 21:05:50 +01:00
Lonami Exo
1ff5826c26
Call .get_dialogs only once on entity not found
2018-03-14 21:01:00 +01:00
Lonami Exo
8ae12fbb70
Return the entire entity from the helper events._get_entity too
2018-03-14 10:32:59 +01:00
Lonami Exo
7e9d19d727
Add known entities to all updates and use them in the events
...
This should reduce the amount of API calls made when getting the
full sender/chat on events (mostly on channels, where Telegram
seems to always send Updates instead only a normal Update).
2018-03-14 10:28:21 +01:00
Lonami Exo
fd309f0407
Add filter parameter to iter_participants and fix search for chats
2018-03-13 13:15:02 +01:00
Lonami Exo
a134336536
Fix ResolveUsernameRequest may return ChannelForbidden
2018-03-13 12:44:24 +01:00
Lonami Exo
751461f0f5
Modify iter_participants to also include .participant info
2018-03-12 10:33:51 +01:00
Lonami Exo
657c771fa0
Fix incorrect participant count on some channels
2018-03-12 09:52:16 +01:00
Lonami Exo
8b1cc4c8cb
Better handle pinned dialogs and limit on .get_dialogs()
2018-03-11 09:55:31 +01:00
Lonami Exo
a596f88497
Fix wrong super() args for events.MessageDeleted ( fix #675 )
2018-03-11 09:48:48 +01:00
Lonami Exo
055aa7fe43
Fix MessageService not handled on .delete_messages ( closes #681 )
2018-03-11 09:43:55 +01:00
Lonami Exo
70ef93a62e
Stop treating image/webp as images as Telegram throws error
2018-03-11 09:38:52 +01:00
Lonami Exo
e088fc3a4e
Add extra safety checks when getting peer ID
2018-03-10 12:13:17 +01:00
Lonami Exo
2fb42772c6
Add .video_note and .gif convenience properties to NewMessage
2018-03-08 20:21:56 +01:00
Lonami Exo
cf650e061e
Avoid editing events.NewMessage that are forwards
2018-03-08 20:18:10 +01:00
Lonami Exo
9d46bb35c8
Rename and reorder some params in Draft for consistency ( #673 )
2018-03-08 13:05:40 +01:00
Lonami Exo
8cefb22e14
Add .text and .raw_text properties to the Draft class ( #673 )
2018-03-08 12:56:20 +01:00
Lonami Exo
6e6d40be18
Implement Draft.send() ( closes #673 )
2018-03-08 12:37:06 +01:00
Lonami Exo
3d49f740df
Use the new client.iter_dialogs() in client.get_input_entity()
2018-03-08 11:48:59 +01:00
Lonami Exo
5673866553
Create client.iter_ versions for all client.get_ methods
...
While doing so, the client.iter_drafts method has been simplified
as it made some unnecessary calls.
client.get_message_history has been shortened to client.get_messages,
and fixes a bug where the limit being zero made it return a tuple.
client.iter_messages also uses a local dictionary for entities so
it should become less big in memory (and possibly faster).
client.get_participants would fail with user entities, returning
only their input version.
2018-03-08 11:44:13 +01:00
Lonami Exo
09f0f86f1e
Add convenience NewMessage attrs to get media of specific types
2018-03-08 10:30:49 +01:00
Lonami Exo
841aed13da
Fix tuple/ternary operator fail on SQLAlchemy session ( #671 )
2018-03-08 10:16:46 +01:00
Lonami Exo
3a3ae75b46
Fix-up bot API style IDs not working on .get_input_entity
2018-03-08 10:12:43 +01:00
Lonami Exo
0f34a9b333
Fix .get_input_entity error message always showing None
2018-03-08 10:08:26 +01:00