Action Message: Fix displaying new messages (#3113)
This commit is contained in:
parent
0d782c24e1
commit
894eb66e7e
@ -666,22 +666,13 @@ async function uploadMedia(localMessage: ApiMessage, attachment: ApiAttachment,
|
||||
export async function pinMessage({
|
||||
chat, messageId, isUnpin, isOneSide, isSilent,
|
||||
}: { chat: ApiChat; messageId: number; isUnpin: boolean; isOneSide?: boolean; isSilent?: boolean }) {
|
||||
const result = await invokeRequest(new GramJs.messages.UpdatePinnedMessage({
|
||||
await invokeRequest(new GramJs.messages.UpdatePinnedMessage({
|
||||
peer: buildInputPeer(chat.id, chat.accessHash),
|
||||
id: messageId,
|
||||
...(isUnpin && { unpin: true }),
|
||||
...(isOneSide && { pmOneside: true }),
|
||||
...(isSilent && { silent: true }),
|
||||
}), undefined, undefined, true);
|
||||
|
||||
if (!(result instanceof GramJs.Updates)) return;
|
||||
|
||||
// For some reason, Telegram returns UpdateMessageID when pinning a message with a randomId that is unknown to us,
|
||||
// which causes an 'updateMessage' update instead of 'newMessage'. We ignore this update.
|
||||
result.updates.forEach((update) => {
|
||||
if (update instanceof GramJs.UpdateMessageID) return;
|
||||
updater(update);
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
export async function unpinAllMessages({ chat, threadId }: { chat: ApiChat; threadId?: number }) {
|
||||
|
||||
@ -199,9 +199,10 @@ export function updater(update: Update) {
|
||||
message,
|
||||
});
|
||||
} else {
|
||||
// We don't have preview for action or 'via bot' messages, so `newMessage` update here is required
|
||||
const hasLocalCopy = sentMessageIds.has(message.id) && !message.viaBotId && !message.content.action;
|
||||
onUpdate({
|
||||
// We don't have preview for 'via bot' messages, so `newMessage` update here is required
|
||||
'@type': sentMessageIds.has(message.id) && !message.viaBotId ? 'updateMessage' : 'newMessage',
|
||||
'@type': hasLocalCopy ? 'updateMessage' : 'newMessage',
|
||||
id: message.id,
|
||||
chatId: message.chatId,
|
||||
message,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user