Lonami Exo
5018879f84
Raise TypeError in get_input_peer if access_hash is None
...
When auto-casting to input peers if the access hash is now None,
the ID will be used to look-up a cached access hash which will
solve some common pitfalls (using full entities when only the
input variant should and could be used).
2018-12-15 12:23:14 +01:00
Lonami Exo
7ee7b43547
Be explicit that phone numbers only work if in your contacts
2018-12-15 12:04:36 +01:00
Sister Midnight
f3013c6817
Fix ConnectionHttp SSL socket wrap ( #1064 )
2018-12-10 14:43:48 +01:00
Lonami Exo
c48d41d99d
Expect ConnectionError in the send loop
2018-12-06 16:27:09 +01:00
Lonami Exo
f9fc433c0f
Better catch_up behaviour when invalid states are present
2018-12-06 16:07:11 +01:00
Lonami Exo
40730e7862
Fix aaee092
to correct entities' offsets on stripping
2018-12-06 12:33:15 +01:00
Lonami Exo
424079aa12
Fix pts initialized as -1 not being considered
2018-12-04 21:07:18 +01:00
Lonami Exo
0b89d9d3f9
Update to v1.4.3
2018-12-04 14:09:17 +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
9a6f4d35f2
Fix crash on get_messages(ids=InputMessageReplyTo)
2018-11-29 14:19:56 +01:00
Lonami Exo
10b9b4b969
Handle TimeoutError on automatic reconnect
2018-11-29 13:11:34 +01:00
Lonami Exo
4a8a85d7a6
Refetch ChatAction service message to get input users
2018-11-28 18:59:49 +01:00
Lonami Exo
16dd47f5ec
Update to v1.4.2
2018-11-24 20:53:28 +01:00
Lonami Exo
d2e995ef95
Change code to recv and handle disconnections
2018-11-24 20:53:28 +01:00
Lonami Exo
09b16f96fc
Better behaviour for send_read_acknowledge
2018-11-24 20:53:28 +01:00
painor
7e168cb4fb
Remove invalid mentions from message entities ( #1049 )
2018-11-24 19:39:05 +01:00
udf
5b2cfffedc
make utils.get_peer_id raise with message about InputPeerSelf
2018-11-23 16:39:31 +01:00
udf
9362f03fd5
fix utils.get_peer not raising in some cases
2018-11-23 16:39:31 +01:00
Lonami Exo
d214c78bd0
Add missing @property decorator
2018-11-19 12:06:18 +01:00
Lonami Exo
aaee092a46
Locally strip outgoing message text respecting entities
2018-11-19 10:15:56 +01:00
Lonami Exo
d854babf22
Make HTML parser yield the correct offset and lengths
2018-11-19 09:20:13 +01:00
Lonami Exo
d6ec883cd9
Ignore iter_messages from_user unless it's a User
2018-11-19 08:55:49 +01:00
Lonami Exo
8ed3ddba31
Clarify iter_participants filter parameter in the docs
2018-11-19 08:38:31 +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
0f7c2b891a
Fix get entity by exact name since 2ca8ddb
2018-11-15 17:23:47 +01:00
Lonami Exo
924b59d735
Actually fix cancelling custom conversations from f6bc80b
2018-11-12 08:21:18 +01:00
Lonami Exo
dfab8f5e20
Avoid caching event loop in telethon.sync
...
This would cause issues when creating and setting a different
event loop from a different thread since it would use the old
loop and not the new one, solved by explicitly getting the
loop every time, although this has a slight performance hit.
2018-11-10 11:34:26 +01:00
Lonami Exo
f046d1f0a3
Fix deadlock on unexpected disconnections
2018-11-10 11:23:19 +01:00
Lonami Exo
f6bc80bc6b
Fix cancellation of custom conversation events from d474458
2018-11-08 10:08:41 +01:00
Lonami Exo
cdbd1f6193
Fix valid auth_key never being saved after switching DC
2018-11-03 18:53:26 +01:00
Lonami Exo
0fc97a3e8c
Update to v1.4
2018-11-03 12:46:19 +01:00
Lonami Exo
8e6b98669a
Get rid of full_sync
2018-11-03 12:46:19 +01:00
K900
20a8081e8e
Fix file cache when using MemorySession ( #1033 )
2018-11-01 10:29:23 +01:00
Lonami Exo
67c5572d7b
Possibly fix possible deadlock
2018-10-28 11:53:28 +01:00
painor
45999001be
Added retry_delay parameter for auto-reconnection ( #1031 )
2018-10-28 10:55:58 +01:00
Lonami Exo
24970a875a
Fix raising PasswordHashInvalid missing request arg too
2018-10-27 09:40:30 +02:00
Lonami Exo
2863eb8cc9
Fix raising local FloodWait missing request argument
2018-10-27 09:39:00 +02:00
Lonami Exo
b0e587c03d
Except expected ConnectionError in the receive loop
2018-10-26 10:36:33 +02:00
Lonami Exo
091180b32d
Except CancelledError in MTProtoSender send/recv loop
...
This way, the tasks should not end with the cancelled exception
which should get rid of the warning if any.
2018-10-25 15:54:25 +02:00
Kyle2142
eacfa226fd
Add Conversation.cancel() ( #1030 )
2018-10-25 15:37:36 +02:00
Lonami Exo
2c61c50671
Save session on connect and fix some typos
...
The session is saved upon connecting with the hope to make
sure that the authorization key gets saved to disk before
the next run.
2018-10-24 16:39:59 +02:00
Lonami Exo
4562ba9ccf
Fix auth_key not actually being saved
...
This would make the user have to login every time.
2018-10-22 20:58:07 +02:00
Lonami Exo
7dece209a0
Cancel tasks on reconnect instead of awaiting them
...
This prevents us from locking forever on any task that doesn't
rely on cancellation tokens, in this case, Connection.recv()'s
_recv_queue.get() would never complete after the server closed
the connection.
Additionally, working with cancellation tokens in asyncio is
somewhat annoying to do.
Last but not least removing the Connection._disconnected future
avoids the need to use its state (if an exception was set it
should be retrieved) to prevent asyncio from complaining, which
it was before.
2018-10-21 16:20:05 +02:00
Lonami Exo
f2e77f4030
Fix using the wrong logger in Connection
2018-10-21 16:10:09 +02:00
Lonami Exo
740a715acd
Handle empty code when starting
2018-10-21 16:05:31 +02:00
Lonami Exo
0755421fc2
Fix update loop should not disconnect causing race condition
...
When starting the client, on phone migrations, it would
disconnect twice right after connecting which would
trigger a not-connected error.
2018-10-21 16:02:13 +02:00
Lonami Exo
396ec908dd
Fix _borrow_exported_sender connection
2018-10-20 17:11:40 +02:00
Lonami Exo
39929db2b8
Patch __enter__/__exit__ specially in full_sync
2018-10-19 18:04:53 +02:00
Lonami Exo
a2bae8374e
Fix .get_entity('me') not working from c31635c
( #1024 )
2018-10-19 16:57:46 +02:00
Lonami Exo
0686ec4440
Implement after_msg_id back
2018-10-19 16:53:50 +02:00
Lonami Exo
9dc4009152
Handle the right errors
2018-10-19 14:41:50 +02:00
Lonami Exo
b93b01cb02
Fix manual BadMessageError instantiation
2018-10-19 14:02:20 +02:00
Lonami Exo
6b280dc3bd
Clarify MTProtoSender._disconnected
2018-10-19 14:01:03 +02:00
Lonami Exo
945b34b103
Set MTProtoSender.auth_key on its creation
2018-10-19 13:56:11 +02:00
Lonami Exo
8563b9560d
Fix auth_key not being set
2018-10-19 13:35:29 +02:00
Lonami Exo
939854a0dd
Fix-up e2fe3eb
(packer was OK, encryption was not made)
2018-10-19 13:33:24 +02:00
Lonami Exo
f5bc952309
Don't set the disconnected flag twice
2018-10-19 13:25:00 +02:00
Lonami Exo
e2fe3eb503
Use new broken MessagePacker
2018-10-19 13:24:52 +02:00
Lonami Exo
83f60deef9
Allow updating AuthKey.key
...
This will preserve references to the AuthKey more cleanly.
2018-10-19 12:40:36 +02:00
Lonami Exo
6d30a38316
Let Connection._disconnected be a proper Future
...
This means that awaiting on disconnect will properly raise errors,
allowing to differentiate clean disconnects from faulty ones.
2018-10-19 10:46:34 +02:00
Lonami Exo
542d0f539b
Revisit connection and properly detail the class' intent
2018-10-19 10:35:22 +02:00
Lonami Exo
e5fc9d8674
Fix several broken links in the docs
2018-10-17 11:50:11 +02:00
Lonami Exo
a9a2401e44
Fix CallbackQuery using string regex
2018-10-17 11:44:08 +02:00
Lonami Exo
419fe6dca3
Raise RuntimeError on with blocks that need async
2018-10-17 11:30:07 +02:00
Lonami Exo
9cbc088b76
Make disconnect synchronous
...
This also fixes a bug when auto-reconnecting in MTProtoSender.
2018-10-16 11:56:17 +02:00
Lonami Exo
b219da6b87
Fix Dialog.is_group for types.ChatForbidden
2018-10-15 18:43:53 +02:00
Lonami Exo
34cefed9ff
Except BotMethodInvalidError on getContacts
2018-10-15 18:42:35 +02:00
Lonami Exo
99129daeee
Show the request that caused RPC errors in their messages
2018-10-15 18:35:51 +02:00
Lonami Exo
0094eb391e
Support exclusive conversations by default
2018-10-12 22:17:07 +02:00
Lonami Exo
cf6686ff42
Revert async sessions from 3dd8b7c
(breaks sync properties)
...
Such as ChatGetter.input_chat and SenderGetter.input_sender
which rely on the fact that access to the session file will
be synchronous.
2018-10-12 22:00:02 +02:00
Lonami Exo
e677a6bb05
Fix is_user_authorized after log_out
2018-10-12 19:57:16 +02:00
Lonami Exo
6e77f583f1
Detect arbitrary negative HTTP error codes
2018-10-12 19:47:40 +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
27345d5749
Work around importing sync and using full_sync
2018-10-08 11:13:24 +02:00
Lonami Exo
2d94a104d1
Syncify events too
2018-10-06 21:08:38 +02:00
Lonami Exo
ded24db3dd
Fix proxy support by removing conflicting arguments
2018-10-06 20:56:09 +02:00
Lonami Exo
8c14259728
Update documentation with new sections
2018-10-06 20:20:11 +02:00
Lonami Exo
fb9660afe0
Add missing awaits
2018-10-06 12:39:07 +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
josephbiko
3dd8b7c6d1
Support async def in sessions ( #1013 )
2018-10-05 20:25:49 +02:00
Tulir Asokan
653f3c043d
Add full_sync module ( #1016 )
2018-10-05 19:59:56 +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
0fcc2e5e52
Add autocast for InputDocument and InputChatPhoto
2018-10-05 14:11:47 +02:00
Lonami Exo
aa3f26263c
Fix timeout not accepting timedelta
2018-10-05 14:06:15 +02:00
Lonami Exo
dedbf29ca4
Fix Conversation.wait_event not resolving them (from d474458
)
2018-10-05 13:42:07 +02:00
Lonami Exo
dc77136453
Don't expect responses from ack, log send errors, remove TODOs
2018-10-05 13:26:44 +02:00
Lonami Exo
ef60ade647
Rewrite container packing to support arbitrary sizes
2018-10-05 13:26:44 +02:00
Lonami Exo
7e7bbcf4c0
Remove irrelevant TODOs and add more logging
2018-10-05 13:26:44 +02:00
Lonami Exo
a5d4e97922
Fix alternative connection modes
2018-10-05 13:26:44 +02:00
Lonami Exo
ebde3be820
Add support for proxy again
2018-10-05 13:26:44 +02:00
Lonami Exo
db83709c6b
Support connection timeout
2018-10-05 13:26:44 +02:00
Lonami Exo
0cc8bca098
Delete TcpClient
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
37b9922f64
Handle cancellation on the receive loop
2018-10-05 13:26:44 +02:00
Lonami Exo
e319fa3aa9
Handle IncompleteReadError and InvalidChecksumError
2018-10-05 13:26:44 +02:00
Lonami Exo
3fd7c33127
Fix automatic reconnect (e.g. on bad auth key)
...
This took more time than it should have to debug.
2018-10-05 13:26:44 +02:00
Lonami Exo
bc1fd9039d
Handle receiving errors
2018-10-05 13:26:44 +02:00
Lonami Exo
cf7e5d5592
Set auth_key on connection
2018-10-05 13:26:44 +02:00
Lonami Exo
21ffa2f26b
Fix DC migration and seqno
2018-10-05 13:26:44 +02:00
Lonami Exo
ac567ebf1d
Handle bad salt/msg not resending containers
2018-10-05 13:26:44 +02:00
Lonami Exo
3b1142aaca
Add back auth key generation process
2018-10-05 13:26:44 +02:00
Lonami Exo
5edc2216c7
Handle initial connection if network is down correctly
2018-10-05 13:26:44 +02:00
Lonami Exo
2d275989cb
Properly handle cancellation in _ReadyQueue
2018-10-05 13:26:44 +02:00
Lonami Exo
105bd52eee
Abstract the send queue off MTProtoSender
2018-10-05 13:26:44 +02:00
Lonami Exo
b02ebcb69b
Stop waiting for send items on disconnection
2018-10-05 13:26:44 +02:00
Lonami Exo
470fb9f5df
Make use of the MTProtoLayer in MTProtoSender
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
Lonami Exo
5daad2aaab
Actually use the new connection class
2018-10-05 13:26:44 +02:00
Lonami Exo
daf94e416b
Fix connection never receiving and missing clone method
2018-10-05 13:26:44 +02:00
Lonami Exo
2fd51b8582
Let all connection modes implement the new Connection
2018-10-05 13:26:44 +02:00
Lonami Exo
096424ea78
Create a new Connection class to work through queues
2018-10-05 13:26:44 +02:00
painor
340f5614b5
Add name mention formatting to HTML and Markdown ( #1019 )
2018-10-04 15:56:32 +02:00
Manuel1510
2468b32fc5
Implement next_offset and allow empty results in answer() ( #1017 )
2018-10-04 09:12:12 +02:00
nailerNAS
c2966297f1
Add delete method to custom.Dialog ( #1014 )
2018-09-28 15:47:24 +02:00
Lonami Exo
785071a5cd
Update to v1.3
2018-09-22 19:37:16 +02:00
Lonami Exo
ec0aa65fe1
An user -> a user
2018-09-22 19:18:42 +02:00
Lonami Exo
d5d3733fd4
Create events.register and siblings for "handler templates"
...
This can be thought of as a different approach to Flask's blueprints.
2018-09-22 12:51:58 +02:00
Lonami Exo
cb6f980277
Better autocast to InputPeerDialog and documentation
2018-09-22 10:56:37 +02:00
Lonami Exo
92c9bb12b7
Use asyncio.open_connection in the TcpClient
...
(cherry picked from commit 573fed1f512831cd9790130cc878655fef2fde98)
2018-09-19 19:03:36 +02:00
Lonami Exo
9275a9fcbb
Fix several typos and misleading docs ( #987 , #990 )
2018-09-19 17:51:18 +02:00
Lonami Exo
5e13a6f7a8
Fix-up get_message failing for UpdateInlineBotCallbackQuery
2018-09-19 16:42:22 +02:00
Lonami Exo
ac59cfa25b
Return chat from inline queries that "don't have it"
2018-09-19 16:40:35 +02:00
udf
3ef2416138
Add method to resolve inline message IDs ( #1005 )
2018-09-19 14:22:35 +02:00
Lonami Exo
db8bea3968
Fix getting messages by ID for private chats
2018-09-16 15:45:38 +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
080585da49
Support coroutine callbacks in start()
2018-09-09 16:17:20 +02:00
Lonami Exo
2f09e5c335
Support custom-callback filter for all events
2018-09-09 15:48:54 +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
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
Lonami Exo
dd0eb7a90e
Explicitly open files as 'r' instead of leaving it out
2018-06-29 11:34:57 +02:00
Lonami Exo
d64eb7ea2b
Avoid cyclic imports on older Python versions
2018-06-29 11:04:42 +02:00
Lonami Exo
3c2ff45b0b
Support dispatching updates in a sequential order
2018-06-29 10:45:04 +02:00
Lonami Exo
0f737a86af
Revert sign_in needing named code argument
2018-06-29 09:57:57 +02:00
Lonami Exo
dbca38c6f5
Allow iterating over messages in reverse
2018-06-28 21:15:29 +02:00
Lonami Exo
ac6dbb8a5c
Fix is_connected accessing unexisting property
2018-06-28 16:04:12 +02:00
Lonami Exo
0f5f6cc050
Fix opposite condition
2018-06-28 15:50:26 +02:00
Lonami Exo
cedf90eb57
Update to v1.0.2
2018-06-28 15:37:30 +02:00
Lonami Exo
ac2b10f2a5
Stop using loop's time() function
2018-06-28 15:12:18 +02:00
Lonami Exo
491302bb32
Fix parallel downloads when using exported senders
2018-06-28 14:10:36 +02:00
Lonami Exo
fb40e7b508
Update mtprotoplainsender.py asserts
2018-06-28 09:48:03 +02:00
Lonami Exo
3154575ab6
Update to v1.0.1
2018-06-27 19:55:37 +02:00
Lonami Exo
a6782ac6ea
Send getState upon successful reconnection
2018-06-27 19:40:32 +02:00
Lonami Exo
c0412e4410
Fix run_until_disconnected disconnect with telethon.sync
2018-06-27 19:39:47 +02:00
Lonami Exo
ad01bda503
Fix custom.Message.buttons being None in channels ( #870 )
...
The implications behind this were bigger than expected. The sender
of the message is not actually needed for anything in the bot. The
bot itself may be needed, but only for KeyboardButtonSwitchInline.
2018-06-27 19:25:14 +02:00
Lonami Exo
18f06f1a25
Fix bad notification due to wrong system clock never ending
2018-06-27 19:04:33 +02:00
Inokenty
f014c040a3
Keyword arg instead positional for sign_in ( #869 )
2018-06-27 17:23:46 +02:00
Lonami Exo
a46a45d060
Don't disconnect on del if already disconnected/loop closed
2018-06-27 13:57:17 +02:00
Lonami Exo
72835dfb44
Update to v1.0
2018-06-27 13:41:20 +02:00
Lonami Exo
4be248932d
Fix non-ending awaits due to requests not being resent on reconnect
2018-06-27 10:26:26 +02:00
Lonami Exo
58aadce5ba
Fix-up 2b090f8
not actually resaving new auth_keys
2018-06-27 10:15:59 +02:00
Lonami Exo
e604960a1d
Include TAKEOUT_INIT_DELAY_X in the available errors
2018-06-27 09:46:14 +02:00
Lonami Exo
75865cbaa8
Syncify async generators too
2018-06-27 09:34:35 +02:00
Lonami Exo
8c5bbdf7eb
Check from_user client-side for PMs in iter_messages
2018-06-26 16:48:03 +02:00
Lonami Exo
09ea8ffe0b
Fix send_file completely ignoring input parameters
2018-06-26 16:39:43 +02:00
Lonami Exo
2bd0c6c525
Support URLs on send_file
2018-06-26 16:39:22 +02:00
Lonami Exo
2b090f8888
Fix connect not saving different authkeys
2018-06-26 16:20:30 +02:00
Lonami Exo
9159e2a720
Remove report_errors/flood_sleep_threshold from the session
2018-06-26 16:09:16 +02:00
chrizrobert
1eb4af33df
Fix get_entities_text with cls ( #866 )
2018-06-26 15:58:55 +02:00
Lonami Exo
dbb81173fa
Add an assistant bot example
2018-06-26 15:48:56 +02:00
Lonami Exo
6152e33454
Fix sync run_until_disconnected not liking Ctrl+C
2018-06-26 15:48:38 +02:00
Lonami Exo
f6bfcad49e
Don't close session file on _switch_dc disconnect
2018-06-26 13:37:34 +02:00
Lonami Exo
3556d5ed79
Fix-up 9971145
still accessing unexisting properties
2018-06-26 13:15:25 +02:00
Lonami Exo
96e8b0b840
Remove get_fwd_sender
2018-06-26 12:38:58 +02:00
Lonami Exo
9971145721
Assert properties exist on disconnect
2018-06-26 12:03:31 +02:00
Lonami Exo
19900a373a
More useful messages from authenticator.py
2018-06-26 11:32:09 +02:00
Lonami Exo
32786d16fd
Support using the client in with blocks
2018-06-26 11:26:01 +02:00
Lonami Exo
d4b508bf48
Fix __del__ with sync magic
2018-06-26 11:23:51 +02:00
Lonami Exo
75dc4809f5
Remove all deprecated methods
2018-06-26 11:10:11 +02:00
Lonami Exo
a43c6c2b68
Work around Python 3.5.2 bug causing 100% CPU load on script's end
2018-06-26 11:10:11 +02:00
Lonami Exo
f295ea668a
Make sync.syncify a public function for user types
2018-06-26 11:10:11 +02:00
Lonami Exo
044e6e8a85
Await updates task to finish upon disconnect
2018-06-26 11:10:11 +02:00
Lonami Exo
fc834f60fb
Fix custom.Dialog passing the wrong instance to custom.Draft
2018-06-25 21:24:46 +02:00
Lonami Exo
d65f8ecc0d
Document the magic sync module
2018-06-25 21:14:58 +02:00
Lonami Exo
551b0044ce
Reuse more code using sqlite's cursor
2018-06-25 20:11:48 +02:00
Lonami Exo
313bead615
Close sqlite's cursor after usage
2018-06-25 19:49:33 +02:00
Lonami Exo
4da50ba3a0
Add a syncify magic module to use asyncio as sync
2018-06-25 14:24:56 +02:00
Lonami Exo
9c6d2894fc
Allow start when the loop is not running
2018-06-25 13:42:29 +02:00
Lonami Exo
db5cb74bdd
Allow run_until_disconnected when the loop is running
2018-06-25 13:32:31 +02:00
Lonami Exo
c1046c2acc
Fix "user joined" being "user added itself"
2018-06-25 13:21:23 +02:00
Lonami Exo
59f6b75391
Stop showing "data left after" warning
2018-06-25 12:54:33 +02:00
Lonami Exo
410518aa65
Stop using await with properties
2018-06-25 11:38:56 +02:00
Lonami Exo
0d09f9d8c1
Create a custom.Forward class
2018-06-25 11:34:10 +02:00
Lonami Exo
efc9f4c414
Get rid of all remaining async properties
2018-06-25 11:03:20 +02:00
Lonami Exo
ae47fd37b0
Update to v1.0-rc1
2018-06-24 15:51:24 +02:00
Lonami Exo
266d44dd86
Fix EventsCommon still having async properties
2018-06-24 13:05:58 +02:00
Lonami Exo
d4479a0a4e
Save the session file less often
2018-06-24 12:21:58 +02:00
Lonami Exo
184424957d
Create a separate method to start reconnections
2018-06-24 10:44:31 +02:00
Lonami Exo
0d0e78e10b
Use the right chat peer in private messages
2018-06-23 15:10:07 +02:00
Lonami Exo
51da48ddd2
Support custom parse_mode to use MessageEntityMentionName
2018-06-22 16:18:23 +02:00
Lonami Exo
3d3698562b
Cleanly handle KeyboardInterrupt in run_until_disconnected
2018-06-22 13:26:24 +02:00
Lonami Exo
1a1d9d346c
Fix most private messages being outgoing since 56ddaae
...
56ddaae
checked to_id and from_id to compare if they were equal,
and if they were, mark the event as outgoing for convenience in
your private chat (saved messages).
However when reconstructing the Message from UpdateShortMessage
to_id didn't mimic 100% Telegram's behaviour (the chat to which
the message is sent is "different" depending on who sent the
messages). This bug is what actually caused most messages to
be outgoing, even though 56ddaae's logic is correct.
2018-06-22 10:25:20 +02:00
Lonami Exo
8d98c04932
Fix awaits on input_chat property
2018-06-22 10:05:29 +02:00
Lonami Exo
f733f8e565
Rewrite the first part of the docs for asyncio
2018-06-21 21:54:54 +02:00
Lonami Exo
5e322a6ca9
Remove async properties from custom.Message
...
Awaiting on a property was strange and only really made sense
in events.NewMessage. Methods like client.get_messages() and
similar return entire custom.Message which won't need to touch
the network, and requiring the await was a poor UX.
2018-06-21 21:15:48 +02:00
Lonami Exo
3973755333
Support .name attr in utils.is_type/client.upload_file
...
This means open()'ed files will have their name used properly,
and that you can set b.name = 'somename.jpg' to io.BytesIO()
objects to have them uploaded as images.
2018-06-21 16:31:03 +02:00
Lonami Exo
d8af64e3b9
Clarify/fix get[_input]_entity docstrings
2018-06-21 11:08:14 +02:00
Lonami Exo
5c602d4ba7
Add __str__ to RpcResult/GzipPacked
2018-06-21 09:58:12 +02:00
Lonami Exo
a99fce471a
Fix cancelling a None handle on first connection+error
2018-06-21 09:48:11 +02:00