WTelegramClient/src/Helpers.TL.cs

158 lines
6.8 KiB
C#
Raw Normal View History

namespace TL
{
partial class InputChannel { public static InputPeerChannel Empty => new(); }
partial class InputDocument { public static InputDocumentEmpty Empty => new(); }
partial class InputPeer { public static InputPeerEmpty Empty => new(); }
partial class InputPhoto { public static InputPhotoEmpty Empty => new(); }
partial class InputEncryptedFile{ public static InputEncryptedFileEmpty Empty => new(); }
partial class InputStickerSet { public static InputStickerSetEmpty Empty => new(); }
partial class InputUser { public static InputUserEmpty Empty => new(); }
partial class InputUser { public static InputUserSelf Self => new(); }
partial class ChatBase
{
public abstract int ID { get; }
public abstract string Title { get; }
protected abstract InputPeer ToInputPeer();
public static implicit operator InputPeer(ChatBase chat) => chat.ToInputPeer();
}
partial class ChatEmpty
{
public override int ID => id;
public override string Title => null;
protected override InputPeer ToInputPeer() => InputPeer.Empty;
}
partial class Chat
{
public override int ID => id;
public override string Title => title;
protected override InputPeer ToInputPeer() => new InputPeerChat { chat_id = id };
}
partial class ChatForbidden
{
public override int ID => id;
public override string Title => title;
protected override InputPeer ToInputPeer() => new InputPeerChat { chat_id = id };
}
partial class Channel
{
public override int ID => id;
public override string Title => title;
protected override InputPeer ToInputPeer() => new InputPeerChannel { channel_id = id, access_hash = access_hash };
public static implicit operator InputChannel(Channel channel) => new() { channel_id = channel.id, access_hash = channel.access_hash };
}
partial class ChannelForbidden
{
public override int ID => id;
public override string Title => title;
protected override InputPeer ToInputPeer() => new InputPeerChannel { channel_id = id, access_hash = access_hash };
}
partial class UserBase
{
public abstract int ID { get; }
protected abstract InputPeer ToInputPeer();
protected abstract InputUserBase ToInputUser();
public static implicit operator InputPeer(UserBase user) => user.ToInputPeer();
public static implicit operator InputUserBase(UserBase user) => user.ToInputUser();
}
partial class UserEmpty
{
public override int ID => id;
protected override InputPeer ToInputPeer() => InputPeer.Empty;
protected override InputUserBase ToInputUser() => InputUser.Empty;
}
partial class User
{
public override int ID => id;
protected override InputPeer ToInputPeer() => new InputPeerUser { user_id = id, access_hash = access_hash };
protected override InputUserBase ToInputUser() => new InputUser { user_id = id, access_hash = access_hash };
}
partial class PhotoBase
{
public abstract long ID { get; }
protected abstract InputPhotoBase ToInputPhoto();
public static implicit operator InputPhotoBase(PhotoBase photo) => photo.ToInputPhoto();
}
partial class PhotoEmpty
{
public override long ID => id;
protected override InputPhotoBase ToInputPhoto() => InputPhoto.Empty;
}
partial class Photo
{
public override long ID => id;
protected override InputPhotoBase ToInputPhoto() => new InputPhoto() { id = id, access_hash = access_hash, file_reference = file_reference };
public InputPhotoFileLocation ToFileLocation(PhotoSizeBase photoSize) => new() { id = id, access_hash = access_hash, file_reference = file_reference, thumb_size = photoSize.Type };
}
partial class PhotoSizeBase { public abstract string Type { get; } }
partial class PhotoSizeEmpty { public override string Type => type; }
partial class PhotoSize { public override string Type => type; }
partial class PhotoCachedSize { public override string Type => type; }
partial class PhotoStrippedSize { public override string Type => type; }
partial class PhotoSizeProgressive { public override string Type => type; }
partial class PhotoPathSize { public override string Type => type; }
partial class DocumentBase
{
public abstract long ID { get; }
protected abstract InputDocumentBase ToInputDocument();
public static implicit operator InputDocumentBase(DocumentBase document) => document.ToInputDocument();
}
partial class DocumentEmpty
{
public override long ID => id;
protected override InputDocumentBase ToInputDocument() => InputDocument.Empty;
}
partial class Document
{
public override long ID => id;
protected override InputDocumentBase ToInputDocument() => new InputDocument() { id = id, access_hash = access_hash, file_reference = file_reference };
public InputDocumentFileLocation ToFileLocation(PhotoSizeBase photoSize) => new() { id = id, access_hash = access_hash, file_reference = file_reference, thumb_size = photoSize.Type };
}
partial class EncryptedFileBase
{
protected abstract InputEncryptedFileBase ToInputEncryptedFile();
public static implicit operator InputEncryptedFileBase(EncryptedFileBase file) => file.ToInputEncryptedFile();
}
partial class EncryptedFileEmpty
{
protected override InputEncryptedFileBase ToInputEncryptedFile() => InputEncryptedFile.Empty;
}
partial class EncryptedFile
{
protected override InputEncryptedFileBase ToInputEncryptedFile() => new InputEncryptedFile { id = id, access_hash = access_hash };
public InputEncryptedFileLocation ToFileLocation() => new() { id = id, access_hash = access_hash };
}
partial class SecureFile
{
public static implicit operator InputSecureFile(SecureFile file) => new() { id = file.id, access_hash = file.access_hash };
public InputSecureFileLocation ToFileLocation() => new() { id = id, access_hash = access_hash };
}
partial class InputFileBase
{
public abstract InputEncryptedFileBase ToInputEncryptedFile(int key_fingerprint);
public abstract InputSecureFileBase ToInputSecureFile(byte[] file_hash, byte[] secret);
}
partial class InputFile
{
public override InputEncryptedFileBase ToInputEncryptedFile(int key_fingerprint) => new InputEncryptedFileUploaded { id = id, parts = parts, md5_checksum = md5_checksum, key_fingerprint = key_fingerprint };
public override InputSecureFileBase ToInputSecureFile(byte[] file_hash, byte[] secret) => new InputSecureFileUploaded { id = id, parts = parts, md5_checksum = md5_checksum, file_hash = file_hash, secret = secret };
}
partial class InputFileBig
{
public override InputEncryptedFileBase ToInputEncryptedFile(int key_fingerprint) => new InputEncryptedFileBigUploaded { id = id, parts = parts, key_fingerprint = key_fingerprint };
public override InputSecureFileBase ToInputSecureFile(byte[] file_hash, byte[] secret) => new InputSecureFileUploaded { id = id, parts = parts, file_hash = file_hash, secret = secret };
}
partial class StickerSet
{
public static implicit operator InputStickerSetID(StickerSet stickerSet) => new() { id = stickerSet.id, access_hash = stickerSet.access_hash };
}
}