Files
GLEGram-iOS/submodules/TelegramStringFormatting/Sources/PeerDisplayName.swift
T
Leeksov 4647310322 GLEGram 12.5 — Initial public release
Based on Swiftgram 12.5 (Telegram iOS 12.5).
All GLEGram features ported and organized in GLEGram/ folder.

Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass,
Font Replacement, Fake Profile, Chat Export, Plugin System, and more.

See CHANGELOG_12.5.md for full details.
2026-04-06 09:48:12 +03:00

39 lines
1.9 KiB
Swift

import Foundation
import TelegramPresentationData
import TelegramUIPreferences
import TelegramCore
public func stringForFullAuthorName(message: EngineMessage, strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, accountPeerId: EnginePeer.Id) -> [String] {
var authorString: [String] = []
if let author = message.author, [Namespaces.Peer.CloudGroup, Namespaces.Peer.CloudChannel].contains(message.id.peerId.namespace) {
var authorName = ""
if author.id == accountPeerId {
authorName = strings.DialogList_You
} else if author.isDeleted {
authorName = strings.User_DeletedAccount
} else {
authorName = author.displayTitle(strings: strings, displayOrder: nameDisplayOrder)
}
if let peer = message.peers[message.id.peerId].flatMap(EnginePeer.init), author.id != peer.id {
authorString = [authorName, peer.displayTitle(strings: strings, displayOrder: nameDisplayOrder)]
} else {
authorString = [authorName]
}
} else if let peer = message.peers[message.id.peerId].flatMap(EnginePeer.init) {
if message.id.peerId.namespace == Namespaces.Peer.CloudChannel {
authorString = [peer.displayTitle(strings: strings, displayOrder: nameDisplayOrder)]
} else {
if message.id.peerId == accountPeerId {
authorString = [strings.DialogList_SavedMessages]
} else if message.id.peerId.isAnonymousSavedMessages {
authorString = [strings.ChatList_AuthorHidden]
} else if message.flags.contains(.Incoming) {
authorString = [peer.displayTitle(strings: strings, displayOrder: nameDisplayOrder)]
} else {
authorString = [strings.DialogList_You, peer.displayTitle(strings: strings, displayOrder: nameDisplayOrder)]
}
}
}
return authorString
}