hytale-says/src/core/module.ts
devilreef a7d4df6986 refactor: convert to modular system with Hytale update trackers
- Core infrastructure: module interface, Telegram wrapper, OAuth token manager, state store
- Migrate Discord forwarder to modules/discord-forwarder/
- Add Hytale update trackers: launcher, patches, downloader, server
- Support multiple Telegram chats with per-chat topic IDs
- Unified config with legacy migration and env var fallbacks
- Auto-refresh OAuth tokens (5min buffer)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-16 01:18:15 +06:00

23 lines
616 B
TypeScript

import type { StateStore } from './state-store.js'
import type { TelegramClient } from './telegram-client.js'
import type { TokenManager } from './token-manager.js'
export interface Module {
readonly name: string
start: () => Promise<void>
stop: () => Promise<void>
isRunning: () => boolean
}
export interface ModuleFactory {
(config: unknown, deps: ModuleDependencies): Module
}
export interface ModuleDependencies {
telegram: TelegramClient
tokenManager?: TokenManager
stateStore: StateStore
logger: Logger
}
export type Logger = (module: string, message: string, ...args: unknown[]) => void