Files
arestools/src/userbot/context.js
T

26 lines
1.0 KiB
JavaScript
Raw Normal View History

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;
},
};
}