Chat event & service callback improvements
This commit is contained in:
@ -7,22 +7,18 @@ import CharacterRepository from '@/repositories/characterRepository'
|
||||
import MapRepository from '@/repositories/mapRepository'
|
||||
|
||||
class ChatService extends BaseService {
|
||||
async sendMapMessage(characterId: UUID, mapId: UUID, message: string): Promise<boolean> {
|
||||
async sendMapMessage(characterId: UUID, message: string): Promise<boolean> {
|
||||
try {
|
||||
const characterRepository = new CharacterRepository()
|
||||
const mapRepository = new MapRepository()
|
||||
|
||||
const character = await characterRepository.getById(characterId)
|
||||
if (!character) return false
|
||||
|
||||
const map = await mapRepository.getById(mapId)
|
||||
if (!map) return false
|
||||
|
||||
const chat = new Chat()
|
||||
await chat.setCharacter(character).setMap(map).setMessage(message).save()
|
||||
await chat.setCharacter(character).setMap(character.map).setMessage(message).save()
|
||||
|
||||
const io = SocketManager.getIO()
|
||||
io.to(mapId).emit(SocketEvent.CHAT_MESSAGE, chat)
|
||||
io.to(character.map.id).emit(SocketEvent.CHAT_MESSAGE, { character: character.getName(), message: message })
|
||||
return true
|
||||
} catch (error: any) {
|
||||
this.logger.error(`Failed to save chat message: ${error instanceof Error ? error.message : String(error)}`)
|
||||
|
Reference in New Issue
Block a user