diff --git a/src/business/zulip/zulip.service.ts b/src/business/zulip/zulip.service.ts index 32faf11..2c6e6f2 100644 --- a/src/business/zulip/zulip.service.ts +++ b/src/business/zulip/zulip.service.ts @@ -116,6 +116,9 @@ export class ZulipService { private readonly configManager: IZulipConfigService, ) { this.logger.log('ZulipService初始化完成'); + + // 启动事件处理 + this.initializeEventProcessing(); } /** @@ -757,5 +760,42 @@ export class ZulipService { async getSocketsInMap(mapId: string): Promise { return this.sessionManager.getSocketsInMap(mapId); } + + /** + * 获取事件处理器实例 + * + * 功能描述: + * 返回ZulipEventProcessorService实例,用于设置消息分发器 + * + * @returns ZulipEventProcessorService 事件处理器实例 + */ + getEventProcessor(): ZulipEventProcessorService { + return this.eventProcessor; + } + + /** + * 初始化事件处理 + * + * 功能描述: + * 启动Zulip事件处理循环,用于接收和处理从Zulip服务器返回的消息 + * + * @private + */ + private async initializeEventProcessing(): Promise { + try { + this.logger.log('开始初始化Zulip事件处理'); + + // 启动事件处理循环 + await this.eventProcessor.startEventProcessing(); + + this.logger.log('Zulip事件处理初始化完成'); + } catch (error) { + const err = error as Error; + this.logger.error('初始化Zulip事件处理失败', { + operation: 'initializeEventProcessing', + error: err.message, + }, err.stack); + } + } }