Commit graph

416 commits

Author SHA1 Message Date
Wizou ee0a777685 Added to layer 144: Album covers 2022-08-04 00:20:42 +02:00
Wizou 3e1506d0a7 Throw exception if calling API without connecting first. 2022-08-01 19:06:31 +02:00
Wizou 668b19e3e8 Renamed Update event to OnUpdate, returning Task
(to gracefully handle async exceptions)
2022-07-29 15:24:18 +02:00
Wizou 6977641b2d Upgrade to layer 144: Premium gifts, custom emoji stickers... 2022-07-29 02:21:05 +02:00
Wizou cf53520e02 minor clarifications 2022-07-29 02:19:25 +02:00
Wizou 5743942a7f Notify ReactorError before (not after) throwing exception on pending APIs 2022-07-24 15:03:13 +02:00
Wizou 000c35b256 SendAlbumAsync now returns all the Message[] (#75) 2022-07-24 11:14:08 +02:00
Wizou 1299e27cab Added method to DisableUpdates 2022-07-12 01:31:18 +02:00
Wizou 4f1a6610aa Option to prevent logout on failed resume 2022-07-08 01:15:37 +02:00
Wizou 39b46d71f0 moving code around Client.Helpers.cs 2022-07-04 12:55:00 +02:00
Wizou 08f58e3d0a Fixed "ignoring old msg_id" warnings on session start 2022-07-01 12:18:13 +02:00
Wizou 1ffbca1b51 coherent null behaviour for UserOrChat helpers 2022-06-25 17:05:27 +02:00
Wizou 4d8c0843d9 revoke_history always true for DeleteChatUser helpers (same behavior with channels) 2022-06-23 01:51:55 +02:00
Wizou aad40cf5df parameters MessagesFilter filter are optional 2022-06-23 01:49:07 +02:00
Wizou f620514759 fix issue with MTProxy and media dc_id 2022-06-19 18:08:19 +02:00
Wizou b1c8d225f2 implicit InputStickerSet from string shortName 2022-06-17 15:12:50 +02:00
Wizou 823a414839 Fix possible NullRef with _bareRpc 2022-06-15 12:21:22 +02:00
Wizou 8898308d9c Upgrade to layer 143: Premium features (long file_size, transcribed audio, chat mgmt...), advanced invoice/purchase, bot attach menu... 2022-06-15 01:58:44 +02:00
Wizou 33a2fb02c1 minor changes 2022-06-14 00:58:51 +02:00
Wizou 6aef50db85 Retry wrong password/verification_code up to MaxCodePwdAttempts times 2022-05-31 14:28:37 +02:00
Wizou 4a9652dc7a added DeleteMessages helper 2022-05-21 02:32:15 +02:00
Wizou 2a250ab39f added GetMessages helper and InputMessageID implicit operator 2022-05-20 14:54:07 +02:00
Wizou 5e66d562df Last arg of API methods can be params for simplicity 2022-05-20 14:04:54 +02:00
Wizou a8d2dfcfa1 Improve security by preventing replay attacks 2022-05-19 01:32:22 +02:00
Wizou 90ce527f31 Upgrade to layer 142: some various stuff 2022-05-15 00:36:28 +02:00
Wizou 9753b2b385 UpdateShortMessage.UpdateList correctly handle Flags.out_ 2022-05-13 23:16:48 +02:00
Wizou 5465474505 Try to wait for clean reactorTask completion on Dispose/Reset 2022-05-09 23:43:06 +02:00
Wizou 332b784384 minor doc update 2022-05-07 22:13:20 +02:00
Wizou de0f34e8c5 handle TAKEOUT_INIT_DELAY_X 2022-04-26 21:13:23 +02:00
Wizou 61dd83a162 mark Auth_* methods as obsolete. call Auth_CancelCode on exception 2022-04-22 23:07:43 +02:00
Wizou a53610ccb9 call OnUpdate(signUpRequired) instead of OnUpdate(TOS) only 2022-04-19 13:39:33 +02:00
Wizou 02c5b4137a Fix NullRef when RPC result is a nullable TL type 2022-04-18 22:07:04 +02:00
Wizou 9aa97d341a Upgrade to layer 140: Ringtones/Sounds, Custom bot menu, ... 2022-04-13 16:02:02 +02:00
Wizou 0f928d4992 Move ParseX logic out of TL.MTProto 2022-04-13 15:53:06 +02:00
Wizou 796b49546e Provide X number (if any) and generic message in RpcException. Retry only once on -503 error. 2022-04-11 12:08:17 +02:00
Wizou e6a1dbb24d No code change. Just moving methods around 2022-04-06 18:38:54 +02:00
Wizou 05752863bd Various minor stuff 2022-04-01 21:48:28 +02:00
Wizou 5c5b8032b9 Fix race condition on pendingRpcs adding/pulling 2022-03-27 22:29:48 +02:00
Wizou a54cc92618 ctor for Input User/Channel with mandatory access_hash parameter 2022-03-27 22:26:57 +02:00
Wizou c2f228f7de ctor for Input User/Channel with mandatory access_hash parameter 2022-03-27 12:18:43 +02:00
Wizou 67da1da8c0 added xmldoc for these helpers 2022-03-23 17:33:23 +01:00
Wizou 8c5fe45c44 added EntitiesToMarkdown & EntitiesToHtml helpers 2022-03-23 17:04:17 +01:00
Wizou 073056c079 added InputUserBase.UserId helper property 2022-03-23 13:50:43 +01:00
Wizou b31c9b4366 Split TL.Schema.cs and TL.Helpers.cs 2022-03-21 21:25:30 +01:00
Wizou f339fe1160 lock sessionStore while updating/writing buffer to store
(useful to avoid buffer copy for custom stores)
2022-03-20 13:09:25 +01:00
Wizou b31aa55c34 updated API docs 2022-03-18 03:53:19 +01:00
Wizou d0d63547b4 cancellationToken for Channels_GetAllParticipants 2022-03-10 14:39:44 +01:00
Wizou 07fcb2d9e4 Upgrade to layer 139 : RTMP groupcalls, video stickerset, ... 2022-03-10 14:35:42 +01:00
Wizou 78d7e250f3 added Messages_GetAllDialogs. UserOrChat(null) returns null 2022-02-27 22:06:13 +01:00
Wizou f3a55385ab updated web doc + FAQ TLSharp 2022-02-26 05:22:41 +01:00
Wizou a178d4be6f easier access to Document filename 2022-02-24 17:12:52 +01:00
Wizou f282d270ae Retry API call once on error -503 Timeout 2022-02-24 16:44:27 +01:00
Wizou 722a8313b0 Updated XML doc comments from corefork 2022-02-23 23:50:52 +01:00
Wizou 902a37443f Remove dependencies on Microsoft.Bcl.HashCode & System.Formats.Asn1 2022-02-22 11:50:55 +01:00
Wizou bdbf17aa07 Remove dependencies on Microsoft.Bcl.HashCode & System.Formats.Asn1 2022-02-19 03:30:50 +01:00
Wizou 74bba5721e Updated docs. Negative PingInterval 2022-02-14 15:17:15 +01:00
Wizou 4e07c03a0b CollectUsersChats helper for your dictionaries (min-aware). CollectAccessHash won't collect 'min' access_hash. 2022-02-14 02:02:13 +01:00
Wizou 6646e85e78 more optional parameters. Messages_Search<> helper 2022-02-13 02:50:10 +01:00
Wizou 7570732a3f call CollectField only if CollectAccessHash 2022-02-11 18:05:12 +01:00
Wizou 3fe9002f2e Remove OLDKEY/MTPROTO1 code 2022-02-11 02:43:48 +01:00
Wizou 9b52cad74d Channels_GetAllParticipants: added logs 2022-02-09 23:20:21 +01:00
Wizou 4ebddba95d Channels_GetAllParticipants: restore original name 2022-02-09 22:58:26 +01:00
Wizou 08484fff41 optimized Channels_GetAllParticipantsSlow. Because of Telegram FLOOD_WAITs, no need for parallel queries 2022-02-09 22:27:55 +01:00
Wizou 5e5e51102f renamed Channels_GetAllParticipantsSlow. use clever alphabet and detect lying subcounts to fetch more entries. (WIP) 2022-02-09 22:17:19 +01:00
Wizou 403969356f Fix InvalidCast when reading an enum vector 2022-02-07 22:06:10 +01:00
Wizou 8bbb753c32 fix (uint) unboxing on fields "int flags" (improved) 2022-02-06 23:22:51 +01:00
Wizou bedb44582e fix (uint) unboxing on fields "int flags" 2022-02-06 14:16:00 +01:00
Wizou 1b1243a758 fix #27: compatibility with Mono/Android 2022-02-04 02:51:14 +01:00
Wizou 72fba55407 Upgrade to layer 138 2022-02-03 16:55:16 +01:00
Wizou e1023ecae6 renamed longitude long_ to lon. UserOrChat now returns null instead of throwing if peer unknown (shouldn't happen anyway). UserOrChat on UpdatesBase 2022-01-29 16:47:47 +01:00
Wizou cdba0f7088 optimize session writes 2022-01-27 17:34:16 +01:00
Wizou 176809a5be Support for custom sessionStore 2022-01-26 22:00:52 +01:00
Wizou 12850182ff fix #25: possible NullReferenceException with Document.LargestThumbSize
fix undisposed FileStream on broken session file.
2022-01-26 11:08:33 +01:00
Wizou 582027e800 some renaming 2022-01-25 23:16:28 +01:00
Wizou 733d106265 store api_id in session file. optional session_key (=api_hash by default) as encryption key 2022-01-25 16:37:09 +01:00
Wizou 8e962178f9 Improved session file writes 2022-01-23 01:28:10 +01:00
Wizou 44ee933b03 webdoc "only simple chat" for 4 more methods 2022-01-21 19:04:33 +01:00
Wizou f6e14c7499 Maintain AddressFamily when migrating DCs 2022-01-21 15:22:21 +01:00
Wizou f711948da7 factorize IndirectStream 2022-01-21 01:40:10 +01:00
Wizou 3730cdc7f0 Added helper SendAlbumAsync, and implicit operators/constructors for media 2022-01-20 02:44:43 +01:00
Wizou 411fcad556 Upgrade to layer 137 2022-01-19 21:31:07 +01:00
Wizou 8d70f241ad ChatFull Participants helpers 2022-01-18 15:24:04 +01:00
Wizou 79224551e6 Prevent reactor reconnect if Dispose() was called 2022-01-17 16:54:34 +01:00
Wizou 0ed77ef984 Support GZipped array in RpcResult 2022-01-17 15:06:29 +01:00
Wizou cba347dc89 clone TcpHandler & PingInterval for secondary DCs 2022-01-13 14:22:52 +01:00
Wizou 6882e85fe1 TLS public key must be positive 2022-01-13 03:06:22 +01:00
Wizou 145ade4414 fix issue #21
Exception "An item with the same key has already been added" in Messages_GetHistory
2022-01-12 14:25:32 +01:00
Wizou c93481189a added HtmlToEntities and HtmlText.Escape 2022-01-12 02:54:59 +01:00
Wizou 0dffccc047 adding WinForms_app.zip 2022-01-12 00:37:55 +01:00
Wizou 83b4e8a4e7 clean dispose of TlsStream 2022-01-11 04:42:41 +01:00
Wizou d6d656c8fe Support for TLS MTProxy 2022-01-11 04:14:23 +01:00
Wizou 6bdb0b9cc7 reduce allocations for encryption 2022-01-07 01:14:16 +01:00
Wizou 0c1785596d various minor stuff 2022-01-07 00:24:47 +01:00
Wizou 7967f9a16c layer doc about reactions 2022-01-03 19:18:40 +01:00
Wizou 28f099ed1e Transport obfuscation and MTProxy support 2022-01-03 18:15:32 +01:00
Wizou 88d2491db9 MarkdownToEntities: spoiler with ||
see https://core.telegram.org/bots/api/#markdownv2-style
2021-12-31 12:10:28 +01:00
Wizou 024c5ba705 More helpers to generically manage Chats & Channels 2021-12-31 08:38:41 +01:00
Wizou e3b7d17d2b Handle BadMsgNotification 16/17 by resynchronizing server time 2021-12-30 23:45:28 +01:00
Wizou 4739c9f539 Fix risk of having only WTelegram.session.tmp if killing the program in the middle of Delete/Move
(that's what File.Replace was trying to avoid!!)
2021-12-30 23:43:00 +01:00
Wizou a7fcbf60fa MarkdownToEntities allows spoiler with ~~ 2021-12-30 17:50:43 +01:00
Wizou e91c20ba8e Added GetFullChat helper 2021-12-30 17:37:25 +01:00
Wizou dced397c15 Released 1.8.3 2021-12-30 12:45:52 +01:00
Wizou b4a8f9f280 Upgrade to layer 136 2021-12-30 12:14:41 +01:00
Wizou 86ac336691 DownloadFileAsync supports PhotoStrippedSize 2021-12-28 12:12:38 +01:00
Wizou 9171268d19 DownloadProfilePhotoAsync supports mini thumb 2021-12-28 09:38:22 +01:00
Wizou 72b28e97ba added DownloadProfilePhotoAsync helper 2021-12-28 06:43:33 +01:00
Wizou 51a89bc6a1 change Dictionary of UserBase into Dictionary of User 2021-12-25 03:20:22 +01:00
Wizou 2881155f8b documentation 2021-12-24 07:21:02 +01:00
Wizou 1396eebca1 Provide computation for new 2FA passwords 2021-12-22 18:25:38 +01:00
Wizou 35cd3b682e More helpers 2021-12-22 04:46:01 +01:00
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
Rinat Abzalov 62dad83370 Fix System.IO.IOException: 'Unable to remove the file to be replaced. ' #10
Based on: 00416bc92f
2021-12-13 14:07:17 +01:00
Wizou 15c3fda05d helper TotalCount on Messages_DialogsBase 2021-12-12 20:38:13 +01:00
Wizou 8efa248aef Added LastSeenAgo
and other helpers
2021-12-10 17:21:39 +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 65a4b779c1 later rejoin for background 2FA ValidityChecks 2021-12-01 16:24:30 +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 ff796775eb some more helpers 2021-11-27 02:57:50 +01:00
Wizou e7b9ea93cd Upgrade to layer 135 2021-11-27 02:56:42 +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 e8a98a5799 FAQ: added "How to not get banned" 2021-11-20 12:54:49 +01:00
Wizou 27ab343ad0 Added Example for Help_GetAppConfig / sending Dice 2021-11-14 15:35:41 +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 c0b10e82f4 small update to ReadMe 2021-11-12 06:10:26 +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 2b95b235f3 Added IPeerResolver 2021-11-09 23:23:16 +01:00
Wizou d557b4fc91 inheritAfter => inheritBefore (improved perf) 2021-11-09 15:01:59 +01:00
Wizou f0ae44c088 More helpers that simplify the handling of Updates 2021-11-09 03:00:03 +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 cf2072e830 add eventual [deactivated] in Chat.ToString 2021-11-05 04:37:21 +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 42348166f0 reorder csproj properties 2021-11-04 03:28:01 +01:00
Wizou 4418f562cb Log precise version of lib 2021-11-04 03:10:03 +01:00
Wizou ec6fb6c0c0 Try to use .NET 6.0 RC2 SDK and embed README.md in nuget package 2021-11-04 02:41:04 +01:00
Wizou 248b7d7f5a renamed TL.Helpers.cs to match namespace 2021-11-04 02:21:12 +01:00
Wizou 3bd1f1bb22 Moved "Possible error codes" to <summary> as they are not displayed correctly with <exception> under VS 2019 2021-11-04 02:09:20 +01:00
Wizou e7637011e1 xmldoc for RpcException possible errors and missing type descriptions 2021-11-03 18:20:54 +01:00
Wizou a197573258 Complete XML documentation of the Telegram API ! 2021-11-03 03:53:48 +01:00
Wizou 3ad36f3e56 Fix BadMsgNotification 17 for PC with not precise system clock
Add logging examples
2021-11-02 01:47:14 +01:00
Wizou 2c99e21234 add some debug logging 2021-11-01 15:44:40 +01:00
Wizou 3d561ff63e added Markdown.Escape
improved MarkdownToEntities a bit
2021-10-31 18:28:25 +01:00
Wizou 7616625ac3 Upgrade to layer 134 2021-10-31 03:55:03 +01:00
Wizou 8d8465fa64 precision on tg://user?id= 2021-10-31 02:56:51 +01:00
Wizou e615f83db6 added MarkdownToEntities 2021-10-31 02:40:10 +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 668138fd78 various markdown updates 2021-10-28 04:59:41 +02:00
Wizou 984c241a09 Support for proxy 2021-10-25 02:40:15 +02:00
Wizou 391c7f96f0 auto-generate properties helpers for fields shared among derived classes 2021-10-23 03:36:46 +02:00
Wizou c9ccaf2d17 More helpers (reordered), notably UserOrChat 2021-10-23 01:37:50 +02:00
Wizou 08ba766e5c Helpers for Contacts_ResolvedPeer. Fix some examples 2021-10-22 19:33:17 +02:00
Wizou af79bfa873 IPeerInfo, IsActive and Dialogs helpers 2021-10-22 15:26:46 +02:00
Wizou 718e96a763 chats and users fields are now serialized as Dictionary for easier access 2021-10-20 19:12:50 +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 a473475e11 Removed unused _sem in Session 2021-10-20 00:24:50 +02:00
Wizou f5b108dc9b Fix compatibility issues with .NET Fw 4.7 2021-10-17 23:35:14 +02:00
Wizou 4b1ae1c5e0 Decode max timestamp (= forever) as DateTime.MaxValue 2021-10-17 03:18:36 +02:00
Wizou 80edb184bc Removed DisplayName in favor of ToString() for User classes 2021-10-17 03:16:51 +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 37ce6524e9 updated ci version 2021-10-12 02:07:54 +02:00
Wizou f296e6b36d Added Examples/Program_GetAllChats 2021-10-11 18:29:24 +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 2520a57f20 ToString for SendMessageAction 2021-10-06 02:41:54 +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 d7b4afb1ee More nullable ctors (*NotModified) 2021-09-30 04:00:38 +02:00
Wizou d4c373d95f Nullable ctor: Empty classes are now converted into/from a null value. This simplifies the hierarchy 2021-09-30 03:40:08 +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 66757ccd0b fix MT issue in session.Save 2021-09-27 17:08:22 +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 6770f66270 Fix issue with session file corruption 2021-09-27 03:20:58 +02:00
Wizou 2ff0de667d More class inheritance 2021-09-27 00:39:30 +02:00
Wizou e3b70fda19 BREAKING CHANGE: Introducing inheritAfter which allows for better/simplified (but possibly changed) class hierarchy generation.
Also improved layers class generation.
2021-09-26 05:07:17 +02:00