cletus/bot/memory/events.js
roberts 2a9f9159bd
All checks were successful
Deploy Cletus Bot / deploy (push) Successful in 26s
Massive Overhaul. Added state machine.
2025-05-10 12:24:59 -05:00

31 lines
No EOL
886 B
JavaScript

// memory/events.js
const { saveMemory, getMemory, listMemory } = require('./index');
function logEvent(db, type, data) {
const label = `event:${type}`;
getMemory(db, label, (err, existing) => {
const events = Array.isArray(existing) ? existing : [];
events.push({ ...data, timestamp: Date.now() });
const trimmed = events.slice(-50); // Keep last 50 events per type
saveMemory(db, label, trimmed);
});
}
function getRecentEvents(db, type, callback) {
const label = `event:${type}`;
getMemory(db, label, callback);
}
function listEventTypes(db, callback) {
listMemory(db, (err, entries) => {
if (err) return callback(err, []);
const types = entries
.filter(e => e.label.startsWith('event:'))
.map(e => e.label.replace('event:', ''));
callback(null, types);
});
}
module.exports = { logEvent, getRecentEvents, listEventTypes };