Various improvements

This commit is contained in:
Ilya Laktyushin 2026-02-23 21:25:25 +04:00
parent 4203d70414
commit 5d50aa34af
19 changed files with 2010 additions and 1905 deletions

View file

@ -152,6 +152,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[1515256996] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionExportedInviteDelete($0) }
dict[-384910503] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionExportedInviteEdit($0) }
dict[1091179342] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionExportedInviteRevoke($0) }
dict[1476834540] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionParticipantEditRank($0) }
dict[-484690728] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionParticipantInvite($0) }
dict[405815507] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionParticipantJoin($0) }
dict[-23084712] = { return Api.ChannelAdminLogEventAction.parse_channelAdminLogEventActionParticipantJoinByInvite($0) }

View file

@ -787,6 +787,19 @@ public extension Api {
return ("channelAdminLogEventActionExportedInviteRevoke", [("invite", self.invite as Any)])
}
}
public class Cons_channelAdminLogEventActionParticipantEditRank: TypeConstructorDescription {
public var userId: Int64
public var prevRank: String
public var newRank: String
public init(userId: Int64, prevRank: String, newRank: String) {
self.userId = userId
self.prevRank = prevRank
self.newRank = newRank
}
public func descriptionFields() -> (String, [(String, Any)]) {
return ("channelAdminLogEventActionParticipantEditRank", [("userId", self.userId as Any), ("prevRank", self.prevRank as Any), ("newRank", self.newRank as Any)])
}
}
public class Cons_channelAdminLogEventActionParticipantInvite: TypeConstructorDescription {
public var participant: Api.ChannelParticipant
public init(participant: Api.ChannelParticipant) {
@ -1044,6 +1057,7 @@ public extension Api {
case channelAdminLogEventActionExportedInviteDelete(Cons_channelAdminLogEventActionExportedInviteDelete)
case channelAdminLogEventActionExportedInviteEdit(Cons_channelAdminLogEventActionExportedInviteEdit)
case channelAdminLogEventActionExportedInviteRevoke(Cons_channelAdminLogEventActionExportedInviteRevoke)
case channelAdminLogEventActionParticipantEditRank(Cons_channelAdminLogEventActionParticipantEditRank)
case channelAdminLogEventActionParticipantInvite(Cons_channelAdminLogEventActionParticipantInvite)
case channelAdminLogEventActionParticipantJoin
case channelAdminLogEventActionParticipantJoinByInvite(Cons_channelAdminLogEventActionParticipantJoinByInvite)
@ -1250,6 +1264,14 @@ public extension Api {
}
_data.invite.serialize(buffer, true)
break
case .channelAdminLogEventActionParticipantEditRank(let _data):
if boxed {
buffer.appendInt32(1476834540)
}
serializeInt64(_data.userId, buffer: buffer, boxed: false)
serializeString(_data.prevRank, buffer: buffer, boxed: false)
serializeString(_data.newRank, buffer: buffer, boxed: false)
break
case .channelAdminLogEventActionParticipantInvite(let _data):
if boxed {
buffer.appendInt32(-484690728)
@ -1471,6 +1493,8 @@ public extension Api {
return ("channelAdminLogEventActionExportedInviteEdit", [("prevInvite", _data.prevInvite as Any), ("newInvite", _data.newInvite as Any)])
case .channelAdminLogEventActionExportedInviteRevoke(let _data):
return ("channelAdminLogEventActionExportedInviteRevoke", [("invite", _data.invite as Any)])
case .channelAdminLogEventActionParticipantEditRank(let _data):
return ("channelAdminLogEventActionParticipantEditRank", [("userId", _data.userId as Any), ("prevRank", _data.prevRank as Any), ("newRank", _data.newRank as Any)])
case .channelAdminLogEventActionParticipantInvite(let _data):
return ("channelAdminLogEventActionParticipantInvite", [("participant", _data.participant as Any)])
case .channelAdminLogEventActionParticipantJoin:
@ -1926,6 +1950,23 @@ public extension Api {
return nil
}
}
public static func parse_channelAdminLogEventActionParticipantEditRank(_ reader: BufferReader) -> ChannelAdminLogEventAction? {
var _1: Int64?
_1 = reader.readInt64()
var _2: String?
_2 = parseString(reader)
var _3: String?
_3 = parseString(reader)
let _c1 = _1 != nil
let _c2 = _2 != nil
let _c3 = _3 != nil
if _c1 && _c2 && _c3 {
return Api.ChannelAdminLogEventAction.channelAdminLogEventActionParticipantEditRank(Cons_channelAdminLogEventActionParticipantEditRank(userId: _1!, prevRank: _2!, newRank: _3!))
}
else {
return nil
}
}
public static func parse_channelAdminLogEventActionParticipantInvite(_ reader: BufferReader) -> ChannelAdminLogEventAction? {
var _1: Api.ChannelParticipant?
if let signature = reader.readInt32() {

View file

@ -3157,14 +3157,17 @@ public extension Api.functions.channels {
}
}
public extension Api.functions.channels {
static func editAdmin(channel: Api.InputChannel, userId: Api.InputUser, adminRights: Api.ChatAdminRights, rank: String) -> (FunctionDescription, Buffer, DeserializeFunctionResponse<Api.Updates>) {
static func editAdmin(flags: Int32, channel: Api.InputChannel, userId: Api.InputUser, adminRights: Api.ChatAdminRights, rank: String?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse<Api.Updates>) {
let buffer = Buffer()
buffer.appendInt32(-751007486)
buffer.appendInt32(-1701270168)
serializeInt32(flags, buffer: buffer, boxed: false)
channel.serialize(buffer, true)
userId.serialize(buffer, true)
adminRights.serialize(buffer, true)
serializeString(rank, buffer: buffer, boxed: false)
return (FunctionDescription(name: "channels.editAdmin", parameters: [("channel", String(describing: channel)), ("userId", String(describing: userId)), ("adminRights", String(describing: adminRights)), ("rank", String(describing: rank))]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in
if Int(flags) & Int(1 << 0) != 0 {
serializeString(rank!, buffer: buffer, boxed: false)
}
return (FunctionDescription(name: "channels.editAdmin", parameters: [("flags", String(describing: flags)), ("channel", String(describing: channel)), ("userId", String(describing: userId)), ("adminRights", String(describing: adminRights)), ("rank", String(describing: rank))]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in
let reader = BufferReader(buffer)
var result: Api.Updates?
if let signature = reader.readInt32() {