Move TL methods in Extensions class and TL.Methods namespace. Remove partial modifiers when possible

This commit is contained in:
Wizou 2021-11-10 17:26:40 +01:00
parent 30f20fad0e
commit c157fba5e4
5 changed files with 5041 additions and 5036 deletions

View file

@ -261,7 +261,7 @@ namespace WTelegram
var keepAliveTask = KeepAlive(_cts.Token);
TLConfig = await this.InvokeWithLayer(Layer.Version,
new Schema.InitConnection_<Config>
new TL.Methods.InitConnection<Config>
{
api_id = _apiId,
device_model = Config("device_model"),
@ -270,7 +270,7 @@ namespace WTelegram
system_lang_code = Config("system_lang_code"),
lang_pack = Config("lang_pack"),
lang_code = Config("lang_code"),
query = new Schema.Help_GetConfig_()
query = new TL.Methods.Help_GetConfig()
});
_session.DcOptions = TLConfig.dc_options;
_saltChangeCounter = 0;
@ -839,7 +839,7 @@ namespace WTelegram
}
}
break;
case MTProto.Ping_ ping:
case TL.Methods.Ping ping:
_ = SendAsync(new Pong { msg_id = _lastRecvMsgId, ping_id = ping.ping_id }, false);
break;
case Pong pong:

View file

@ -5,11 +5,11 @@ using System.Threading.Tasks;
namespace TL
{
using BinaryWriter = System.IO.BinaryWriter;
using TL.Methods;
using Client = WTelegram.Client;
[TLDef(0x05162463)] //resPQ#05162463 nonce:int128 server_nonce:int128 pq:bytes server_public_key_fingerprints:Vector<long> = ResPQ
public partial class ResPQ : IObject
public class ResPQ : IObject
{
public Int128 nonce;
public Int128 server_nonce;
@ -18,7 +18,7 @@ namespace TL
}
[TLDef(0x83C95AEC)] //p_q_inner_data#83c95aec pq:bytes p:bytes q:bytes nonce:int128 server_nonce:int128 new_nonce:int256 = P_Q_inner_data
public partial class PQInnerData : IObject
public class PQInnerData : IObject
{
public byte[] pq;
public byte[] p;
@ -28,24 +28,24 @@ namespace TL
public Int256 new_nonce;
}
[TLDef(0xA9F55F95, inheritBefore = true)] //p_q_inner_data_dc#a9f55f95 pq:bytes p:bytes q:bytes nonce:int128 server_nonce:int128 new_nonce:int256 dc:int = P_Q_inner_data
public partial class PQInnerDataDc : PQInnerData
public class PQInnerDataDc : PQInnerData
{
public int dc;
}
[TLDef(0x3C6A84D4, inheritBefore = true)] //p_q_inner_data_temp#3c6a84d4 pq:bytes p:bytes q:bytes nonce:int128 server_nonce:int128 new_nonce:int256 expires_in:int = P_Q_inner_data
public partial class PQInnerDataTemp : PQInnerData
public class PQInnerDataTemp : PQInnerData
{
public int expires_in;
}
[TLDef(0x56FDDF88, inheritBefore = true)] //p_q_inner_data_temp_dc#56fddf88 pq:bytes p:bytes q:bytes nonce:int128 server_nonce:int128 new_nonce:int256 dc:int expires_in:int = P_Q_inner_data
public partial class PQInnerDataTempDc : PQInnerData
public class PQInnerDataTempDc : PQInnerData
{
public int dc;
public int expires_in;
}
[TLDef(0x75A3F765)] //bind_auth_key_inner#75a3f765 nonce:long temp_auth_key_id:long perm_auth_key_id:long temp_session_id:long expires_at:int = BindAuthKeyInner
public partial class BindAuthKeyInner : IObject
public class BindAuthKeyInner : IObject
{
public long nonce;
public long temp_auth_key_id;
@ -54,24 +54,24 @@ namespace TL
public DateTime expires_at;
}
public abstract partial class ServerDHParams : IObject
public abstract class ServerDHParams : IObject
{
public Int128 nonce;
public Int128 server_nonce;
}
[TLDef(0x79CB045D, inheritBefore = true)] //server_DH_params_fail#79cb045d nonce:int128 server_nonce:int128 new_nonce_hash:int128 = Server_DH_Params
public partial class ServerDHParamsFail : ServerDHParams
public class ServerDHParamsFail : ServerDHParams
{
public Int128 new_nonce_hash;
}
[TLDef(0xD0E8075C, inheritBefore = true)] //server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:bytes = Server_DH_Params
public partial class ServerDHParamsOk : ServerDHParams
public class ServerDHParamsOk : ServerDHParams
{
public byte[] encrypted_answer;
}
[TLDef(0xB5890DBA)] //server_DH_inner_data#b5890dba nonce:int128 server_nonce:int128 g:int dh_prime:bytes g_a:bytes server_time:int = Server_DH_inner_data
public partial class ServerDHInnerData : IObject
public class ServerDHInnerData : IObject
{
public Int128 nonce;
public Int128 server_nonce;
@ -82,7 +82,7 @@ namespace TL
}
[TLDef(0x6643B654)] //client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:bytes = Client_DH_Inner_Data
public partial class ClientDHInnerData : IObject
public class ClientDHInnerData : IObject
{
public Int128 nonce;
public Int128 server_nonce;
@ -90,23 +90,23 @@ namespace TL
public byte[] g_b;
}
public abstract partial class SetClientDHParamsAnswer : IObject
public abstract class SetClientDHParamsAnswer : IObject
{
public Int128 nonce;
public Int128 server_nonce;
}
[TLDef(0x3BCBF734, inheritBefore = true)] //dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer
public partial class DhGenOk : SetClientDHParamsAnswer
public class DhGenOk : SetClientDHParamsAnswer
{
public Int128 new_nonce_hash1;
}
[TLDef(0x46DC1FB9, inheritBefore = true)] //dh_gen_retry#46dc1fb9 nonce:int128 server_nonce:int128 new_nonce_hash2:int128 = Set_client_DH_params_answer
public partial class DhGenRetry : SetClientDHParamsAnswer
public class DhGenRetry : SetClientDHParamsAnswer
{
public Int128 new_nonce_hash2;
}
[TLDef(0xA69DAE02, inheritBefore = true)] //dh_gen_fail#a69dae02 nonce:int128 server_nonce:int128 new_nonce_hash3:int128 = Set_client_DH_params_answer
public partial class DhGenFail : SetClientDHParamsAnswer
public class DhGenFail : SetClientDHParamsAnswer
{
public Int128 new_nonce_hash3;
}
@ -122,52 +122,52 @@ namespace TL
}
[TLDef(0x62D6B459)] //msgs_ack#62d6b459 msg_ids:Vector<long> = MsgsAck
public partial class MsgsAck : IObject
public class MsgsAck : IObject
{
public long[] msg_ids;
}
[TLDef(0xA7EFF811)] //bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification
public partial class BadMsgNotification : IObject
public class BadMsgNotification : IObject
{
public long bad_msg_id;
public int bad_msg_seqno;
public int error_code;
}
[TLDef(0xEDAB447B, inheritBefore = true)] //bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification
public partial class BadServerSalt : BadMsgNotification
public class BadServerSalt : BadMsgNotification
{
public long new_server_salt;
}
[TLDef(0xDA69FB52)] //msgs_state_req#da69fb52 msg_ids:Vector<long> = MsgsStateReq
public partial class MsgsStateReq : IObject
public class MsgsStateReq : IObject
{
public long[] msg_ids;
}
[TLDef(0x04DEB57D)] //msgs_state_info#04deb57d req_msg_id:long info:bytes = MsgsStateInfo
public partial class MsgsStateInfo : IObject
public class MsgsStateInfo : IObject
{
public long req_msg_id;
public byte[] info;
}
[TLDef(0x8CC0D131)] //msgs_all_info#8cc0d131 msg_ids:Vector<long> info:bytes = MsgsAllInfo
public partial class MsgsAllInfo : IObject
public class MsgsAllInfo : IObject
{
public long[] msg_ids;
public byte[] info;
}
public abstract partial class MsgDetailedInfoBase : IObject
public abstract class MsgDetailedInfoBase : IObject
{
public abstract long AnswerMsgId { get; }
public abstract int Bytes { get; }
public abstract int Status { get; }
}
[TLDef(0x276D3EC6)] //msg_detailed_info#276d3ec6 msg_id:long answer_msg_id:long bytes:int status:int = MsgDetailedInfo
public partial class MsgDetailedInfo : MsgDetailedInfoBase
public class MsgDetailedInfo : MsgDetailedInfoBase
{
public long msg_id;
public long answer_msg_id;
@ -179,7 +179,7 @@ namespace TL
public override int Status => status;
}
[TLDef(0x809DB6DF)] //msg_new_detailed_info#809db6df answer_msg_id:long bytes:int status:int = MsgDetailedInfo
public partial class MsgNewDetailedInfo : MsgDetailedInfoBase
public class MsgNewDetailedInfo : MsgDetailedInfoBase
{
public long answer_msg_id;
public int bytes;
@ -191,25 +191,25 @@ namespace TL
}
[TLDef(0x7D861A08)] //msg_resend_req#7d861a08 msg_ids:Vector<long> = MsgResendReq
public partial class MsgResendReq : IObject
public class MsgResendReq : IObject
{
public long[] msg_ids;
}
[TLDef(0x2144CA19)] //rpc_error#2144ca19 error_code:int error_message:string = RpcError
public partial class RpcError : IObject
public class RpcError : IObject
{
public int error_code;
public string error_message;
}
public abstract partial class RpcDropAnswer : IObject { }
public abstract class RpcDropAnswer : IObject { }
[TLDef(0x5E2AD36E)] //rpc_answer_unknown#5e2ad36e = RpcDropAnswer
public partial class RpcAnswerUnknown : RpcDropAnswer { }
public class RpcAnswerUnknown : RpcDropAnswer { }
[TLDef(0xCD78E586)] //rpc_answer_dropped_running#cd78e586 = RpcDropAnswer
public partial class RpcAnswerDroppedRunning : RpcDropAnswer { }
public class RpcAnswerDroppedRunning : RpcDropAnswer { }
[TLDef(0xA43AD8B7)] //rpc_answer_dropped#a43ad8b7 msg_id:long seq_no:int bytes:int = RpcDropAnswer
public partial class RpcAnswerDropped : RpcDropAnswer
public class RpcAnswerDropped : RpcDropAnswer
{
public long msg_id;
public int seq_no;
@ -217,7 +217,7 @@ namespace TL
}
[TLDef(0x0949D9DC)] //future_salt#0949d9dc valid_since:int valid_until:int salt:long = FutureSalt
public partial class FutureSalt : IObject
public class FutureSalt : IObject
{
public DateTime valid_since;
public DateTime valid_until;
@ -225,7 +225,7 @@ namespace TL
}
[TLDef(0xAE500895)] //future_salts#ae500895 req_msg_id:long now:int salts:vector<future_salt> = FutureSalts
public partial class FutureSalts : IObject
public class FutureSalts : IObject
{
public long req_msg_id;
public DateTime now;
@ -233,24 +233,24 @@ namespace TL
}
[TLDef(0x347773C5)] //pong#347773c5 msg_id:long ping_id:long = Pong
public partial class Pong : IObject
public class Pong : IObject
{
public long msg_id;
public long ping_id;
}
public abstract partial class DestroySessionRes : IObject
public abstract class DestroySessionRes : IObject
{
public long session_id;
}
[TLDef(0xE22045FC)] //destroy_session_ok#e22045fc session_id:long = DestroySessionRes
public partial class DestroySessionOk : DestroySessionRes { }
public class DestroySessionOk : DestroySessionRes { }
[TLDef(0x62D350C9)] //destroy_session_none#62d350c9 session_id:long = DestroySessionRes
public partial class DestroySessionNone : DestroySessionRes { }
public class DestroySessionNone : DestroySessionRes { }
public abstract partial class NewSession : IObject { }
public abstract class NewSession : IObject { }
[TLDef(0x9EC20908)] //new_session_created#9ec20908 first_msg_id:long unique_id:long server_salt:long = NewSession
public partial class NewSessionCreated : NewSession
public class NewSessionCreated : NewSession
{
public long first_msg_id;
public long unique_id;
@ -258,7 +258,7 @@ namespace TL
}
[TLDef(0x9299359F)] //http_wait#9299359f max_delay:int wait_after:int max_wait:int = HttpWait
public partial class HttpWait : IObject
public class HttpWait : IObject
{
public int max_delay;
public int wait_after;
@ -266,19 +266,19 @@ namespace TL
}
[TLDef(0xD433AD73)] //ipPort#d433ad73 ipv4:int port:int = IpPort
public partial class IpPort : IObject
public class IpPort : IObject
{
public int ipv4;
public int port;
}
[TLDef(0x37982646, inheritBefore = true)] //ipPortSecret#37982646 ipv4:int port:int secret:bytes = IpPort
public partial class IpPortSecret : IpPort
public class IpPortSecret : IpPort
{
public byte[] secret;
}
[TLDef(0x4679B65F)] //accessPointRule#4679b65f phone_prefix_rules:bytes dc_id:int ips:vector<IpPort> = AccessPointRule
public partial class AccessPointRule : IObject
public class AccessPointRule : IObject
{
public byte[] phone_prefix_rules;
public int dc_id;
@ -286,7 +286,7 @@ namespace TL
}
[TLDef(0x5A592A6C)] //help.configSimple#5a592a6c date:int expires:int rules:vector<AccessPointRule> = help.ConfigSimple
public partial class Help_ConfigSimple : IObject
public class Help_ConfigSimple : IObject
{
public DateTime date;
public DateTime expires;
@ -295,42 +295,20 @@ namespace TL
// ---functions---
public static class MTProto
public static class MTProtoExtensions
{
[TLDef(0x60469778)] //req_pq#60469778 nonce:int128 = ResPQ
public partial class ReqPq_ : IMethod<ResPQ>
{
public Int128 nonce;
}
public static Task<ResPQ> ReqPq(this Client client, Int128 nonce)
=> client.CallBareAsync(new ReqPq_
=> client.CallBareAsync(new ReqPq
{
nonce = nonce,
});
[TLDef(0xBE7E8EF1)] //req_pq_multi#be7e8ef1 nonce:int128 = ResPQ
public partial class ReqPqMulti_ : IMethod<ResPQ>
{
public Int128 nonce;
}
public static Task<ResPQ> ReqPqMulti(this Client client, Int128 nonce)
=> client.CallBareAsync(new ReqPqMulti_
=> client.CallBareAsync(new ReqPqMulti
{
nonce = nonce,
});
[TLDef(0xD712E4BE)] //req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:bytes q:bytes public_key_fingerprint:long encrypted_data:bytes = Server_DH_Params
public partial class ReqDHParams_ : IMethod<ServerDHParams>
{
public Int128 nonce;
public Int128 server_nonce;
public byte[] p;
public byte[] q;
public long public_key_fingerprint;
public byte[] encrypted_data;
}
public static Task<ServerDHParams> ReqDHParams(this Client client, Int128 nonce, Int128 server_nonce, byte[] p, byte[] q, long public_key_fingerprint, byte[] encrypted_data)
=> client.CallBareAsync(new ReqDHParams_
=> client.CallBareAsync(new ReqDHParams
{
nonce = nonce,
server_nonce = server_nonce,
@ -339,84 +317,110 @@ namespace TL
public_key_fingerprint = public_key_fingerprint,
encrypted_data = encrypted_data,
});
[TLDef(0xF5045F1F)] //set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:bytes = Set_client_DH_params_answer
public partial class SetClientDHParams_ : IMethod<SetClientDHParamsAnswer>
{
public Int128 nonce;
public Int128 server_nonce;
public byte[] encrypted_data;
}
public static Task<SetClientDHParamsAnswer> SetClientDHParams(this Client client, Int128 nonce, Int128 server_nonce, byte[] encrypted_data)
=> client.CallBareAsync(new SetClientDHParams_
=> client.CallBareAsync(new SetClientDHParams
{
nonce = nonce,
server_nonce = server_nonce,
encrypted_data = encrypted_data,
});
[TLDef(0xD1435160)] //destroy_auth_key#d1435160 = DestroyAuthKeyRes
public partial class DestroyAuthKey_ : IMethod<DestroyAuthKeyRes> { }
public static Task<DestroyAuthKeyRes> DestroyAuthKey(this Client client)
=> client.CallBareAsync(new DestroyAuthKey_
=> client.CallBareAsync(new DestroyAuthKey
{
});
[TLDef(0x58E4A740)] //rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer
public partial class RpcDropAnswer_ : IMethod<RpcDropAnswer>
{
public long req_msg_id;
}
public static Task<RpcDropAnswer> RpcDropAnswer(this Client client, long req_msg_id)
=> client.CallBareAsync(new RpcDropAnswer_
=> client.CallBareAsync(new Methods.RpcDropAnswer
{
req_msg_id = req_msg_id,
});
[TLDef(0xB921BD04)] //get_future_salts#b921bd04 num:int = FutureSalts
public partial class GetFutureSalts_ : IMethod<FutureSalts>
{
public int num;
}
public static Task<FutureSalts> GetFutureSalts(this Client client, int num)
=> client.CallAsync(new GetFutureSalts_
=> client.CallAsync(new GetFutureSalts
{
num = num,
});
[TLDef(0x7ABE77EC)] //ping#7abe77ec ping_id:long = Pong
public partial class Ping_ : IMethod<Pong>
{
public long ping_id;
}
public static Task<Pong> Ping(this Client client, long ping_id)
=> client.CallAsync(new Ping_
=> client.CallAsync(new Ping
{
ping_id = ping_id,
});
[TLDef(0xF3427B8C)] //ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong
public partial class PingDelayDisconnect_ : IMethod<Pong>
{
public long ping_id;
public int disconnect_delay;
}
public static Task<Pong> PingDelayDisconnect(this Client client, long ping_id, int disconnect_delay)
=> client.CallAsync(new PingDelayDisconnect_
=> client.CallAsync(new PingDelayDisconnect
{
ping_id = ping_id,
disconnect_delay = disconnect_delay,
});
[TLDef(0xE7512126)] //destroy_session#e7512126 session_id:long = DestroySessionRes
public partial class DestroySession_ : IMethod<DestroySessionRes>
{
public long session_id;
}
public static Task<DestroySessionRes> DestroySession(this Client client, long session_id)
=> client.CallBareAsync(new DestroySession_
=> client.CallBareAsync(new DestroySession
{
session_id = session_id,
});
}
}
namespace TL.Methods
{
[TLDef(0x60469778)] //req_pq#60469778 nonce:int128 = ResPQ
public class ReqPq : IMethod<ResPQ>
{
public Int128 nonce;
}
[TLDef(0xBE7E8EF1)] //req_pq_multi#be7e8ef1 nonce:int128 = ResPQ
public class ReqPqMulti : IMethod<ResPQ>
{
public Int128 nonce;
}
[TLDef(0xD712E4BE)] //req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:bytes q:bytes public_key_fingerprint:long encrypted_data:bytes = Server_DH_Params
public class ReqDHParams : IMethod<ServerDHParams>
{
public Int128 nonce;
public Int128 server_nonce;
public byte[] p;
public byte[] q;
public long public_key_fingerprint;
public byte[] encrypted_data;
}
[TLDef(0xF5045F1F)] //set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:bytes = Set_client_DH_params_answer
public class SetClientDHParams : IMethod<SetClientDHParamsAnswer>
{
public Int128 nonce;
public Int128 server_nonce;
public byte[] encrypted_data;
}
[TLDef(0xD1435160)] //destroy_auth_key#d1435160 = DestroyAuthKeyRes
public class DestroyAuthKey : IMethod<DestroyAuthKeyRes> { }
[TLDef(0x58E4A740)] //rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer
public class RpcDropAnswer : IMethod<TL.RpcDropAnswer>
{
public long req_msg_id;
}
[TLDef(0xB921BD04)] //get_future_salts#b921bd04 num:int = FutureSalts
public class GetFutureSalts : IMethod<FutureSalts>
{
public int num;
}
[TLDef(0x7ABE77EC)] //ping#7abe77ec ping_id:long = Pong
public class Ping : IMethod<Pong>
{
public long ping_id;
}
[TLDef(0xF3427B8C)] //ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong
public class PingDelayDisconnect : IMethod<Pong>
{
public long ping_id;
public int disconnect_delay;
}
[TLDef(0xE7512126)] //destroy_session#e7512126 session_id:long = DestroySessionRes
public class DestroySession : IMethod<DestroySessionRes>
{
public long session_id;
}
}

File diff suppressed because it is too large Load diff

View file

@ -4,11 +4,8 @@ using System.Collections.Generic;
namespace TL
{
using BinaryWriter = System.IO.BinaryWriter;
using Client = WTelegram.Client;
/// <summary>Object describes the contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/type/DecryptedMessage"/></para></summary>
public abstract partial class DecryptedMessageBase : IObject
public abstract class DecryptedMessageBase : IObject
{
/// <summary>Random message ID, assigned by the author of message.<br/>Must be equal to the ID passed to sending method.</summary>
public abstract long RandomId { get; }
@ -16,13 +13,13 @@ namespace TL
/// <summary>Object describes media contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/type/DecryptedMessageMedia"/></para></summary>
/// <remarks>a <c>null</c> value means <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaEmpty">decryptedMessageMediaEmpty</a></remarks>
public abstract partial class DecryptedMessageMedia : IObject { }
public abstract class DecryptedMessageMedia : IObject { }
/// <summary>Object describes the action to which a service message is linked. <para>See <a href="https://corefork.telegram.org/type/DecryptedMessageAction"/></para></summary>
public abstract partial class DecryptedMessageAction : IObject { }
public abstract class DecryptedMessageAction : IObject { }
/// <summary>Indicates the location of a photo, will be deprecated soon <para>See <a href="https://corefork.telegram.org/type/FileLocation"/></para></summary>
public abstract partial class FileLocationBase : IObject
public abstract class FileLocationBase : IObject
{
/// <summary>Server volume</summary>
public abstract long VolumeId { get; }
@ -36,7 +33,7 @@ namespace TL
{
/// <summary>Contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessage"/></para></summary>
[TLDef(0x1F814F1F)]
public partial class DecryptedMessage : DecryptedMessageBase
public class DecryptedMessage : DecryptedMessageBase
{
/// <summary>Random message ID, assigned by the author of message.<br/>Must be equal to the ID passed to sending method.</summary>
public long random_id;
@ -51,7 +48,7 @@ namespace TL
}
/// <summary>Contents of an encrypted service message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageService"/></para></summary>
[TLDef(0xAA48327D)]
public partial class DecryptedMessageService : DecryptedMessageBase
public class DecryptedMessageService : DecryptedMessageBase
{
/// <summary>Random message ID, assigned by the message author.<br/>Must be equal to the ID passed to the sending method.</summary>
public long random_id;
@ -65,7 +62,7 @@ namespace TL
/// <summary>Photo attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaPhoto"/></para></summary>
[TLDef(0x32798A8C)]
public partial class DecryptedMessageMediaPhoto : DecryptedMessageMedia
public class DecryptedMessageMediaPhoto : DecryptedMessageMedia
{
/// <summary>Content of thumbnail file (JPEGfile, quality 55, set in a square 90x90)</summary>
public byte[] thumb;
@ -86,7 +83,7 @@ namespace TL
}
/// <summary>Video attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaVideo"/></para></summary>
[TLDef(0x4CEE6EF3)]
public partial class DecryptedMessageMediaVideo : DecryptedMessageMedia
public class DecryptedMessageMediaVideo : DecryptedMessageMedia
{
/// <summary>Content of thumbnail file (JPEG file, quality 55, set in a square 90x90)</summary>
public byte[] thumb;
@ -109,7 +106,7 @@ namespace TL
}
/// <summary>GeoPont attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaGeoPoint"/></para></summary>
[TLDef(0x35480A59)]
public partial class DecryptedMessageMediaGeoPoint : DecryptedMessageMedia
public class DecryptedMessageMediaGeoPoint : DecryptedMessageMedia
{
/// <summary>Latitude of point</summary>
public double lat;
@ -118,7 +115,7 @@ namespace TL
}
/// <summary>Contact attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaContact"/></para></summary>
[TLDef(0x588A0A97)]
public partial class DecryptedMessageMediaContact : DecryptedMessageMedia
public class DecryptedMessageMediaContact : DecryptedMessageMedia
{
/// <summary>Phone number</summary>
public string phone_number;
@ -131,7 +128,7 @@ namespace TL
}
/// <summary>Document attached to a message in a secret chat. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaDocument"/></para></summary>
[TLDef(0xB095434B)]
public partial class DecryptedMessageMediaDocument : DecryptedMessageMedia
public class DecryptedMessageMediaDocument : DecryptedMessageMedia
{
/// <summary>Thumbnail-file contents (JPEG-file, quality 55, set in a 90x90 square)</summary>
public byte[] thumb;
@ -151,7 +148,7 @@ namespace TL
}
/// <summary>Audio file attached to a secret chat message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaAudio"/></para></summary>
[TLDef(0x6080758F)]
public partial class DecryptedMessageMediaAudio : DecryptedMessageMedia
public class DecryptedMessageMediaAudio : DecryptedMessageMedia
{
/// <summary>Audio duration in seconds</summary>
public int duration;
@ -165,55 +162,55 @@ namespace TL
/// <summary>Setting of a message lifetime after reading. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionSetMessageTTL"/></para></summary>
[TLDef(0xA1733AEC)]
public partial class DecryptedMessageActionSetMessageTTL : DecryptedMessageAction
public class DecryptedMessageActionSetMessageTTL : DecryptedMessageAction
{
/// <summary>Lifetime in seconds</summary>
public int ttl_seconds;
}
/// <summary>Messages marked as read. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionReadMessages"/></para></summary>
[TLDef(0x0C4F40BE)]
public partial class DecryptedMessageActionReadMessages : DecryptedMessageAction
public class DecryptedMessageActionReadMessages : DecryptedMessageAction
{
/// <summary>List of message IDs</summary>
public long[] random_ids;
}
/// <summary>Deleted messages. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionDeleteMessages"/></para></summary>
[TLDef(0x65614304)]
public partial class DecryptedMessageActionDeleteMessages : DecryptedMessageAction
public class DecryptedMessageActionDeleteMessages : DecryptedMessageAction
{
/// <summary>List of deleted message IDs</summary>
public long[] random_ids;
}
/// <summary>A screenshot was taken. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionScreenshotMessages"/></para></summary>
[TLDef(0x8AC1F475)]
public partial class DecryptedMessageActionScreenshotMessages : DecryptedMessageAction
public class DecryptedMessageActionScreenshotMessages : DecryptedMessageAction
{
/// <summary>List of affected message ids (that appeared on the screenshot)</summary>
public long[] random_ids;
}
/// <summary>The entire message history has been deleted. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionFlushHistory"/></para></summary>
[TLDef(0x6719E45C)]
public partial class DecryptedMessageActionFlushHistory : DecryptedMessageAction { }
public class DecryptedMessageActionFlushHistory : DecryptedMessageAction { }
}
namespace Layer17
{
/// <summary>User is uploading a video. <para>See <a href="https://corefork.telegram.org/constructor/sendMessageUploadVideoAction"/></para></summary>
[TLDef(0x92042FF7)]
public partial class SendMessageUploadVideoAction : SendMessageAction { }
public class SendMessageUploadVideoAction : SendMessageAction { }
/// <summary>User is uploading a voice message. <para>See <a href="https://corefork.telegram.org/constructor/sendMessageUploadAudioAction"/></para></summary>
[TLDef(0xE6AC8A6F)]
public partial class SendMessageUploadAudioAction : SendMessageAction { }
public class SendMessageUploadAudioAction : SendMessageAction { }
/// <summary>User is uploading a photo. <para>See <a href="https://corefork.telegram.org/constructor/sendMessageUploadPhotoAction"/></para></summary>
[TLDef(0x990A3C1A)]
public partial class SendMessageUploadPhotoAction : SendMessageAction { }
public class SendMessageUploadPhotoAction : SendMessageAction { }
/// <summary>User is uploading a file. <para>See <a href="https://corefork.telegram.org/constructor/sendMessageUploadDocumentAction"/></para></summary>
[TLDef(0x8FAEE98E)]
public partial class SendMessageUploadDocumentAction : SendMessageAction { }
public class SendMessageUploadDocumentAction : SendMessageAction { }
/// <summary>Contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessage"/></para></summary>
[TLDef(0x204D3878)]
public partial class DecryptedMessage : DecryptedMessageBase
public class DecryptedMessage : DecryptedMessageBase
{
/// <summary>Random message ID, assigned by the author of message.<br/>Must be equal to the ID passed to sending method.</summary>
public long random_id;
@ -229,7 +226,7 @@ namespace TL
}
/// <summary>Contents of an encrypted service message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageService"/></para></summary>
[TLDef(0x73164160)]
public partial class DecryptedMessageService : DecryptedMessageBase
public class DecryptedMessageService : DecryptedMessageBase
{
/// <summary>Random message ID, assigned by the message author.<br/>Must be equal to the ID passed to the sending method.</summary>
public long random_id;
@ -242,7 +239,7 @@ namespace TL
/// <summary>Video attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaVideo"/></para></summary>
[TLDef(0x524A415D)]
public partial class DecryptedMessageMediaVideo : DecryptedMessageMedia
public class DecryptedMessageMediaVideo : DecryptedMessageMedia
{
/// <summary>Content of thumbnail file (JPEG file, quality 55, set in a square 90x90)</summary>
public byte[] thumb;
@ -267,7 +264,7 @@ namespace TL
}
/// <summary>Audio file attached to a secret chat message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaAudio"/></para></summary>
[TLDef(0x57E0A9CB)]
public partial class DecryptedMessageMediaAudio : DecryptedMessageMedia
public class DecryptedMessageMediaAudio : DecryptedMessageMedia
{
/// <summary>Audio duration in seconds</summary>
public int duration;
@ -283,7 +280,7 @@ namespace TL
/// <summary>Request for the other party in a Secret Chat to automatically resend a contiguous range of previously sent messages, as explained in <a href="https://corefork.telegram.org/api/end-to-end/seq_no">Sequence number is Secret Chats</a>. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionResend"/></para></summary>
[TLDef(0x511110B0)]
public partial class DecryptedMessageActionResend : DecryptedMessageAction
public class DecryptedMessageActionResend : DecryptedMessageAction
{
/// <summary><c>out_seq_no</c> of the first message to be resent, with correct parity</summary>
public int start_seq_no;
@ -292,14 +289,14 @@ namespace TL
}
/// <summary>A notification stating the API layer that is used by the client. You should use your current layer and take notice of the layer used on the other side of a conversation when sending messages. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionNotifyLayer"/></para></summary>
[TLDef(0xF3048883)]
public partial class DecryptedMessageActionNotifyLayer : DecryptedMessageAction
public class DecryptedMessageActionNotifyLayer : DecryptedMessageAction
{
/// <summary>Layer number, must be <strong>17</strong> or higher (this contructor was introduced in <a href="https://corefork.telegram.org/api/layers#layer-17">Layer 17</a>).</summary>
public int layer;
}
/// <summary>User is preparing a message: typing, recording, uploading, etc. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionTyping"/></para></summary>
[TLDef(0xCCB27641)]
public partial class DecryptedMessageActionTyping : DecryptedMessageAction
public class DecryptedMessageActionTyping : DecryptedMessageAction
{
/// <summary>Type of action</summary>
public SendMessageAction action;
@ -307,7 +304,7 @@ namespace TL
/// <summary>Sets the layer number for the contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageLayer"/></para></summary>
[TLDef(0x1BE31789)]
public partial class DecryptedMessageLayer : IObject
public class DecryptedMessageLayer : IObject
{
/// <summary>Set of random bytes to prevent content recognition in short encrypted messages.<br/>Clients are required to check that there are at least 15 random bytes included in each message. Messages with less than 15 random bytes must be ignored.<br/>Parameter moved here from <see cref="DecryptedMessage"/> in <a href="https://corefork.telegram.org/api/layers#layer-17">Layer 17</a>.</summary>
public byte[] random_bytes;
@ -326,7 +323,7 @@ namespace TL
{
/// <summary>Defines a sticker <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeSticker"/></para></summary>
[TLDef(0x3A556302)]
public partial class DocumentAttributeSticker : DocumentAttribute
public class DocumentAttributeSticker : DocumentAttribute
{
/// <summary>Alternative emoji representation of sticker</summary>
public string alt;
@ -335,7 +332,7 @@ namespace TL
}
/// <summary>Represents an audio file <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeAudio"/></para></summary>
[TLDef(0xDED218E0)]
public partial class DocumentAttributeAudio : DocumentAttribute
public class DocumentAttributeAudio : DocumentAttribute
{
/// <summary>Duration in seconds</summary>
public int duration;
@ -347,7 +344,7 @@ namespace TL
/// <summary>Contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessage"/></para></summary>
[TLDef(0x36B091DE)]
public partial class DecryptedMessage : DecryptedMessageBase
public class DecryptedMessage : DecryptedMessageBase
{
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a> (added in layer 45)</summary>
public Flags flags;
@ -384,7 +381,7 @@ namespace TL
/// <summary>Photo attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaPhoto"/></para></summary>
[TLDef(0xF1FA8D78)]
public partial class DecryptedMessageMediaPhoto : DecryptedMessageMedia
public class DecryptedMessageMediaPhoto : DecryptedMessageMedia
{
/// <summary>Content of thumbnail file (JPEGfile, quality 55, set in a square 90x90)</summary>
public byte[] thumb;
@ -407,7 +404,7 @@ namespace TL
}
/// <summary>Video attached to an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaVideo"/></para></summary>
[TLDef(0x970C8C0E)]
public partial class DecryptedMessageMediaVideo : DecryptedMessageMedia
public class DecryptedMessageMediaVideo : DecryptedMessageMedia
{
/// <summary>Content of thumbnail file (JPEG file, quality 55, set in a square 90x90)</summary>
public byte[] thumb;
@ -434,7 +431,7 @@ namespace TL
}
/// <summary>Document attached to a message in a secret chat. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaDocument"/></para></summary>
[TLDef(0x7AFE8AE2)]
public partial class DecryptedMessageMediaDocument : DecryptedMessageMedia
public class DecryptedMessageMediaDocument : DecryptedMessageMedia
{
/// <summary>Thumbnail-file contents (JPEG-file, quality 55, set in a 90x90 square)</summary>
public byte[] thumb;
@ -457,7 +454,7 @@ namespace TL
}
/// <summary>Venue <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaVenue"/></para></summary>
[TLDef(0x8A0DF56F)]
public partial class DecryptedMessageMediaVenue : DecryptedMessageMedia
public class DecryptedMessageMediaVenue : DecryptedMessageMedia
{
/// <summary>Latitude of venue</summary>
public double lat;
@ -474,7 +471,7 @@ namespace TL
}
/// <summary>Webpage preview <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaWebPage"/></para></summary>
[TLDef(0xE50511D8)]
public partial class DecryptedMessageMediaWebPage : DecryptedMessageMedia
public class DecryptedMessageMediaWebPage : DecryptedMessageMedia
{
/// <summary>URL of webpage</summary>
public string url;
@ -485,7 +482,7 @@ namespace TL
{
/// <summary>Contents of an encrypted message. <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessage"/></para></summary>
[TLDef(0x91CC4674)]
public partial class DecryptedMessage : DecryptedMessageBase
public class DecryptedMessage : DecryptedMessageBase
{
/// <summary>Flags, see <a href="https://corefork.telegram.org/mtproto/TL-combinators#conditional-fields">TL conditional fields</a> (added in layer 45)</summary>
public Flags flags;
@ -529,7 +526,7 @@ namespace TL
{
/// <summary>Request rekeying, see <a href="https://corefork.telegram.org/api/end-to-end/pfs">rekeying process</a> <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionRequestKey"/></para></summary>
[TLDef(0xF3C9611B)]
public partial class DecryptedMessageActionRequestKey : DecryptedMessageAction
public class DecryptedMessageActionRequestKey : DecryptedMessageAction
{
/// <summary>Exchange ID</summary>
public long exchange_id;
@ -538,7 +535,7 @@ namespace TL
}
/// <summary>Accept new key <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionAcceptKey"/></para></summary>
[TLDef(0x6FE1735B)]
public partial class DecryptedMessageActionAcceptKey : DecryptedMessageAction
public class DecryptedMessageActionAcceptKey : DecryptedMessageAction
{
/// <summary>Exchange ID</summary>
public long exchange_id;
@ -549,14 +546,14 @@ namespace TL
}
/// <summary>Abort rekeying <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionAbortKey"/></para></summary>
[TLDef(0xDD05EC6B)]
public partial class DecryptedMessageActionAbortKey : DecryptedMessageAction
public class DecryptedMessageActionAbortKey : DecryptedMessageAction
{
/// <summary>Exchange ID</summary>
public long exchange_id;
}
/// <summary>Commit new key, see <a href="https://corefork.telegram.org/api/end-to-end/pfs">rekeying process</a> <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionCommitKey"/></para></summary>
[TLDef(0xEC2E0B9B)]
public partial class DecryptedMessageActionCommitKey : DecryptedMessageAction
public class DecryptedMessageActionCommitKey : DecryptedMessageAction
{
/// <summary>Exchange ID, see <a href="https://corefork.telegram.org/api/end-to-end/pfs">rekeying process</a></summary>
public long exchange_id;
@ -565,7 +562,7 @@ namespace TL
}
/// <summary>NOOP action <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageActionNoop"/></para></summary>
[TLDef(0xA82FDD63)]
public partial class DecryptedMessageActionNoop : DecryptedMessageAction { }
public class DecryptedMessageActionNoop : DecryptedMessageAction { }
}
namespace Layer23
@ -607,10 +604,10 @@ namespace TL
/// <summary>Defines a sticker <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeSticker"/></para></summary>
[TLDef(0xFB0A5727)]
public partial class DocumentAttributeSticker : DocumentAttribute { }
public class DocumentAttributeSticker : DocumentAttribute { }
/// <summary>Defines a video <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeVideo"/></para></summary>
[TLDef(0x5910CCCB)]
public partial class DocumentAttributeVideo : DocumentAttribute
public class DocumentAttributeVideo : DocumentAttribute
{
/// <summary>Duration in seconds</summary>
public int duration;
@ -621,7 +618,7 @@ namespace TL
}
/// <summary>Represents an audio file <para>See <a href="https://corefork.telegram.org/constructor/documentAttributeAudio"/></para></summary>
[TLDef(0x051448E5)]
public partial class DocumentAttributeAudio : DocumentAttribute
public class DocumentAttributeAudio : DocumentAttribute
{
/// <summary>Duration in seconds</summary>
public int duration;
@ -629,7 +626,7 @@ namespace TL
/// <summary>Non-e2e documented forwarded from non-secret chat <para>See <a href="https://corefork.telegram.org/constructor/decryptedMessageMediaExternalDocument"/></para></summary>
[TLDef(0xFA95B0DD)]
public partial class DecryptedMessageMediaExternalDocument : DecryptedMessageMedia
public class DecryptedMessageMediaExternalDocument : DecryptedMessageMedia
{
/// <summary>Document ID</summary>
public long id;
@ -651,7 +648,7 @@ namespace TL
/// <summary>File is currently unavailable. <para>See <a href="https://corefork.telegram.org/constructor/fileLocationUnavailable"/></para></summary>
[TLDef(0x7C596B46)]
public partial class FileLocationUnavailable : FileLocationBase
public class FileLocationUnavailable : FileLocationBase
{
/// <summary>Server volume</summary>
public long volume_id;
@ -669,7 +666,7 @@ namespace TL
}
/// <summary>File location. <para>See <a href="https://corefork.telegram.org/constructor/fileLocation"/></para></summary>
[TLDef(0x53D69076)]
public partial class FileLocation : FileLocationBase
public class FileLocation : FileLocationBase
{
/// <summary>Number of the data center holding the file</summary>
public int dc_id;
@ -693,7 +690,7 @@ namespace TL
{
/// <summary>User is uploading a round video <para>See <a href="https://corefork.telegram.org/constructor/sendMessageUploadRoundAction"/></para></summary>
[TLDef(0xBB718624)]
public partial class SendMessageUploadRoundAction : SendMessageAction { }
public class SendMessageUploadRoundAction : SendMessageAction { }
}
namespace Layer46

View file

@ -6,7 +6,7 @@ namespace TL
{
public static class Layer
{
public const int Version = 134; // fetched 31/10/2021 02:19:13
public const int Version = 134; // fetched 10/11/2021 16:21:52
internal const uint VectorCtor = 0x1CB5C415;
internal const uint NullCtor = 0x56730BCC;
internal const uint RpcResultCtor = 0xF35C6D01;
@ -34,7 +34,7 @@ namespace TL
[0x3BCBF734] = typeof(DhGenOk),
[0x46DC1FB9] = typeof(DhGenRetry),
[0xA69DAE02] = typeof(DhGenFail),
[0x7ABE77EC] = typeof(MTProto.Ping_),
[0x7ABE77EC] = typeof(Methods.Ping),
[0x62D6B459] = typeof(MsgsAck),
[0xA7EFF811] = typeof(BadMsgNotification),
[0xEDAB447B] = typeof(BadServerSalt),