Commit Graph
903 Commits
Author SHA1 Message Date
Lonami Exo b546c02210 Return a custom class for sized InputFile instead extra attrs 2018-01-18 20:09:59 +01:00
Lonami Exo 0e4611a593 Properly implement InputPhoto/InputDocument caching
Since uploading a file is done on the TelegramClient, and the
InputFiles are only valid for a short period of time, it only
makes sense to cache the sent media instead (which should not
expire). The problem is the MD5 is only needed when uploading
the file.

The solution is to allow this method to check for the wanted
cache, and if available, return an instance of that, so to
preserve the flexibility of both options (always InputFile,
or the cached InputPhoto/InputDocument) instead reuploading.
2018-01-18 19:36:47 +01:00
Lonami Exo 7e707dbbd9 Fix using enum on sqlite instead its value 2018-01-18 19:35:46 +01:00
Lonami Exo 1a3feec481 Move upload/download file methods to the TelegramClient 2018-01-18 13:55:03 +01:00
Lonami Exo 55efb2b104 Use a different schema for file cache which actually persists
Caching the inputFile values would not persist accross several
days so the cache was nearly unnecessary. Saving the id/hash of
the actual inputMedia sent is a much better/persistent idea.
2018-01-18 09:52:39 +01:00
Lonami Exo 428abebed8 Fix sending albums failing on invalid cache 2018-01-17 13:29:08 +01:00
Lonami Exo bfe9378054 Fix .send_file failing with strings (as they are iterable) 2018-01-17 13:28:56 +01:00
Lonami Exo fde0d60f72 Update old interactive example (#546) 2018-01-16 18:36:50 +01:00
Lonami Exo 49f204c955 Fix .get_input_media using None caption and missing venue type 2018-01-16 14:04:12 +01:00
Lonami Exo 2ccb6063e0 Call gen_tl() when installing through setup.py (#530) 2018-01-15 18:46:04 +01:00
Lonami Exo 36e2101910 Allow sending multiple files as album (closes #455) 2018-01-15 18:15:30 +01:00
Lonami Exo 494c90af69 Fix uploaded files cache may have expired 2018-01-15 12:36:46 +01:00
Lonami Exo 00859d52c3 Ask for the phone on start only if required 2018-01-15 09:48:37 +01:00
Lonami Exo 8be7e76b74 Use the idling state instead checking if read thread is present
This caused some multithreading bugs, for instance, when there was
no read thread and the main thread was idling, and there were some
update workers. Several threads would try to read from the socket
at the same time (since there's no lock for reading), causing
reads to be corrupted and receiving "invalid packet lengths"
from the network. Closes #538.
2018-01-14 21:20:22 +01:00
Lonami Exo 87a77e79cb Note the errors package on the RPC errors section 2018-01-14 10:53:29 +01:00
Lonami Exo c5e969d585 Add more useful logging on invalid packet length received 2018-01-13 19:26:45 +01:00
Lonami Exo 0d429f55c5 Fix asking for phone on .start() 2018-01-13 12:00:53 +01:00
Lonami Exo 77301378f8 Make .start() more friendly by asking phone if not given
Ping #530
2018-01-13 11:55:12 +01:00
Lonami ef3ea11e38 Remove pesky minus character hiding example 2018-01-12 18:21:02 +01:00
Noah Overcash 6cb8f2e3da Update pip references with pip3 (#527) 2018-01-12 10:08:40 +01:00
Lonami Exo 1fd20ace2c Update to v0.16.1 v0.16.1 2018-01-11 22:18:58 +01:00
Lonami Exo 77ef659cbf Clearer error when invoking without calling .connect() (#532) 2018-01-11 15:42:27 +01:00
Lonami Exo 4f441219b1 Fix not all docs using new start method 2018-01-11 12:45:59 +01:00
Joscha Götzer 80f81fe69a Added .start() convenience method to quickly connect/authorize (#528) 2018-01-11 12:43:46 +01:00
Lonami Exo eaef392a9b Add and except missing FLOOD_TEST_PHONE_WAIT_X error 2018-01-10 17:34:34 +01:00
Lonami Exo 8038971753 Add clear_mentions parameter to .send_read_acknowledge() 2018-01-10 12:50:49 +01:00
Lonami Exo 045f7f5643 Assert hash is not None when migrating from JSON sessions 2018-01-10 10:46:43 +01:00
Lonami Exo 146a91f837 Add a brief description for newcomers 2018-01-09 18:04:51 +01:00
Lonami Exo 01820c9943 Associate phone code hash with phone (so phone can change) 2018-01-08 14:18:36 +01:00
Lonami Exo c12af5e412 Remove references to the wiki 2018-01-08 14:04:04 +01:00
Nikola Vlahović 0c3216cb36 Fix channel check issue on send_read_acknowledge (#526) 2018-01-08 12:46:47 +01:00
Lonami Exo 46b088d44c Also handle ECONNREFUSED on .connect() (report on #392) 2018-01-08 12:26:32 +01:00
Lonami Exo 3c686fecdf Avoid more cyclic imports on the session file 2018-01-08 12:14:03 +01:00
Lonami Exo f4182376f1 Move utils.calc_msg_key into auth_key (cyclic imports py3.4) 2018-01-08 12:07:14 +01:00
Lonami Exo 59a1a6aef2 Stop working with bytes on the markdown parser 2018-01-07 16:19:41 +01:00
Lonami Exo 34fe150096 Save only one auth_key on the database again 2018-01-07 00:38:30 +01:00
Lonami Exo d81dd055e6 Remove temporary connections and use a lock again
These seem to be the reason for missing some updates (#237)
2018-01-06 23:45:22 +01:00
Lonami Exo 7745b8e7ee Use without rowid only if supported (closes #523) 2018-01-06 19:35:24 +01:00
Lonami Exo f357d00911 Assert user/channel ID is non-zero too for #392 2018-01-06 15:54:27 +01:00
Lonami Exo f2fbdc6416 Fix a few more issue styles with RTD (mostly lists/nested md) 2018-01-06 13:37:46 +01:00
Lonami Exo 6f690945f1 Add a few security checks when unpacking messages from server
Also delete MtProto 1.0 leftovers.
2018-01-06 02:03:23 +01:00
Lonami Exo 3eafe18d0b Implement MtProto 2.0 (closes #484, thanks @delivrance!)
Huge shoutout to @delivrance's pyrogram, specially this commit:
pyrogram/pyrogram/commit/42f9a2d6994baaf9ecad590d1ff4d175a8c56454
2018-01-06 01:55:11 +01:00
Lonami Exo c039ba3e16 Be consistent with the titles in the changelog 2018-01-05 23:48:21 +01:00
Lonami Exo 60594920bd Add changelog from GitHub releases to RTD 2018-01-05 23:19:58 +01:00
Lonami Exo 4871a6fb96 Accept 'me' and 'self' usernames to get self user entity 2018-01-05 19:51:44 +01:00
Lonami Exo ec4ca5dbfc More consistent with asyncio branch (style/small fixes)
Like passing an extra (invalid) dt parameter when serializing
a datetime, and handling more errors in the TcpClient class.
2018-01-05 18:31:48 +01:00
Lonami Exo c4e26c95f5 Always cache files smaller than 10MB, now in the database
This removes the need for a .clear_cache() method as now files
are identified by their MD5 (which needs to be calculated
always) and their file size (to make collisions even more
unlikely) instead using the file path (which can now change).
2018-01-05 15:33:25 +01:00
Lonami Exo a489b4b18b Clean up some more twirks on RTD and update docstrings 2018-01-05 13:30:21 +01:00
Lonami Exo 9635a57683 Update README to point to RTD instead GitHub's wiki 2018-01-05 01:03:57 +01:00
Lonami Exo cb45e8fca9 Clean up and complete RTD documentation 2018-01-05 00:59:53 +01:00