Commit graph

195 commits

Author SHA1 Message Date
Wizou a4f6d00bd0 fix InformationalVersion 2021-12-21 02:28:35 +01:00
Wizou 45d6e330bc renamed CallAsync as Invoke 2021-12-16 14:51:47 +01:00
Wizou 9cc164b9ec updated ReadMe 2021-12-15 20:55:24 +01:00
Wizou 6e4b90710a Added static metnod InputCheckPassword 2021-12-14 13:39:43 +01:00
Wizou 97c6de4cbb Support the request to resend the verification_code through alternate methods. 2021-12-13 15:28:06 +01:00
Wizou 624f45bd05 Config("user_id") represents a long 2021-12-10 14:19:28 +01:00
Wizou 275ece196b comments 2021-12-09 08:43:20 +01:00
Wizou f289b9e2e5 Correctly handle RPC Error for methods returning bool.
Also don't hang CallAsync on ReadRpcResult deserializing error
2021-12-07 16:35:23 +01:00
Wizou 95d9135bd0 Configurable PingInterval to support slow connections 2021-12-07 15:26:53 +01:00
Wizou f6eb1aa6fd fix never-ending loop in Channels_GetAllParticipants 2021-12-07 15:07:35 +01:00
Wizou 0351ad027f added Channels_GetAllParticipants helper 2021-12-07 00:34:57 +01:00
Wizou 934ee9bae4 GUI compatibility: Detach interactive Config calls from MainThread 2021-12-05 11:47:52 +01:00
Wizou 409cf25619 Fix 444 trying to download from a media_only DC with unnegociated AuthKey 2021-12-05 07:21:30 +01:00
Wizou e1132f653b Handle BadMsgNotification 32/33 by renewing session 2021-12-04 00:14:15 +01:00
Wizou 5e04a51e54 Fix 2FA issue under .NET Fw 4.7.2
minor doc updates
2021-12-01 15:50:35 +01:00
Wizou 934895a81c Gracefully handle a disconnection from an idle secondary DC
(don't reconnect)
2021-11-21 00:43:39 +01:00
Wizou f901319ca4 simplified Help_GetAppConfig access to Json values 2021-11-13 15:09:28 +01:00
Wizou 7ed21d5af4 FloodRetryThreshold, ProgressCallback, don't call Updates_GetState on alt DCs upon reconnection 2021-11-12 20:50:39 +01:00
Wizou c157fba5e4 Move TL methods in Extensions class and TL.Methods namespace. Remove partial modifiers when possible 2021-11-10 17:26:40 +01:00
Wizou 30f20fad0e [rollback] Use records for TL methods
It was a nice idea and it worked but it made the lib 3x larger just for sugar syntax in generated code
2021-11-10 02:17:08 +01:00
Wizou 9e4d67ed86 Use records for TL methods 2021-11-10 01:20:54 +01:00
Wizou 382e78cccc Added some helpers. SendMessage/Media return the transmitted Message. Fixed minor issues 2021-11-09 01:43:27 +01:00
Wizou dbcb6814ff renamed ITLObject to IObject 2021-11-07 16:52:58 +01:00
Wizou fd9ec2eaed Get rid of ITLFunction lambda writer and use declared ITLMethod<Ret> classes instead 2021-11-07 16:50:59 +01:00
Wizou d0be053707 We don't need to store full User in session file anymore 2021-11-07 09:09:15 +01:00
Wizou 14e2437097 Add xmldoc for all public members 2021-11-06 05:22:33 +01:00
Wizou b872e58e28 use Users_GetUsers instead of Updates_GetState in login so we update our User info 2021-11-04 20:10:44 +01:00
Wizou 4418f562cb Log precise version of lib 2021-11-04 03:10:03 +01:00
Wizou e7637011e1 xmldoc for RpcException possible errors and missing type descriptions 2021-11-03 18:20:54 +01:00
Wizou 2c99e21234 add some debug logging 2021-11-01 15:44:40 +01:00
Wizou df2fe83ad2 small improvements to Login methods 2021-10-28 22:48:43 +02:00
Wizou 36e7d4ddbc Reenable incoming Updates after an exception in Reactor 2021-10-28 12:31:34 +02:00
Wizou 984c241a09 Support for proxy 2021-10-25 02:40:15 +02:00
Wizou 5e2ddf41f6 A null config value for "password" will also show a console prompt 2021-10-20 13:08:10 +02:00
Wizou f5b108dc9b Fix compatibility issues with .NET Fw 4.7 2021-10-17 23:35:14 +02:00
Wizou 480697d329 Fix wrong type for MessageBase.ID 2021-10-16 02:01:49 +02:00
Wizou c5c8b49331 Simplify library usage even more 2021-10-15 04:24:34 +02:00
Wizou 98a95376f3 Improved examples documentation 2021-10-13 00:27:40 +02:00
Wizou 609e8a6a2d Added Examples\Program_CollectAccessHash 2021-10-11 16:11:37 +02:00
Wizou 4f9fbfc12c A null config value for "verification_code" will show a console prompt. This allows Environment.GetEnvironmentVariable to be used directly as config callback. 2021-10-11 14:44:49 +02:00
Wizou 87a85bec4b added Examples\Program_DownloadSavedMedia.cs 2021-10-06 08:21:42 +02:00
Wizou d96902a614 Parallelize upload/download of file parts 2021-10-06 07:54:20 +02:00
Wizou b01eed2042 DC disconnect bug fix 2021-10-01 02:44:56 +02:00
Wizou e7c5d2eb27 Better IPv6 support/fallback. Support RpcError in response to an API returning an array 2021-10-01 02:22:26 +02:00
Wizou 52fb2a7831 Fix SHA corruption due to concurrent use of static instance 2021-09-29 04:38:39 +02:00
Wizou 8610f7e809 Handle AUTH_RESTART & PHONE_CODE_INVALID during login 2021-09-29 02:51:48 +02:00
Wizou da5098e8d5 MULTIPLE-CONNECTION! First version that implement parallel active connections to DCs (through Client instances dependent of the main Client instance)
Also improved on:
- reconnection/retry/resent strategy
- start of multiple parallel downloads triggering a new DC connection
2021-09-28 16:12:20 +02:00
Wizou cb35ec3799 tcs use RunContinuationsAsynchronously (much better) 2021-09-27 17:07:56 +02:00
Wizou 78a0a47c50 Fix serialization issue with null string. DownloadFileAsync for documents now returns the MIME type (more accurate) 2021-09-27 03:25:28 +02:00
Wizou c789308d1e Avoid unnecessary Auth_ExportAuthorization. More reliable DownloadFileAsync 2021-09-25 19:43:39 +02:00
Wizou 0e88280d90 Monitor excessive salt changes in a better way 2021-09-24 13:21:35 +02:00
Wizou be4d1aca6b added DownloadFileAsync helpers 2021-09-23 13:13:36 +02:00
Wizou 0b3180917f minor improvements 2021-09-23 09:42:35 +02:00
Wizou 35786ef02a Support multi-DC sessions 2021-09-23 09:27:52 +02:00
Wizou fe7bc6f61c Optimized reactor frame handling 2021-09-23 05:37:00 +02:00
Wizou 223d8984cf Serialize User to Json inside session file to prevent future breaking changes 2021-09-18 07:26:06 +02:00
Wizou f6cc00068a Fix "Invalid frame_len" when downloading files 2021-09-18 02:40:58 +02:00
Wizou e0556af742 Convert empty type hierarchies to enums 2021-09-18 02:11:23 +02:00
Wizou 701795efe9 Start keep-alive pings only after authorization key 2021-09-17 15:13:38 +02:00
Wizou f66872cb32 Fix unencrypted message sending issue after switch to Intermediate protocol 2021-09-17 15:09:12 +02:00
Wizou 37974c70b7 Convert TL functions to extension methods 2021-09-17 04:53:02 +02:00
Wizou 661b5223ac Switch to MTProto Intermediate transport protocol (more lightweight/adequate for TCP) 2021-09-17 03:44:52 +02:00
Wizou a403a462db fetch Updates_GetState on session resuming to subscribe to new updates 2021-09-17 03:25:27 +02:00
Wizou 184a133dce Add Keep-Alive system (will also send pending acks) 2021-09-17 03:12:23 +02:00
Wizou b17349bd75 Added auto-reconnect system, hoping it will help with connection shutdown issues
README: added Troubleshooting guide
2021-09-16 04:47:15 +02:00
Wizou dcd384ed27 Update callback is now void (or async void)
Added ListenUpdates example
2021-09-05 01:08:16 +02:00
Wizou 3b8ec9d910 Constructor's updateHandler parameter is now an Update event 2021-09-03 00:06:48 +02:00
Wizou c5e9e228a7 Updated README about 2nd run prompts.
Validation of logged-in user can be skipped with user_id = -1
(use it cautiously, if you're sure you're not changing user between sessions)
2021-09-02 00:39:06 +02:00
Wizou 832e2143f5 Fix issue with SHA computation under .NET Framework 2021-09-02 00:00:54 +02:00
Wizou cd6d813845 Prevent logging reactor exceptions if expected due to cancellation 2021-09-01 23:11:18 +02:00
Wizou 67285c1c08 Remember the good primes to prevent verifying them twice 2021-09-01 23:03:04 +02:00
Wizou 3701ba6f72 Fix warning: The predefined type "RuntimeHelpers" is defined in multiple assemblies 2021-08-30 16:13:52 +02:00
Wizou 4174b21a83 Experimental collection of id/access_hash pairs 2021-08-30 01:31:08 +02:00
Wizou ce41af2f84 Validation of logged-in user can also be done by its user_id 2021-08-27 22:44:43 +02:00
Wizou ef93dda3ac Validate preexisting logged-in user. Force reauthorization after AUTH_RESTART 2021-08-27 14:14:24 +02:00
Wizou ccb48e3b3d Logon => Login 2021-08-26 17:46:45 +02:00
Wizou faf24bfb2a UserAuthIfNeeded => LogonUserIfNeeded (+ more robust) 2021-08-25 15:32:25 +02:00
Wizou d4cb4f59d5 Moved UpdateCrc32 to Compat
Added some xml comment
2021-08-25 12:53:36 +02:00
Wizou 166a35f732 added BotAuthIfNeeded 2021-08-24 17:24:46 +02:00
Wizou 53ee143a1d Removed dependency on Crc32.NET 2021-08-24 10:49:32 +02:00
Wizou 524cb71a65 FLOOD_WAIT_X throw exception if wait is more than 60 seconds 2021-08-20 03:41:00 +02:00
Wizou f2a1dbc20d Implement Telegram protocol safety checks 2021-08-20 02:13:58 +02:00
Wizou 866c562d81 Add compatibility with .NET Standard 2.0 (multi-target) 2021-08-16 22:30:45 +02:00
Wizou cc83944985 Better handle bare requests. Handle more service messages. 2021-08-14 15:15:41 +02:00
Wizou 39f03ed78f Support for FLOOD_WAIT_X 2021-08-14 08:55:30 +02:00
Wizou e01caba162 Fix issue with actual RpcResult in MsgContainer ; Parallelize upload of file parts 2021-08-13 07:06:44 +02:00
Wizou 897b61747a Reactor system for parallelization of requests 2021-08-13 00:28:34 +02:00
Wizou 5e6421d76e simplify ITLFunction<X> into ITLFunction 2021-08-12 12:37:56 +02:00
Wizou 21caecd164 MTProto 2.0 2021-08-10 14:40:41 +02:00
Wizou ba90b47831 Added 2FA support 2021-08-10 08:25:37 +02:00
Wizou 674130e079 TL Functions are now direct Client methods ; Renamed/rationalized serialization methods 2021-08-09 11:41:50 +02:00
[-_-Mr_Veil-_-] 00211e5b5c Migrate to .NET Standard 2.0 2021-08-08 17:35:05 +03:00
Wizou aec4dc0f97 Set nuget package metadata 2021-08-07 15:34:42 +02:00
Wizou 95870c485d updated README 2021-08-07 07:58:08 +02:00
Wizou 4dd03c66a6 Move code to src folder 2021-08-07 06:25:51 +02:00
Renamed from Client.cs (Browse further)