forked from datawhale/whale-town-end
范围:src/business/chat/ - 实现 ChatService 聊天业务服务(登录/登出/消息发送/位置更新) - 实现 ChatSessionService 会话管理服务(会话创建/销毁/上下文注入) - 实现 ChatFilterService 消息过滤服务(频率限制/敏感词/权限验证) - 实现 ChatCleanupService 会话清理服务(定时清理过期会话) - 添加完整的单元测试覆盖 - 添加模块 README 文档
4.9 KiB
4.9 KiB
Chat 聊天业务模块
Chat 模块是游戏服务器的核心聊天业务层,负责实现游戏内实时聊天功能,包括玩家会话管理、消息过滤、位置追踪和 Zulip 异步同步。该模块通过 SESSION_QUERY_SERVICE 接口向其他业务模块提供会话查询能力。
对外提供的接口
ChatService
handlePlayerLogin(request: PlayerLoginRequest): Promise
处理玩家登录,验证 Token 并创建游戏会话。
handlePlayerLogout(socketId: string, reason?: string): Promise
处理玩家登出,清理会话和相关资源。
sendChatMessage(request: ChatMessageRequest): Promise
发送聊天消息,包含内容过滤、实时广播和 Zulip 异步同步。
updatePlayerPosition(request: PositionUpdateRequest): Promise
更新玩家在游戏地图中的位置。