Commit Graph

359 Commits

Author SHA1 Message Date
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