diff --git a/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java b/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java index bd8e360f0..3523e2b66 100644 --- a/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java +++ b/TMessagesProj/src/main/java/org/telegram/tgnet/TLRPC.java @@ -66,7 +66,7 @@ public class TLRPC { public static final int MESSAGE_FLAG_HAS_BOT_ID = 0x00000800; public static final int MESSAGE_FLAG_EDITED = 0x00008000; - public static final int LAYER = 134; + public static final int LAYER = 135; public static class TL_stats_megagroupStats extends TLObject { public static int constructor = 0xef7ff916; @@ -10461,6 +10461,7 @@ public class TLRPC { public ArrayList recent_requesters = new ArrayList<>(); public String theme_emoticon; public int requests_pending; + public Peer default_send_as; public long inviterId; //custom public int invitesCount; //custom @@ -10470,9 +10471,12 @@ public class TLRPC { case 0x46a6ffb4: result = new TL_chatFull(); break; - case 0x59cff963: + case 0x56662e2e: result = new TL_channelFull(); break; + case 0x59cff963: + result = new TL_channelFull_layer134(); + break; case 0x1c87a71a: result = new TL_channelFull_layer98(); break; @@ -11910,6 +11914,252 @@ public class TLRPC { } public static class TL_channelFull extends ChatFull { + public static int constructor = 0x56662e2e; + + public void readParams(AbstractSerializedData stream, boolean exception) { + flags = stream.readInt32(exception); + can_view_participants = (flags & 8) != 0; + can_set_username = (flags & 64) != 0; + can_set_stickers = (flags & 128) != 0; + hidden_prehistory = (flags & 1024) != 0; + can_set_location = (flags & 65536) != 0; + has_scheduled = (flags & 524288) != 0; + can_view_stats = (flags & 1048576) != 0; + blocked = (flags & 4194304) != 0; + id = stream.readInt64(exception); + about = stream.readString(exception); + if ((flags & 1) != 0) { + participants_count = stream.readInt32(exception); + } + if ((flags & 2) != 0) { + admins_count = stream.readInt32(exception); + } + if ((flags & 4) != 0) { + kicked_count = stream.readInt32(exception); + } + if ((flags & 4) != 0) { + banned_count = stream.readInt32(exception); + } + if ((flags & 8192) != 0) { + online_count = stream.readInt32(exception); + } + read_inbox_max_id = stream.readInt32(exception); + read_outbox_max_id = stream.readInt32(exception); + unread_count = stream.readInt32(exception); + chat_photo = Photo.TLdeserialize(stream, stream.readInt32(exception), exception); + notify_settings = PeerNotifySettings.TLdeserialize(stream, stream.readInt32(exception), exception); + if ((flags & 8388608) != 0) { + exported_invite = ExportedChatInvite.TLdeserialize(stream, stream.readInt32(exception), exception); + } + int magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + int count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + BotInfo object = BotInfo.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + bot_info.add(object); + } + if ((flags & 16) != 0) { + migrated_from_chat_id = stream.readInt64(exception); + } + if ((flags & 16) != 0) { + migrated_from_max_id = stream.readInt32(exception); + } + if ((flags & 32) != 0) { + pinned_msg_id = stream.readInt32(exception); + } + if ((flags & 256) != 0) { + stickerset = StickerSet.TLdeserialize(stream, stream.readInt32(exception), exception); + } + if ((flags & 512) != 0) { + available_min_id = stream.readInt32(exception); + } + if ((flags & 2048) != 0) { + folder_id = stream.readInt32(exception); + } + if ((flags & 16384) != 0) { + linked_chat_id = stream.readInt64(exception); + } + if ((flags & 32768) != 0) { + location = ChannelLocation.TLdeserialize(stream, stream.readInt32(exception), exception); + } + if ((flags & 131072) != 0) { + slowmode_seconds = stream.readInt32(exception); + } + if ((flags & 262144) != 0) { + slowmode_next_send_date = stream.readInt32(exception); + } + if ((flags & 4096) != 0) { + stats_dc = stream.readInt32(exception); + } + pts = stream.readInt32(exception); + if ((flags & 2097152) != 0) { + call = TL_inputGroupCall.TLdeserialize(stream, stream.readInt32(exception), exception); + } + if ((flags & 16777216) != 0) { + ttl_period = stream.readInt32(exception); + } + if ((flags & 33554432) != 0) { + magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + pending_suggestions.add(stream.readString(exception)); + } + } + if ((flags & 67108864) != 0) { + groupcall_default_join_as = Peer.TLdeserialize(stream, stream.readInt32(exception), exception); + } + if ((flags & 134217728) != 0) { + theme_emoticon = stream.readString(exception); + } + if ((flags & 268435456) != 0) { + requests_pending = stream.readInt32(exception); + } + if ((flags & 268435456) != 0) { + magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + recent_requesters.add(stream.readInt64(exception)); + } + } + if ((flags & 536870912) != 0) { + default_send_as = Peer.TLdeserialize(stream, stream.readInt32(exception), exception); + } + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + flags = can_view_participants ? (flags | 8) : (flags &~ 8); + flags = can_set_username ? (flags | 64) : (flags &~ 64); + flags = can_set_stickers ? (flags | 128) : (flags &~ 128); + flags = hidden_prehistory ? (flags | 1024) : (flags &~ 1024); + flags = can_set_location ? (flags | 65536) : (flags &~ 65536); + flags = has_scheduled ? (flags | 524288) : (flags &~ 524288); + flags = can_view_stats ? (flags | 1048576) : (flags &~ 1048576); + flags = blocked ? (flags | 4194304) : (flags &~ 4194304); + stream.writeInt32(flags); + stream.writeInt64(id); + stream.writeString(about); + if ((flags & 1) != 0) { + stream.writeInt32(participants_count); + } + if ((flags & 2) != 0) { + stream.writeInt32(admins_count); + } + if ((flags & 4) != 0) { + stream.writeInt32(kicked_count); + } + if ((flags & 4) != 0) { + stream.writeInt32(banned_count); + } + if ((flags & 8192) != 0) { + stream.writeInt32(online_count); + } + stream.writeInt32(read_inbox_max_id); + stream.writeInt32(read_outbox_max_id); + stream.writeInt32(unread_count); + chat_photo.serializeToStream(stream); + notify_settings.serializeToStream(stream); + if ((flags & 8388608) != 0) { + exported_invite.serializeToStream(stream); + } + stream.writeInt32(0x1cb5c415); + int count = bot_info.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + bot_info.get(a).serializeToStream(stream); + } + if ((flags & 16) != 0) { + stream.writeInt64(migrated_from_chat_id); + } + if ((flags & 16) != 0) { + stream.writeInt32(migrated_from_max_id); + } + if ((flags & 32) != 0) { + stream.writeInt32(pinned_msg_id); + } + if ((flags & 256) != 0) { + stickerset.serializeToStream(stream); + } + if ((flags & 512) != 0) { + stream.writeInt32(available_min_id); + } + if ((flags & 2048) != 0) { + stream.writeInt32(folder_id); + } + if ((flags & 16384) != 0) { + stream.writeInt64(linked_chat_id); + } + if ((flags & 32768) != 0) { + location.serializeToStream(stream); + } + if ((flags & 131072) != 0) { + stream.writeInt32(slowmode_seconds); + } + if ((flags & 262144) != 0) { + stream.writeInt32(slowmode_next_send_date); + } + if ((flags & 4096) != 0) { + stream.writeInt32(stats_dc); + } + stream.writeInt32(pts); + if ((flags & 2097152) != 0) { + call.serializeToStream(stream); + } + if ((flags & 16777216) != 0) { + stream.writeInt32(ttl_period); + } + if ((flags & 33554432) != 0) { + stream.writeInt32(0x1cb5c415); + count = pending_suggestions.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + stream.writeString(pending_suggestions.get(a)); + } + } + if ((flags & 67108864) != 0) { + groupcall_default_join_as.serializeToStream(stream); + } + if ((flags & 134217728) != 0) { + stream.writeString(theme_emoticon); + } + if ((flags & 268435456) != 0) { + stream.writeInt32(requests_pending); + } + if ((flags & 268435456) != 0) { + stream.writeInt32(0x1cb5c415); + count = recent_requesters.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + stream.writeInt64(recent_requesters.get(a)); + } + } + if ((flags & 536870912) != 0) { + default_send_as.serializeToStream(stream); + } + } + } + + public static class TL_channelFull_layer134 extends ChatFull { public static int constructor = 0x59cff963; public void readParams(AbstractSerializedData stream, boolean exception) { @@ -35912,6 +36162,9 @@ public class TLRPC { case 0x6e941a38: result = new TL_channelAdminLogEventActionChangeHistoryTTL(); break; + case 0xcb2ac766: + result = new TL_channelAdminLogEventActionToggleNoForwards(); + break; } if (result == null && exception) { throw new RuntimeException(String.format("can't parse magic %x in ChannelAdminLogEventAction", constructor)); @@ -36469,6 +36722,21 @@ public class TLRPC { } } + public static class TL_channelAdminLogEventActionToggleNoForwards extends ChannelAdminLogEventAction { + public static int constructor = 0xcb2ac766; + + public boolean new_value; + + public void readParams(AbstractSerializedData stream, boolean exception) { + new_value = stream.readBool(exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + stream.writeBool(new_value); + } + } + public static abstract class InputWebFileLocation extends TLObject { public static InputWebFileLocation TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { @@ -36884,6 +37152,7 @@ public class TLRPC { public boolean call_not_empty; public boolean fake; public boolean gigagroup; + public boolean noforwards; public ArrayList restriction_reason = new ArrayList<>(); public TL_channelAdminRights_layer92 admin_rights_layer92; public TL_channelBannedRights_layer92 banned_rights_layer92; @@ -37075,6 +37344,7 @@ public class TLRPC { deactivated = (flags & 32) != 0; call_active = (flags & 8388608) != 0; call_not_empty = (flags & 16777216) != 0; + noforwards = (flags & 33554432) != 0; id = stream.readInt64(exception); title = stream.readString(exception); photo = ChatPhoto.TLdeserialize(stream, stream.readInt32(exception), exception); @@ -37100,6 +37370,7 @@ public class TLRPC { flags = deactivated ? (flags | 32) : (flags &~ 32); flags = call_active ? (flags | 8388608) : (flags &~ 8388608); flags = call_not_empty ? (flags | 16777216) : (flags &~ 16777216); + flags = noforwards ? (flags | 33554432) : (flags &~ 33554432); stream.writeInt32(flags); stream.writeInt64(id); stream.writeString(title); @@ -37354,6 +37625,7 @@ public class TLRPC { call_not_empty = (flags & 16777216) != 0; fake = (flags & 33554432) != 0; gigagroup = (flags & 67108864) != 0; + noforwards = (flags & 134217728) != 0; id = stream.readInt64(exception); if ((flags & 8192) != 0) { access_hash = stream.readInt64(exception); @@ -37413,6 +37685,7 @@ public class TLRPC { flags = call_not_empty ? (flags | 16777216) : (flags &~ 16777216); flags = fake ? (flags | 33554432) : (flags &~ 33554432); flags = gigagroup ? (flags | 67108864) : (flags &~ 67108864); + flags = noforwards ? (flags | 134217728) : (flags &~ 134217728); stream.writeInt32(flags); stream.writeInt64(id); if ((flags & 8192) != 0) { @@ -44630,7 +44903,7 @@ public class TLRPC { } public static class TL_messages_sendMessage extends TLObject { - public static int constructor = 0x520c3870; + public static int constructor = 0xd9d75a4; public int flags; public boolean no_webpage; @@ -44644,6 +44917,7 @@ public class TLRPC { public ReplyMarkup reply_markup; public ArrayList entities = new ArrayList<>(); public int schedule_date; + public InputPeer send_as; public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { return Updates.TLdeserialize(stream, constructor, exception); @@ -44676,11 +44950,14 @@ public class TLRPC { if ((flags & 1024) != 0) { stream.writeInt32(schedule_date); } + if ((flags & 8192) != 0) { + send_as.serializeToStream(stream); + } } } public static class TL_messages_sendMedia extends TLObject { - public static int constructor = 0x3491eba9; + public static int constructor = 0xe25ff8e0; public int flags; public boolean silent; @@ -44694,6 +44971,7 @@ public class TLRPC { public ReplyMarkup reply_markup; public ArrayList entities = new ArrayList<>(); public int schedule_date; + public InputPeer send_as; public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { return Updates.TLdeserialize(stream, constructor, exception); @@ -44726,11 +45004,14 @@ public class TLRPC { if ((flags & 1024) != 0) { stream.writeInt32(schedule_date); } + if ((flags & 8192) != 0) { + send_as.serializeToStream(stream); + } } } public static class TL_messages_forwardMessages extends TLObject { - public static int constructor = 0xd9fee60e; + public static int constructor = 0xcc30290b; public int flags; public boolean silent; @@ -44743,6 +45024,7 @@ public class TLRPC { public ArrayList random_id = new ArrayList<>(); public InputPeer to_peer; public int schedule_date; + public InputPeer send_as; public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { return Updates.TLdeserialize(stream, constructor, exception); @@ -44773,6 +45055,9 @@ public class TLRPC { if ((flags & 1024) != 0) { stream.writeInt32(schedule_date); } + if ((flags & 8192) != 0) { + send_as.serializeToStream(stream); + } } } @@ -46831,7 +47116,7 @@ public class TLRPC { } public static class TL_messages_sendInlineBotResult extends TLObject { - public static int constructor = 0x220815b0; + public static int constructor = 0x7aa11297; public int flags; public boolean silent; @@ -46844,6 +47129,7 @@ public class TLRPC { public long query_id; public String id; public int schedule_date; + public InputPeer send_as; public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { return Updates.TLdeserialize(stream, constructor, exception); @@ -46866,6 +47152,9 @@ public class TLRPC { if ((flags & 1024) != 0) { stream.writeInt32(schedule_date); } + if ((flags & 8192) != 0) { + send_as.serializeToStream(stream); + } } } @@ -47541,7 +47830,7 @@ public class TLRPC { } public static class TL_messages_sendMultiMedia extends TLObject { - public static int constructor = 0xcc0110cb; + public static int constructor = 0xf803138f; public int flags; public boolean silent; @@ -47551,6 +47840,7 @@ public class TLRPC { public int reply_to_msg_id; public ArrayList multi_media = new ArrayList<>(); public int schedule_date; + public InputPeer send_as; public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { return Updates.TLdeserialize(stream, constructor, exception); @@ -47575,6 +47865,9 @@ public class TLRPC { if ((flags & 1024) != 0) { stream.writeInt32(schedule_date); } + if ((flags & 8192) != 0) { + send_as.serializeToStream(stream); + } } } @@ -48636,6 +48929,63 @@ public class TLRPC { } } + public static class TL_messages_hideAllChatJoinRequests extends TLObject { + public static int constructor = 0xe085f4ea; + + public int flags; + public boolean approved; + public InputPeer peer; + public String link; + + public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { + return Updates.TLdeserialize(stream, constructor, exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + flags = approved ? (flags | 1) : (flags &~ 1); + stream.writeInt32(flags); + peer.serializeToStream(stream); + if ((flags & 2) != 0) { + stream.writeString(link); + } + } + } + + public static class TL_messages_toggleNoForwards extends TLObject { + public static int constructor = 0xb11eafa2; + + public InputPeer peer; + public boolean enabled; + + public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { + return Updates.TLdeserialize(stream, constructor, exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + peer.serializeToStream(stream); + stream.writeBool(enabled); + } + } + + public static class TL_messages_saveDefaultSendAs extends TLObject { + public static int constructor = 0xccfddf96; + + public InputPeer peer; + public InputPeer send_as; + + public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { + return Bool.TLdeserialize(stream, constructor, exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + peer.serializeToStream(stream); + send_as.serializeToStream(stream); + } + } + public static class TL_messages_setHistoryTTL extends TLObject { public static int constructor = 0xb80e5fe4; @@ -49667,6 +50017,21 @@ public class TLRPC { } } + public static class TL_channels_getSendAs extends TLObject { + public static int constructor = 0xdc770ee; + + public InputPeer peer; + + public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) { + return TL_channels_sendAsPeers.TLdeserialize(stream, constructor, exception); + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + peer.serializeToStream(stream); + } + } + public static class TL_stickers_createStickerSet extends TLObject { public static int constructor = 0x9021ab67; @@ -50951,6 +51316,97 @@ public class TLRPC { } //RichText end + public static class TL_channels_sendAsPeers extends TLObject { + public static int constructor = 0x8356cda9; + + public ArrayList peers = new ArrayList<>(); + public ArrayList chats = new ArrayList<>(); + public ArrayList users = new ArrayList<>(); + + public static TL_channels_sendAsPeers TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) { + if (TL_channels_sendAsPeers.constructor != constructor) { + if (exception) { + throw new RuntimeException(String.format("can't parse magic %x in TL_channels_sendAsPeers", constructor)); + } else { + return null; + } + } + TL_channels_sendAsPeers result = new TL_channels_sendAsPeers(); + result.readParams(stream, exception); + return result; + } + + public void readParams(AbstractSerializedData stream, boolean exception) { + int magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + int count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + Peer object = Peer.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + peers.add(object); + } + magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + Chat object = Chat.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + chats.add(object); + } + magic = stream.readInt32(exception); + if (magic != 0x1cb5c415) { + if (exception) { + throw new RuntimeException(String.format("wrong Vector magic, got %x", magic)); + } + return; + } + count = stream.readInt32(exception); + for (int a = 0; a < count; a++) { + User object = User.TLdeserialize(stream, stream.readInt32(exception), exception); + if (object == null) { + return; + } + users.add(object); + } + } + + public void serializeToStream(AbstractSerializedData stream) { + stream.writeInt32(constructor); + stream.writeInt32(0x1cb5c415); + int count = peers.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + peers.get(a).serializeToStream(stream); + } + stream.writeInt32(0x1cb5c415); + count = chats.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + chats.get(a).serializeToStream(stream); + } + stream.writeInt32(0x1cb5c415); + count = users.size(); + stream.writeInt32(count); + for (int a = 0; a < count; a++) { + users.get(a).serializeToStream(stream); + } + } + } + //MessageMedia start public static abstract class MessageMedia extends TLObject { public byte[] bytes;