Lonami Exo
4e5b8c9c34
Let sender = chat for messages from channels
2018-09-06 10:33:56 +02:00
Lonami Exo
ae085f30a8
Save update state upon disconnect
2018-09-04 11:58:55 +02:00
Lonami Exo
3c92f6a791
Fix sqlite's conn may be None if never used
...
This happened when signing up with the library
and getting migrate errors.
2018-09-04 11:28:01 +02:00
Lonami Exo
bbeb8f4ba3
Clarify and fix some docstrings
2018-09-04 11:27:10 +02:00
Wirtos
36df6d1bf9
Manually register ogg mimetype too ( #973 )
2018-08-28 21:17:10 +02:00
Lonami Exo
0e91fc3668
Manually register webp mimetype
...
Otherwise, sending stickers would fail on some systems.
2018-08-27 17:19:10 +02:00
Lonami Exo
8a9650f131
Fix-up previous commit 0bb0d0b
missing parameter
2018-08-27 10:58:06 +02:00
Lonami Exo
576ac666d9
Fix resolving events while disconnected
2018-08-27 01:20:01 +02:00
Lonami Exo
5ca1edb228
Return the correct entity from .get_entity(username)
...
The precedence of the or operator made the check succeed always
out of pure luck, since `''.lower()` would never be the chosen
username, but a present username is truthy.
This presumably worked because Telegram only returns one result
from the call, or puts the right entity the first one.
2018-08-26 12:00:17 +02:00
s3mple
29d122e810
Fix-up previous commit f17d7e9
( #967 )
2018-08-24 19:50:55 +02:00
s3mple
f17d7e9c5e
New exception class for multiple errors ( #965 )
2018-08-24 18:25:58 +02:00
Lonami Exo
52a4327769
Fix MemorySession file caching
2018-08-22 16:21:22 +02:00
Lonami Exo
8e62f797bb
Support custom encoding for StringSession
2018-08-22 16:12:27 +02:00
s3mple
aa9bc9080f
Support custom symbol set for aggressive get_participants
2018-08-21 17:15:35 +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
f0cd1fdd6e
Don't disconnect sender on cancellation ( #958 )
...
This was causing a "race condition" where the sender would
be disconnected after cancellation when another was created.
2018-08-20 14:59:17 +02:00
Lonami Exo
171e13daa9
Special case File responses without parent request ( #658 )
2018-08-20 11:42:51 +02:00
Lonami Exo
dda1f0b1dd
Stop copying reply when resending Message, fix file replies
2018-08-19 11:49:36 +02:00
Lonami Exo
f4b9c9d6d4
Remove critical code from assert statements
2018-08-14 19:14:13 +02:00
Lonami Exo
7efa53fedf
Update to v1.2
2018-08-14 18:48:56 +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
653686996a
Revisit catch_up ( #808 )
2018-08-13 12:32:12 +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
e3bf6e3330
Document reply markup limits
2018-08-07 12:46:05 +02:00
Lonami Exo
9195bccb41
Fix sending files from disk after 6d1bc22
( #941 and #943 )
2018-08-06 18:03:42 +02:00
Lonami Exo
44558cc592
Add utils.resolve_bot_file_id inverse
2018-08-06 17:54:07 +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
8ce001318e
Fix StringSession(None)
2018-08-05 19:45:56 +02:00
Lonami Exo
0011f19f8b
Create a StringSession
2018-08-05 16:24:34 +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
a688c8a4ce
Fix exception ignored warnings and invalid state #935
2018-08-04 15:06:11 +02:00
Nikolay Tretyak
d0c566bbdb
Fix iter_participants is failing when _total is None ( #936 )
2018-08-04 11:30:24 +02:00
Lonami Exo
2cf95ce2b9
Fix accessing buttons on messages with reply markup
2018-08-04 11:16:51 +02:00
Lonami Exo
c1d67f35c9
Fix creating unknown RPCError messages with known code failing
2018-08-04 00:43:53 +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
7cce7aa3e4
Return helpers.TotalList instances on client.get_ methods
2018-08-02 23:00:10 +02:00
Lonami Exo
070c971d11
Set media as None if it is MessageMediaEmpty
2018-08-02 20:18:28 +02:00
Lonami Exo
f4ea662fdd
Fix sign in not saving self user to session file
2018-08-02 19:40:48 +02:00
Lonami Exo
7a7923b317
Fallback to MemorySession if sqlite3 is not available
2018-08-02 15:17:44 +02:00
Lonami Exo
16f7626ceb
Fix custom.Button._is_inline failing for MessageButton
2018-08-02 14:53:26 +02:00
Lonami Exo
3612652f39
Use builtin base64.urlsafe_b64decode and fix docstring
2018-08-02 13:59:27 +02:00
Lonami Exo
2ca8ddbfb4
Use cache for invite links
2018-08-02 13:47:35 +02:00
Lonami Exo
328f737ef7
Support custom.MessageButton as buttons reply markup
2018-08-02 13:17:59 +02:00
Lonami Exo
10da14418c
Create utils.get_peer
2018-08-02 12:56:40 +02:00
Lonami Exo
80a5e709cb
Support .download_media with bot API file_id
2018-08-01 13:40:07 +02:00
Lonami Exo
e359b428c3
Merge branch 'inlineresult'
2018-08-01 01:06:59 +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
76c7217000
Support downloading web documents
2018-08-01 00:37:25 +02:00
Lonami Exo
7d880a856e
Implement InlineResult.download_media
2018-08-01 00:15:23 +02:00
Lonami Exo
6d1bc227aa
Support bot API file_id on send_file
2018-07-31 23:35:22 +02:00
Lonami Exo
972950fc2e
Create utils.resolve_bot_file_id
2018-07-31 23:35:07 +02:00
Lonami Exo
638eeb3c82
Fix attributes not being inferred for open()ed files
2018-07-31 12:14:13 +02:00
Lonami Exo
f0a26d7c76
Implement global search ( closes #920 )
2018-07-29 23:16:22 +02:00
Lonami
223b007a55
Fix get_message_id after custom message patch
2018-07-29 15:49:12 +02:00
Lonami Exo
96742334a4
Fix incoming = outgoing = True not working
2018-07-29 13:03:10 +02:00
Lonami Exo
682e650187
Create a basic InlineResult class
2018-07-29 12:56:11 +02:00
Lonami Exo
cc4c620261
Show more information for bare RPCError ( #919 )
2018-07-29 12:40:40 +02:00
Lonami Exo
f2c8663266
Fix copy pasted docs and snake_case files
2018-07-28 11:28:02 +02:00
Lonami Exo
26f121060d
Always support aggressive in iter_participants ( #904 )
2018-07-25 12:40:49 +02:00
Lonami Exo
7729a2a78f
More logging for bad messages ( #907 )
2018-07-25 12:33:12 +02:00
Lonami Exo
b3990546eb
Fix RPCError may occur for no parent message ( #908 )
2018-07-25 12:19:28 +02:00
Lonami Exo
7b4cd92066
Revert 030f292
(use libssl if available)
2018-07-25 12:11:58 +02:00
Lonami Exo
200a4e47b8
Clarify some strings
2018-07-25 02:21:44 +02:00
Lonami Exo
7b22c72c3e
Use UTC timezone for events.UserUpdate
2018-07-24 20:38:38 +02:00
Lonami Exo
6c51c35ccf
Fix _iter_ids not expecting InputChannel
2018-07-24 18:20:34 +02:00
Lonami Exo
7778b665db
Update to v1.1.1
2018-07-23 12:44:46 +02:00
Lonami Exo
d8fa0c81f6
Fix-up 52292d7
accessing types under the wrong module
2018-07-23 12:19:41 +02:00
Lonami Exo
056842d1a0
Fix trailing comma breaking Python 3.5.2 compat
2018-07-23 12:18:35 +02:00
Lonami Exo
52292d77fb
Use types. namespace in utils
2018-07-22 19:40:00 +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
1c0d595205
Replace custom.Message creation with ._finish_init
2018-07-22 19:20:55 +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
e4963237dc
Fix-up a332d29
should not be exported on invalid DC
2018-07-22 01:08:03 +02:00
Lonami Exo
a332d29c4c
Fix-up 5a9a00e
to handle exporting senders to the same DC
2018-07-22 00:40:39 +02:00
Lonami Exo
46b2d910d7
Fix logging of functools.partial() callbacks
2018-07-21 17:52:42 +02:00
Lonami Exo
3d7bff64c2
Update to v1.1
2018-07-21 15:29:09 +02:00
Lonami Exo
3bdfd4b32c
Make build_reply_markup public
2018-07-21 13:55:26 +02:00
Lonami Exo
7750c9ff2f
Make sure to not add callbacks from buttons= twice
2018-07-21 13:24:32 +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
a9cc35e604
Avoid triggering FileMigrateError when possible
2018-07-21 11:59:44 +02:00
Lonami Exo
5a9a00e7ae
Assume exported auths last forever
...
This implies that export senders will NOT be deleted from
memory once all borrows are returned, thus their auth_key
remains as well. When borrowing them if they existed they
will be connect()ed if it's the first borrow.
This probably fixes #901 .
2018-07-21 11:24:20 +02:00
Lonami Exo
13437cc3f2
Fix infinite recursion for custom.Message.message
2018-07-21 10:19:17 +02:00
Lonami Exo
aa67f107af
Temporarily use blocking SSL sockets on connect
2018-07-19 20:56:45 +02:00
Lonami Exo
4027ac6a6f
Wrap socket with SSL after connecting
...
See https://github.com/Anorov/PySocks/issues/29
2018-07-19 20:38:53 +02:00
Lonami Exo
7f78d7ed2f
Use classmethod for all Event.build
2018-07-19 01:47:32 +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
22c8fd7378
Fix Updates object being dispatched to user handlers
2018-07-12 09:45:29 +02:00
Lonami Exo
38c65adf35
Set timezone info when reading datetimes
2018-07-12 00:30:57 +02:00
Lonami Exo
8b4c8d30e7
Fix events.MessageDeleted setting readonly properties
2018-07-11 11:34:20 +02:00
Lonami Exo
4f5c6f1006
Merge branch 'event-reusing'
2018-07-11 11:31:46 +02:00
Lonami Exo
e2ffa816dc
Fix infinite recursion
2018-07-11 11:23:11 +02:00
Lonami Exo
1d0fd6801d
Build events only once per update
2018-07-11 11:22:43 +02:00
Lonami Exo
81f31e09c8
Keep track of how many events for each type were added
2018-07-11 10:50:19 +02:00
Lonami Exo
e902304360
Expose silent parameter when sending messages
2018-07-11 10:16:21 +02:00
Lonami Exo
a3d6baf408
Actually add callbacks registered through Button
2018-07-10 19:50:18 +02:00
Lonami Exo
f6c45dcc63
Support filtering events.CallbackQuery
2018-07-10 17:59:13 +02:00
Lonami Exo
ea07cf8d12
Add buttons parameter to client.edit_message
2018-07-10 17:59:13 +02:00
Lonami Exo
05e8e60291
Create events.CallbackQuery
2018-07-10 17:59:13 +02:00
Lonami Exo
8eecd9c226
Reuse code to get chat and sender
2018-07-10 17:59:13 +02:00
Lonami Exo
531a02a2a1
Support buttons when sending a file too
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
a50d013ee6
Support interactively signing in as a bot
2018-07-10 17:59:13 +02:00
Lonami
ac5f8da50c
Fix update.pts may be None
2018-07-10 16:59:40 +02:00
josephbiko
e6981e7676
Remove empty except ( #887 )
2018-07-09 20:54:43 +02:00
Lonami Exo
4328663c78
Support timedelta as datetimes
2018-07-09 13:36:52 +02:00
Lonami Exo
1437b69829
Update to v1.0.4
2018-07-09 12:32:47 +02:00
Lonami Exo
1b22d0eb12
Add missing await
2018-07-08 23:44:56 +02:00
Lonami Exo
7b6e65a7a5
Re-export ConnectionHttp from the network package
2018-07-08 17:48:38 +02:00
Lonami
128053750d
Implement HTTP(S) mode ( closes #112 ) ( #883 )
2018-07-08 17:45:49 +02:00
Lonami Exo
e0513e10df
Remove debug print
2018-07-08 15:24:33 +02:00
Lonami Exo
3a9cce8720
Add missing async/await to events' documentation
2018-07-08 15:11:10 +02:00
Lonami Exo
d02cb84abe
Fix end of sync with block warning on disconnect
2018-07-08 00:05:09 +02:00
Lonami Exo
54bffb30d8
Fix send_message('me', Message)
2018-07-08 00:05:09 +02:00
Lonami Exo
cb3846cb7f
Add client.get_peer_id
2018-07-07 12:45:50 +02:00
Lonami Exo
3b3b148a43
Revert add_mark parameter on utils.get_peer_id
...
And a fix for -1000 IDs that wasn't being accounted for.
2018-07-07 12:44:21 +02:00
Lonami Exo
bb4ed4019f
Revert forward_messages requiring named from_peer arg
2018-07-07 12:14:50 +02:00
Lonami Exo
bd878acbde
Support InputNotifyPeer autocast
2018-07-07 12:14:03 +02:00
Lonami Exo
dfda61a1b5
Correct thumb parameter documentation
2018-07-07 12:01:42 +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
Lonami Exo
33ce702ab9
Pre-pack outgoing TLMessage
...
This has several benefits:
- The message can be resent without re-calling bytes(),
which for some requests may be expensive.
- Converting requests to bytes early lets us detect
errors early, such as OverflowError on bad requests.
- Containers can't exceed 1044456 bytes so knowing their
length is important. This can now be done in O(1).
But also several drawbacks:
- If the object is modified the bytes won't reflect this.
This isn't an issue because it's only done for in msgs.
- Incoming messages can no longer be reconverted into
bytes but this was never needed anyway.
2018-07-07 11:46:21 +02:00
Lonami Exo
b237947af1
Update to v1.0.3
2018-07-04 15:41:11 +02:00
Lonami Exo
44630542d0
Fix MessageAction not allowing access to media
...
This caused some issues with events.MessageEdited because
some MessageAction can trigger these edit updates such as
scoring in a game.
2018-07-03 14:13:44 +02:00
Lonami Exo
43afdb9d77
Fix-up 53fbfb2
for InputPeerChat or others
2018-07-03 14:05:42 +02:00
Lonami Exo
53fbfb215f
Fix Telegram may omit entities' access hash in updates
2018-07-02 18:43:42 +02:00
Lonami Exo
53c660d0dc
Don't remove reader if fd == -1
2018-06-30 13:26:28 +02:00
Harry
dfcf414111
Fix hachoir don't close files by itself ( #875 )
2018-06-29 16:45:18 +02:00
Lonami Exo
baedd10110
Update to layer 82
2018-06-29 13:23:56 +02:00