Сохранять userStates в SQLite вместо in-memory Map #59
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
src/context/userStates.jsиспользуетnew Map()— все состояния теряются при рестарте. Нет TTL, нет лимита размера → утечка памяти.Решение
user_statesв SQLite (user_id, state_key, state_data, updated_at)src/services/stateService.jsс методами get/set/deleteПриоритет: СРЕДНИЙ
✅ Реализовано
user_statesв SQLite (chat_id PK, state_data JSON, updated_at)src/services/stateService.jsс методами get/set/delete/hassrc/context/userStates.jsawaitк 45 вызовам userStates.get/set/delete/has в 13 файлахawait initStates()в index.js при стартеКоммит:
a04e60d