Lonami Exo
63c89af983
Use relative imports always where possible
2017-05-21 13:02:54 +02:00
Lonami Exo
ca80b05694
Add shebangs and set proper file permissions
2017-05-20 15:58:44 +02:00
Lonami Exo
fb9104417e
Add more errors, change the way InvalidDC is created
2017-05-20 15:25:07 +02:00
Lonami Exo
eb7fb2ac24
Make logging a lot less intrusive
...
See https://docs.python.org/3/howto/logging.html#library-config
2017-05-20 11:49:09 +02:00
Lonami Exo
6550d83d42
Fix closed sockets not being recreated as they should
...
See http://stackoverflow.com/a/15958099
2017-05-20 11:34:23 +02:00
Lonami Exo
468033fa7e
Avoid counterintuitive automatic connection
2017-05-20 11:33:37 +02:00
Dmitry D. Chernov
bbd3eb7c28
Raise an exception if recv() returned 0 bytes
...
See for details: https://docs.python.org/3/howto/sockets.html
"When a recv returns 0 bytes, it means the other side has closed (or is in the process of closing) the connection. You will not receive any more data on this connection. Ever."
2017-05-20 11:02:19 +02:00
Lonami Exo
3c3946e6f1
Don't start the updates thread until signed in
2017-05-19 21:44:50 +02:00
Dmitry D. Chernov
0ef32a7d78
Fix syntax of exception throwing here and there
2017-05-19 08:32:40 +02:00
Dmitry D. Chernov
7f787affc6
MtProtoSender: Fix crash on receiving unknown RPC results
...
Such RPC results may arrive after reconnection, for example.
2017-05-19 08:32:40 +02:00
Dmitry D. Chernov
048bc81b74
MtProtoSender: Use threading.Event instead of boolean flags
2017-05-09 19:50:46 +02:00
Dmitry D. Chernov
7ffe2b3130
TcpClient: Combine two identical function calls into one
2017-05-09 19:50:46 +02:00
Dmitry D. Chernov
15e06f9ce2
TcpClient: Use threading.Event instead of boolean flag
2017-05-09 19:50:46 +02:00
Lonami Exo
6069188b54
MtProtoPlainSender was not connecting ( closes #62 )
2017-04-29 20:57:08 +02:00
Lonami Exo
fbe65c2dfb
Reconnect on timeout inside timeout ( #61 )
2017-04-29 11:07:32 +02:00
Lonami Exo
a7595347f3
Make the UpdatesThread a daemon ( closes #60 )
2017-04-29 10:41:56 +02:00
Lonami Exo
89326c998a
Workaround for #50 suggested by @strayge (send not only Ping)
2017-04-21 14:02:21 +02:00
Lonami Exo
6b2c0271ae
Fix updates thread crashing on logout
2017-04-14 15:28:15 +02:00
Lonami Exo
f6c34f8ba2
Add current time to the log output
2017-04-12 10:35:07 +02:00
Lonami Exo
4fa43f231f
Fix "Must wait error" not causing updates thread to sleep
2017-04-11 09:58:22 +02:00
Lonami Exo
6d1ce4d48d
Let only the LogOut request be confirmed via ack
2017-04-11 09:57:18 +02:00
Lonami Exo
f24d4f4a0e
Fix updates thread not sleeping when handling pings
2017-04-09 13:16:22 +02:00
Lonami Exo
1232e8f607
Add logging to MTProtoSender
2017-04-09 13:14:04 +02:00
Lonami Exo
426b09aec0
Slightly improve the updates thread (also easier to understand)
2017-04-06 18:46:09 +02:00
Epix Zhang
350c11d66f
Add proxy support using PySocks ( closes #37 )
2017-03-20 17:16:34 +01:00
Lonami Exo
628b7391e3
Greatly improve the handling of working with different DC
2017-03-20 12:32:10 +01:00
strayge
8256cb3e55
added ping requests
2017-02-19 20:20:21 +06:00
Lonami Exo
11629ecf2f
Fix closing socket on Windows
2017-01-30 13:36:15 +01:00
Lonami Exo
78fe053ff3
Handle server pongs for manual ping requests
2017-01-19 15:54:28 +01:00
Lonami Exo
8e48455cdc
Fix bug introduced in #d08794 found by @k1-hedayati
2017-01-13 21:22:53 +01:00
Fadi Hadzh
d087941bd0
Many code-style improvements
2016-11-30 00:29:42 +03:00
LiemCH
38bf460930
Update tcp_transport.py
...
Counter before send, in case of fail send, will not result error 500 random_id_duplicate
2016-10-09 10:10:41 +07:00
Lonami
7399bfacd1
Implemented receive timeout ( #6 ) and fixed error string
2016-10-03 09:54:17 +02:00
Lonami
e035939aa2
Attempt at fixing #5 (RPCError) and updated README
...
Now RPC results can be received from the updates thread, as long
as they are errors. This, however, should not happen!
A recursive lock is now used (and released on every method, rather
than only on the `.receive()` one)
2016-10-02 13:30:14 +02:00
Lonami
77aa37d2ad
Added an .empty() function to the objects, fixes to msgs_ack
...
The .empty() function returns an "empty" instance of the object
(attributes set to None). This is used rather than using reflection.
The msgs_ack handling broke stuff (InvokeWithLayer when there were
updates), so this is now handled; yet there may be a better fix
2016-09-26 17:18:25 +02:00
Lonami
36b8a9026f
Fixed revert by hand (I hope)
2016-09-26 13:13:11 +02:00
Lonami
4d5e11f4af
Revert "Fixed logging out, added a proper function to list sessions"
...
This reverts commit 87969745f5
.
The main purpose is to get rid of the JSON encoding (useless)
2016-09-26 13:06:36 +02:00
Lonami
87969745f5
Fixed logging out, added a proper function to list sessions
...
By fixing logging out, other request probably got fixed as well,
since now we can also read MessagesAcknowledge requests
2016-09-23 12:50:01 +02:00
Lonami
51a531225f
Totally refactored source files location
...
Now it *should* be easier to turn Telethon
into a pip package
2016-09-17 20:45:12 +02:00