Respect 'private_forward_name'
This commit is contained in:
parent
dd4a7ab617
commit
85423a9f76
@ -17,7 +17,7 @@ import { createPosterForVideo } from "../../helpers/files";
|
||||
import { copy, deepEqual, getObjectKeysAndSort } from "../../helpers/object";
|
||||
import { randomLong } from "../../helpers/random";
|
||||
import { splitStringByLength, limitSymbols, escapeRegExp } from "../../helpers/string";
|
||||
import { Chat, ChatFull, Dialog as MTDialog, DialogPeer, DocumentAttribute, InputMedia, InputMessage, InputPeerNotifySettings, InputSingleMedia, Message, MessageAction, MessageEntity, MessageFwdHeader, MessageMedia, MessageReplies, MessageReplyHeader, MessagesDialogs, MessagesFilter, MessagesMessages, MethodDeclMap, NotifyPeer, PeerNotifySettings, PhotoSize, SendMessageAction, Update, Photo, Updates, ReplyMarkup, InputPeer, InputPhoto, InputDocument, InputGeoPoint, WebPage, GeoPoint, ReportReason, MessagesGetDialogs, InputChannel, InputDialogPeer, ReactionCount, MessagePeerReaction, MessagesSearchCounter } from "../../layer";
|
||||
import { Chat, ChatFull, Dialog as MTDialog, DialogPeer, DocumentAttribute, InputMedia, InputMessage, InputPeerNotifySettings, InputSingleMedia, Message, MessageAction, MessageEntity, MessageFwdHeader, MessageMedia, MessageReplies, MessageReplyHeader, MessagesDialogs, MessagesFilter, MessagesMessages, MethodDeclMap, NotifyPeer, PeerNotifySettings, PhotoSize, SendMessageAction, Update, Photo, Updates, ReplyMarkup, InputPeer, InputPhoto, InputDocument, InputGeoPoint, WebPage, GeoPoint, ReportReason, MessagesGetDialogs, InputChannel, InputDialogPeer, ReactionCount, MessagePeerReaction, MessagesSearchCounter, Peer } from "../../layer";
|
||||
import { InvokeApiOptions } from "../../types";
|
||||
import I18n, { FormatterArguments, i18n, join, langPack, LangPackKey, UNSUPPORTED_LANG_PACK_KEY, _i18n } from "../langPack";
|
||||
import { logger, LogTypes } from "../logger";
|
||||
@ -1571,7 +1571,8 @@ export class AppMessagesManager {
|
||||
|
||||
private generateForwardHeader(peerId: PeerId, originalMessage: Message.message) {
|
||||
const myId = appUsersManager.getSelf().id.toPeerId();
|
||||
if(originalMessage.fromId === myId && originalMessage.peerId === myId && !originalMessage.fwd_from) {
|
||||
const fromId = originalMessage.fromId;
|
||||
if(fromId === myId && originalMessage.peerId === myId && !originalMessage.fwd_from) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1581,13 +1582,25 @@ export class AppMessagesManager {
|
||||
date: originalMessage.date
|
||||
};
|
||||
|
||||
let isUserHidden = false;
|
||||
if(originalMessage.fwd_from) {
|
||||
fwdHeader.from_id = originalMessage.fwd_from.from_id;
|
||||
fwdHeader.from_name = originalMessage.fwd_from.from_name;
|
||||
fwdHeader.post_author = originalMessage.fwd_from.post_author;
|
||||
} else {
|
||||
fwdHeader.from_id = appPeersManager.getOutputPeer(originalMessage.fromId);
|
||||
fwdHeader.post_author = originalMessage.post_author;
|
||||
|
||||
if(fromId.isUser()) {
|
||||
const userFull = appProfileManager.getCachedFullUser(fromId.toUserId());
|
||||
if(userFull?.private_forward_name) {
|
||||
fwdHeader.from_name = userFull.private_forward_name;
|
||||
isUserHidden = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isUserHidden) {
|
||||
fwdHeader.from_id = appPeersManager.getOutputPeer(fromId);
|
||||
}
|
||||
}
|
||||
|
||||
if(appPeersManager.isBroadcast(originalMessage.peerId)) {
|
||||
@ -1598,8 +1611,7 @@ export class AppMessagesManager {
|
||||
fwdHeader.channel_post = originalMessage.id;
|
||||
}
|
||||
|
||||
// * there is no way to detect whether user profile is hidden
|
||||
if(peerId === myId) {
|
||||
if(peerId === myId && !isUserHidden) {
|
||||
fwdHeader.saved_from_msg_id = originalMessage.id;
|
||||
fwdHeader.saved_from_peer = appPeersManager.getOutputPeer(originalMessage.peerId);
|
||||
}
|
||||
@ -1972,6 +1984,10 @@ export class AppMessagesManager {
|
||||
if(!options.dropAuthor) {
|
||||
message.fwd_from = this.generateForwardHeader(peerId, originalMessage);
|
||||
keys.push('views', 'forwards');
|
||||
|
||||
if(message.fwd_from.from_name) {
|
||||
message
|
||||
}
|
||||
}
|
||||
|
||||
if(!options.dropCaptions || !originalMessage.media) {
|
||||
|
Loading…
Reference in New Issue
Block a user