Архив: выбор чата в личке, отрицательные номера, стирание всего архива
- /archive в личке с ботом показывает список чатов с архивом (название и количество), дальше — листание и удаление - Номера сообщений могут быть отрицательными (история группы до перехода в супергруппу) — кнопки и /archive_del их понимают - /archive_del all — стереть весь архив чата с подтверждением; в личке первым аргументом ID чата - В callback_data кнопок передаётся ID чата, поэтому архив группы можно чистить из лички Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -29,7 +29,13 @@ export const createChatHistoryService = ({ messageRepository, historyLimit }: Ch
|
||||
const remove = (chatId: number, ranges: { from: number; to: number }[]): number =>
|
||||
ranges.reduce((sum, { from, to }) => sum + messageRepository.deleteRange(chatId, from, to), 0);
|
||||
|
||||
return { record, latest, latestByUser, find, stats, page, remove };
|
||||
/** Стереть весь архив чата. */
|
||||
const removeAll = (chatId: number): number => messageRepository.deleteByChat(chatId);
|
||||
|
||||
/** Чаты с архивом — для выбора в личке с ботом. */
|
||||
const chats = (): { chatId: number; count: number }[] => messageRepository.countsByChat();
|
||||
|
||||
return { record, latest, latestByUser, find, stats, page, remove, removeAll, chats };
|
||||
};
|
||||
|
||||
export type ChatHistoryService = ReturnType<typeof createChatHistoryService>;
|
||||
|
||||
Reference in New Issue
Block a user