binares
2b277dd558
Fix (de)serialization of negative timestamps ( #1241 )
2019-08-01 18:47:38 +02:00
Lonami Exo
2ace4fde41
Fix Forward had its client set to None ( #1247 )
2019-07-31 11:04:08 +02:00
Lonami Exo
5a225d1668
Fix a dialog's message could be wrong in rare cases
2019-07-23 12:44:19 +02:00
Lonami Exo
4bf85d9e8e
Add new Button.auth ( #1235 )
2019-07-17 12:25:29 +02:00
Lonami Exo
ec093f90e7
Fix InputKeyboardButtonUrlAuth was not considered inline
2019-07-16 18:47:28 +02:00
Lonami Exo
8e36bb4c4d
Link Python keywords with Python's documentation
2019-07-06 12:11:00 +02:00
Lonami Exo
e8327da189
Fix some methods in Message were not checking for client
2019-06-30 16:34:34 +02:00
Lonami Exo
84c4fcdec6
Fix entities weren't being passed to Draft
2019-06-28 20:34:30 +02:00
Lonami Exo
4f1edeb750
Let File.ext work even with unknown mime types
2019-06-26 11:31:15 +02:00
Lonami Exo
80c9c5dad3
Avoid memory cycle in Forward
2019-06-26 11:16:17 +02:00
Lonami Exo
3c68208c41
Update to layer 102
2019-06-23 21:23:40 +02:00
Lonami Exo
83789aaa42
Return None from ChatGetter when there isn't enough info
2019-06-19 11:46:03 +02:00
Lonami Exo
8d28d1145a
Actually fix invalid state in Conversation ( 1354bf6
followup)
2019-06-15 21:36:06 +02:00
Lonami Exo
5877459907
Create Message.mark_read()
2019-06-15 19:41:31 +02:00
Lonami Exo
065719c8d8
conversation.cancel() now raises cancelled on future calls ( #1183 )
2019-06-03 19:44:43 +02:00
Lonami Exo
4c3e467d25
Add a method to cancel_all conversations ( #1183 )
2019-06-03 19:41:22 +02:00
Lonami Exo
690a40be77
Better behaviour for conversation.cancel() ( #1183 )
2019-06-03 19:29:08 +02:00
Lonami Exo
e47f3ec1d6
Clarify some aspects of the documentation
2019-06-01 16:28:20 +02:00
Lonami Exo
5832ab2f31
Create new client.pin_message method
2019-05-30 17:15:50 +02:00
Lonami Exo
0d64fd98f7
Create new client.delete_dialog method
2019-05-30 13:58:05 +02:00
Lonami Exo
e4158acd08
Update to layer 100
2019-05-30 13:23:47 +02:00
Lonami Exo
1354bf68a8
Factor out clearing items from pending in conversations
...
This should prevent bugs and ease reasoning, since
now everything is removed from a single place.
2019-05-27 14:23:42 +02:00
Lonami Exo
0b41454b01
Fix conversation setting result on cancelled futures
...
On timeout, they are cancelled. On a new message
arriving, we pop and set the result unconditionally.
conv.send_message('Talk to me please')
conv.get_response()
try: conv.get_response(timeout=0.1)
except asyncio.TimeoutError: pass
conv.send_message('One more time...')
conv.get_response() # errors unless above is commented
2019-05-27 14:10:38 +02:00
Lonami Exo
465f38c1c6
Fix message.text behaviour with no parse mode
2019-05-20 12:00:52 +02:00
Lonami Exo
383ab9b0b2
Fix message.text not checking if parse_mode was set
2019-05-20 11:57:11 +02:00
Lonami Exo
9730894a07
Call Chat/Sender Getter init methods
2019-05-12 14:00:12 +02:00
Lonami Exo
313caf440e
Add friendly methods for archiving dialogs
2019-05-10 18:12:16 +02:00
Lonami Exo
0a3d6106f0
Completely overhaul the documentation
2019-05-09 12:50:09 +02:00
Lonami Exo
10251f9782
Create a new Message.file property ( #1168 )
2019-05-08 18:41:40 +02:00
Lonami Exo
c6691dc6a8
Update the reference with even more types and other docs
2019-05-07 21:25:55 +02:00
Lonami Exo
f5e611e4d2
Fix SenderGetter was excepting the wrong type
2019-05-04 19:30:33 +02:00
Lonami Exo
adc9b4c9f1
Fix SenderGetter should not define abstract methods
...
Or at least it shouldn't if subclasses are likely to not
implement them, which causes an error if left un-implemented.
2019-05-04 17:59:21 +02:00
Lonami Exo
1e17ef1c98
Apply several lints
2019-05-03 21:38:41 +02:00
Lonami Exo
cb56c54351
Use the entity cache in sender getter
2019-05-02 18:51:10 +02:00
Lonami Exo
1a00de6494
Add missing checks in the message for is client None
2019-05-02 18:44:28 +02:00
Lonami Exo
3a1496c205
Reuse code for _get_entity_pair
...
Less error-prone, improved the function flow for all callers,
and removed some duplicate work.
2019-05-01 17:52:32 +02:00
Lonami Exo
6d004601d0
Inline the old _load_entities code
2019-05-01 17:07:12 +02:00
Lonami Exo
9a400748f7
Fix InlineBuilder only working with local files
2019-05-01 16:02:21 +02:00
Lonami Exo
1ead9757d3
Fix Conversation not allowing getting responses after ID 0
2019-04-29 08:54:10 +02:00
Lonami Exo
599a5ac3ff
Fix using events.Raw after 1b6b4a5
2019-04-29 08:54:10 +02:00
Lonami Exo
1b6b4a57d9
Attempt at reducing CPU usage after c902428
...
This attempt removes the forced `await` call, which could
be causing that extra usage. Some more boilerplate is needed.
2019-04-23 20:17:43 +02:00
Lonami Exo
8868ce14e8
Update to layer 98
2019-04-22 16:51:05 +02:00
Lonami Exo
9090ede5db
Reduce __enter__/__exit__ boilerplate for sync ctx managers
2019-04-13 10:53:33 +02:00
Lonami Exo
29b21209bf
Force fetch sender/chat if only min information was given
2019-04-05 21:28:31 +04:00
Lonami Exo
a59f53d592
Load entities for new via_bot property and forward
2019-03-28 11:07:41 +01:00
Lonami Exo
39d9531483
Implement _load_entities for all events
...
Follow-up of c902428af1
This means that now input_chat (and even chat_id) and
similar can be safely used, without needing get_input
2019-03-28 10:47:15 +01:00
Lonami Exo
8abc7ade22
Use the new in-memory entity cache
...
This should avoid a disk access every time an input entity
is needed, which is very often. Another step for #1141 .
2019-03-26 11:39:25 +01:00
Lonami Exo
7c48857d0c
Update docs for send_file/timeouts and add new known error
2019-03-18 17:34:48 +01:00
Lonami Exo
916b379c03
Work around message edits arriving too early in conversations
2019-03-11 13:03:10 +01:00
Lonami Exo
628a16f287
Document new errors and limits for inline results
2019-02-14 19:45:25 +01:00
Lonami Exo
99ad26bfa4
Lower the maximum amount of requests per container
2019-02-13 10:16:59 +01:00
Lonami Exo
e23308c0f9
Fix accessing conversation messages that arrived too early
2019-02-10 11:46:39 +01:00
Lonami Exo
10cd61d2f9
Add missing timezone info in important places
...
Things like SQLAlchemy work correctly only for timezone-aware datetimes.
The returned TLObjects all have them, but those that are manually created
were missing them, so serializing the state into SQLAlchemy sessions failed.
2019-01-24 11:16:40 +01:00
Lonami Exo
bb5c1f24c6
Update to layer 93
2019-01-21 20:09:13 +01:00
Lonami Exo
5ac88f764d
Fix and update links in the documentation
2019-01-12 13:06:14 +01:00
Lonami Exo
fbf7f75b00
Fix send_message with buttons not always returning ReplyMarkup
2019-01-12 12:53:21 +01:00
Lonami Exo
d31aaa5d0d
Make Message.edit respect preview and buttons
2019-01-12 12:45:37 +01:00
Tulir Asokan
f271316d7d
Make logger fully configurable ( #1087 )
2019-01-11 15:52:30 +01:00
Manuel1510
eda4178333
Add hide_via to InlineResult.click ( #1084 )
2019-01-10 23:42:58 +01:00
Lonami Exo
f99b4874c8
Support passing media objects to inline results ( #1053 )
2019-01-04 11:15:11 +01:00
Lonami Exo
4b9b77614f
Support answering inline queries with empty text ( #1053 )
2019-01-04 11:13:13 +01:00
Lonami Exo
c51a17bf9a
Actually make AdminLogEvent work
...
Ideally this would have been tested before release one commit ago.
2019-01-03 22:25:50 +01:00
Lonami Exo
eda8d0dbc8
Support configuring the reply markup through buttons
2019-01-03 19:03:47 +01:00
Lonami Exo
2631144702
Add more properties to the client to make media more convenient
2019-01-03 18:34:29 +01:00
Lonami Exo
4ccabaf422
Add friendly method to get admin log ( #952 )
2019-01-03 13:09:59 +01:00
Lonami Exo
4ad9c9bf31
Add TLObject.to_json() for convenience
2018-12-27 20:15:35 +01:00
Lonami Exo
b66c1e6084
Revert "Get rid of now broken cache"
...
This reverts commit f73ae42a03
.
2018-12-25 16:50:11 +01:00
Lonami Exo
f73ae42a03
Get rid of now broken cache
2018-12-25 11:44:10 +01:00
Lonami Exo
de74711e82
Implement click for KeyboardButtonGame
2018-12-24 17:56:30 +01:00
Lonami Exo
7100b75598
Update to layer 89
...
This breaks edit_2fa
2018-12-18 16:37:07 +01:00
Lonami Exo
09f994c105
Except TypeError on empty access hash from 5018879
thoroughly
2018-12-18 08:39:36 +01:00
Lonami Exo
4d8f078ad9
Fix _document_by_attribute calls using cond
2018-12-03 08:49:24 +01:00
Lonami Exo
ed1bcb509f
Use InputMessageReplyTo in get_reply_message
...
This lets bots access to messages other bots sent through replies.
2018-11-29 14:21:49 +01:00
Lonami Exo
4a8a85d7a6
Refetch ChatAction service message to get input users
2018-11-28 18:59:49 +01:00
Lonami Exo
207d5ebdcb
Avoid packing more than 1024 messages in a single container
2018-11-19 08:29:44 +01:00
Lonami Exo
924b59d735
Actually fix cancelling custom conversations from f6bc80b
2018-11-12 08:21:18 +01:00
Lonami Exo
f6bc80bc6b
Fix cancellation of custom conversation events from d474458
2018-11-08 10:08:41 +01:00
Lonami Exo
0fc97a3e8c
Update to v1.4
2018-11-03 12:46:19 +01:00
Kyle2142
eacfa226fd
Add Conversation.cancel() ( #1030 )
2018-10-25 15:37:36 +02:00
Lonami Exo
e5fc9d8674
Fix several broken links in the docs
2018-10-17 11:50:11 +02:00
Lonami Exo
419fe6dca3
Raise RuntimeError on with blocks that need async
2018-10-17 11:30:07 +02:00
Lonami Exo
b219da6b87
Fix Dialog.is_group for types.ChatForbidden
2018-10-15 18:43:53 +02:00
Lonami Exo
0094eb391e
Support exclusive conversations by default
2018-10-12 22:17:07 +02:00
Lonami Exo
74f7ae525f
Document InlineBuilder
2018-10-12 12:38:46 +02:00
Lonami Exo
9ee415749d
Fix InlineBuilder.photo/document and clearer errors
2018-10-12 11:50:36 +02:00
Lonami Exo
32c884d543
Revert d392939
and use empty tuple as a sentinel value
2018-10-08 11:33:56 +02:00
Lonami Exo
8c14259728
Update documentation with new sections
2018-10-06 20:20:11 +02:00
Lonami Exo
67be6418b6
Remove callback parameter from custom.Button
...
Its behaviour was strange. Removing and adding an event
handler every time a message is sent is not a good idea
and it would just do more harm than good.
2018-10-05 20:54:50 +02:00
Lonami Exo
d392939018
Create a default module to use as a sentinel value
...
This looks better in the documentation than utils.Default,
cleans the utils with specific stuff like this, and users
may use it more easily.
2018-10-05 14:20:50 +02:00
Lonami Exo
dedbf29ca4
Fix Conversation.wait_event not resolving them (from d474458
)
2018-10-05 13:42:07 +02:00
Lonami Exo
ef60ade647
Rewrite container packing to support arbitrary sizes
2018-10-05 13:26:44 +02:00
Lonami Exo
1b9d6aac06
Gzip only content related data
2018-10-05 13:26:44 +02:00
Lonami Exo
9402b4a26d
Create a new layer to lift encryption off the MTProtoSender
2018-10-05 13:26:44 +02:00
nailerNAS
c2966297f1
Add delete method to custom.Dialog ( #1014 )
2018-09-28 15:47:24 +02:00
Lonami Exo
4e07712b04
Return new .web_preview's .photo/.document if present in Message
2018-09-15 10:45:15 +02:00
Lonami Exo
11ef4ce370
Fix _document_by_attribute failing on empty media
2018-09-06 15:41:04 +02:00
Lonami Exo
4e5b8c9c34
Let sender = chat for messages from channels
2018-09-06 10:33:56 +02:00
Lonami Exo
bbeb8f4ba3
Clarify and fix some docstrings
2018-09-04 11:27:10 +02:00
Lonami Exo
fbc46bd388
Use loop.create_future instead asyncio.Future
2018-08-21 12:22:06 +02:00
Lonami Exo
d3a6822fc9
Properly resolve events
2018-08-21 12:18:12 +02:00
Lonami Exo
47190d7d55
Fix event loop not being passed into many asyncio calls
2018-08-21 11:31:14 +02:00
Lonami Exo
d474458136
Simplify event resolving logic
...
Although this commit introduces a race condition since an
event may only be half-resolved. A lock is thus needed,
but it depends on an event-loop to which we don't have
access in the class-level.
2018-08-21 11:08:08 +02:00
Lonami Exo
9f237cc928
Simplify event building logic
...
This will also fix some bugs where the event type being accessed
would not be available, since it is now built on-demand, without
the need to keep track for the count of each event type.
2018-08-21 10:27:12 +02:00
Lonami Exo
f4b9c9d6d4
Remove critical code from assert statements
2018-08-14 19:14:13 +02:00
Lonami Exo
06da651f27
Fix edits in custom.Conversation
2018-08-14 18:42:16 +02:00
Lonami Exo
216805d62d
Fix telethon.sync for custom.Conversation
2018-08-14 18:41:13 +02:00
Lonami Exo
d3efc8f57d
Better logging for packing errors
...
https://github.com/expectocode/telegram-export/issues/76
2018-08-08 12:04:20 +02:00
Lonami Exo
f332e4c423
Clearer variable naming
2018-08-06 16:31:15 +02:00
Lonami Exo
f39f9a94b5
Remove unnecessary async/await
2018-08-06 16:30:25 +02:00
Lonami Exo
d3a9dcd36c
Replace wait code with asyncio.wait_for and pass the client's loop
2018-08-06 16:22:11 +02:00
Lonami Exo
63174ae404
Properly clean-up Conversation
2018-08-05 13:15:19 +02:00
Lonami Exo
26bcc78d14
Fix Conversation.get_response
2018-08-05 12:28:54 +02:00
Lonami Exo
cc067b2569
Add Conversation to the sync magic module
2018-08-05 11:05:01 +02:00
Lonami Exo
48113851a8
Fix built Conversation events don't have the client
2018-08-05 02:01:06 +02:00
Lonami Exo
ca40a9c282
Add Conversation.wait_event
2018-08-05 01:55:41 +02:00
Lonami Exo
1ecb751222
Add Conversation.send_file and .mark_read
2018-08-04 23:21:19 +02:00
Lonami Exo
396b1a4177
Improve getting edits in a Conversation
2018-08-04 15:35:51 +02:00
Lonami Exo
5f73482d29
Restart Conversation total timeout upon __aenter__
2018-08-04 15:35:04 +02:00
Lonami Exo
2cf95ce2b9
Fix accessing buttons on messages with reply markup
2018-08-04 11:16:51 +02:00
Lonami Exo
785ef7676f
Create a basic custom.Conversation
2018-08-03 17:51:56 +02:00
Lonami Exo
60c61181d9
Return custom.InlineResults instead of a simple list
2018-08-02 23:31:51 +02:00
Lonami Exo
070c971d11
Set media as None if it is MessageMediaEmpty
2018-08-02 20:18:28 +02:00
Lonami Exo
16f7626ceb
Fix custom.Button._is_inline failing for MessageButton
2018-08-02 14:53:26 +02:00
Lonami Exo
7a2d7d98ad
Implement client.inline_query()
2018-08-01 01:06:47 +02:00
Lonami Exo
49a6cb4ef8
Fix InlineResult.click()
2018-08-01 01:06:08 +02:00
Lonami Exo
7d880a856e
Implement InlineResult.download_media
2018-08-01 00:15:23 +02:00
Lonami Exo
682e650187
Create a basic InlineResult class
2018-07-29 12:56:11 +02:00
Lonami Exo
f2c8663266
Fix copy pasted docs and snake_case files
2018-07-28 11:28:02 +02:00
Lonami Exo
056842d1a0
Fix trailing comma breaking Python 3.5.2 compat
2018-07-23 12:18:35 +02:00
Lonami Exo
ace7254344
Fix classes MRO and abstractmethod usage
...
Furthermore utils needs to access the message by reference
through types.Message because it is patched and replaced.
2018-07-22 19:26:34 +02:00
Lonami Exo
fd17098447
Rename MessageBase for Message
2018-07-22 17:22:52 +02:00
Lonami Exo
c4e94abcf0
Complete moving properties to the new message base
2018-07-22 16:49:42 +02:00
Lonami Exo
a3ac6d1645
Create a common message base class
2018-07-22 13:26:12 +02:00
Lonami Exo
5df46f9ed8
(Try to) fix infinite recursion in custom.Message again
2018-07-22 12:27:08 +02:00
Lonami Exo
bc03c29216
Fix logical bugs when getting input peers in custom.Message
...
Such as incorrectly handling InputPeerSelf/InputPeerChat and
using self._input_sender when self._input_chat was expected.
2018-07-22 11:33:29 +02:00
Lonami Exo
3bdfd4b32c
Make build_reply_markup public
2018-07-21 13:55:26 +02:00
Lonami Exo
24758b82ec
Don't make a request at all if it will trigger flood wait
2018-07-21 12:25:20 +02:00
Lonami Exo
13437cc3f2
Fix infinite recursion for custom.Message.message
2018-07-21 10:19:17 +02:00
Lonami Exo
2d7c8908eb
Create events.InlineQuery
2018-07-15 11:31:24 +02:00
Lonami Exo
5017a9d1da
Fix typos and add the URL_INVALID error
2018-07-14 10:43:24 +02:00
Lonami Exo
dc3d281274
Load update state date with explicit timezone ( #808 )
2018-07-14 00:01:45 +02:00
Lonami Exo
051d56af88
Support clicking buttons known their data
2018-07-12 16:26:22 +02:00
Lonami Exo
38c65adf35
Set timezone info when reading datetimes
2018-07-12 00:30:57 +02:00
Lonami Exo
e2ffa816dc
Fix infinite recursion
2018-07-11 11:23:11 +02:00
Lonami Exo
a3d6baf408
Actually add callbacks registered through Button
2018-07-10 19:50:18 +02:00
Lonami Exo
8eecd9c226
Reuse code to get chat and sender
2018-07-10 17:59:13 +02:00
Lonami Exo
8c28be04bc
Create a custom.Button class and support send_message(buttons=...)
2018-07-10 17:59:13 +02:00
Lonami Exo
4328663c78
Support timedelta as datetimes
2018-07-09 13:36:52 +02:00
Lonami Exo
1b22d0eb12
Add missing await
2018-07-08 23:44:56 +02:00
Lonami Exo
393e1966c7
Avoid exceeding maximum container size
...
This issue would likely be triggered when automatically
merging multiple requests into a single one while having
their size exceed 1044456 bytes like SaveFilePartRequest.
This commit avoids such issue by keeping track of the
current size, and if it exceeds the limit, avoid merge.
2018-07-07 11:58:48 +02:00