import { saveCapture } from '../core/db.js'; import { notifyCapture } from '../bot/panel.js'; /** * Контекст передаётся в каждый хук модуля. Это единственная точка, через которую * модуль что-то делает: сохраняет перехват, уведомляет владельца, качает медиа. * Модуль не знает ни про grammY, ни про схему БД — только про этот интерфейс. */ export function createContext({ client, bot, me, registry }) { return { client, // MTProto-клиент (GramJS) me, // объект себя registry, /** * Сохраняет перехват в БД и уведомляет владельца. kind: 'deleted' | 'onetime'. * data: { chatId, senderId, sender, text, mediaKind, mediaPath } */ async capture(kind, data) { const id = saveCapture(kind, data); await notifyCapture(bot, { id, kind, ...data }); return id; }, }; }