Update API

This commit is contained in:
Ilya Laktyushin 2024-02-09 19:46:20 +04:00
parent b2720f3863
commit ac9098839d
6 changed files with 37 additions and 33 deletions

View File

@ -677,6 +677,7 @@ private func channelAdminControllerEntries(presentationData: PresentationData, s
.direct(.canBanUsers),
.direct(.canInviteUsers),
.direct(.canPinMessages),
.sub(.stories, storiesRelatedFlags),
.direct(.canManageCalls),
.direct(.canBeAnonymous),
.direct(.canAddAdmins)

View File

@ -397,7 +397,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
dict[195371015] = { return Api.InputPrivacyRule.parse_inputPrivacyValueDisallowContacts($0) }
dict[-1877932953] = { return Api.InputPrivacyRule.parse_inputPrivacyValueDisallowUsers($0) }
dict[583071445] = { return Api.InputReplyTo.parse_inputReplyToMessage($0) }
dict[363917955] = { return Api.InputReplyTo.parse_inputReplyToStory($0) }
dict[1484862010] = { return Api.InputReplyTo.parse_inputReplyToStory($0) }
dict[1399317950] = { return Api.InputSecureFile.parse_inputSecureFile($0) }
dict[859091184] = { return Api.InputSecureFile.parse_inputSecureFileUploaded($0) }
dict[-618540889] = { return Api.InputSecureValue.parse_inputSecureValue($0) }

View File

@ -1,7 +1,7 @@
public extension Api {
indirect enum InputReplyTo: TypeConstructorDescription {
case inputReplyToMessage(flags: Int32, replyToMsgId: Int32, topMsgId: Int32?, replyToPeerId: Api.InputPeer?, quoteText: String?, quoteEntities: [Api.MessageEntity]?, quoteOffset: Int32?)
case inputReplyToStory(userId: Api.InputUser, storyId: Int32)
case inputReplyToStory(peer: Api.InputPeer, storyId: Int32)
public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
switch self {
@ -21,11 +21,11 @@ public extension Api {
}}
if Int(flags) & Int(1 << 4) != 0 {serializeInt32(quoteOffset!, buffer: buffer, boxed: false)}
break
case .inputReplyToStory(let userId, let storyId):
case .inputReplyToStory(let peer, let storyId):
if boxed {
buffer.appendInt32(363917955)
buffer.appendInt32(1484862010)
}
userId.serialize(buffer, true)
peer.serialize(buffer, true)
serializeInt32(storyId, buffer: buffer, boxed: false)
break
}
@ -35,8 +35,8 @@ public extension Api {
switch self {
case .inputReplyToMessage(let flags, let replyToMsgId, let topMsgId, let replyToPeerId, let quoteText, let quoteEntities, let quoteOffset):
return ("inputReplyToMessage", [("flags", flags as Any), ("replyToMsgId", replyToMsgId as Any), ("topMsgId", topMsgId as Any), ("replyToPeerId", replyToPeerId as Any), ("quoteText", quoteText as Any), ("quoteEntities", quoteEntities as Any), ("quoteOffset", quoteOffset as Any)])
case .inputReplyToStory(let userId, let storyId):
return ("inputReplyToStory", [("userId", userId as Any), ("storyId", storyId as Any)])
case .inputReplyToStory(let peer, let storyId):
return ("inputReplyToStory", [("peer", peer as Any), ("storyId", storyId as Any)])
}
}
@ -74,16 +74,16 @@ public extension Api {
}
}
public static func parse_inputReplyToStory(_ reader: BufferReader) -> InputReplyTo? {
var _1: Api.InputUser?
var _1: Api.InputPeer?
if let signature = reader.readInt32() {
_1 = Api.parse(reader, signature: signature) as? Api.InputUser
_1 = Api.parse(reader, signature: signature) as? Api.InputPeer
}
var _2: Int32?
_2 = reader.readInt32()
let _c1 = _1 != nil
let _c2 = _2 != nil
if _c1 && _c2 {
return Api.InputReplyTo.inputReplyToStory(userId: _1!, storyId: _2!)
return Api.InputReplyTo.inputReplyToStory(peer: _1!, storyId: _2!)
}
else {
return nil

View File

@ -404,9 +404,9 @@ private func sendUploadedMessageContent(
}
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: threadId.flatMap(Int32.init(clamping:)), replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -426,9 +426,9 @@ private func sendUploadedMessageContent(
}
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: threadId.flatMap(Int32.init(clamping:)), replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -462,9 +462,9 @@ private func sendUploadedMessageContent(
}
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: threadId.flatMap(Int32.init(clamping:)), replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -477,9 +477,9 @@ private func sendUploadedMessageContent(
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
} else {
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: 0, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
@ -627,9 +627,9 @@ private func sendMessageContent(account: Account, peerId: PeerId, attributes: [M
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -645,9 +645,9 @@ private func sendMessageContent(account: Account, peerId: PeerId, attributes: [M
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}

View File

@ -987,9 +987,9 @@ public final class PendingMessageManager {
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: topMsgId, replyToPeerId: replyToPeerId, quoteText: quoteText, quoteEntities: quoteEntities, quoteOffset: quoteOffset)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -1279,9 +1279,9 @@ public final class PendingMessageManager {
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: message.threadId.flatMap(Int32.init(clamping:)), replyToPeerId: replyToPeerId, quoteText: quoteText, quoteEntities: quoteEntities, quoteOffset: quoteOffset)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -1344,9 +1344,9 @@ public final class PendingMessageManager {
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: message.threadId.flatMap(Int32.init(clamping:)), replyToPeerId: replyToPeerId, quoteText: quoteText, quoteEntities: quoteEntities, quoteOffset: quoteOffset)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -1423,9 +1423,9 @@ public final class PendingMessageManager {
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: message.threadId.flatMap(Int32.init(clamping:)), replyToPeerId: replyToPeerId, quoteText: quoteText, quoteEntities: quoteEntities, quoteOffset: quoteOffset)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
}
}
@ -1438,9 +1438,9 @@ public final class PendingMessageManager {
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: replyMessageId, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)
} else if let replyToStoryId = replyToStoryId {
if let inputUser = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputUser) {
if let inputPeer = transaction.getPeer(replyToStoryId.peerId).flatMap(apiInputPeer) {
flags |= 1 << 0
replyTo = .inputReplyToStory(userId: inputUser, storyId: replyToStoryId.id)
replyTo = .inputReplyToStory(peer: inputPeer, storyId: replyToStoryId.id)
} else {
let replyFlags: Int32 = 0
replyTo = .inputReplyToMessage(flags: replyFlags, replyToMsgId: 0, topMsgId: nil, replyToPeerId: nil, quoteText: nil, quoteEntities: nil, quoteOffset: nil)

View File

@ -43,7 +43,10 @@ public struct TelegramChatAdminRightsFlags: OptionSet, Hashable {
.canPinMessages,
.canManageCalls,
.canBeAnonymous,
.canAddAdmins
.canAddAdmins,
.canPostStories,
.canEditStories,
.canDeleteStories
]
public static let internal_broadcastSpecific: TelegramChatAdminRightsFlags = [