// WingsEmu // // Developed by NosWings Team using DiscordNotifier.Formatting; using Plugin.PlayerLogs.Messages.Player; using WingsEmu.Game._playerActionLogs; namespace DiscordNotifier.Consumers.Chat { public class LogChatMessageMessageFormatter : IDiscordLogFormatter { public LogType LogType { get; private set; } public bool TryFormat(LogPlayerChatMessage message, out string formattedString) { LogType = message.ChatType switch { ChatType.General => LogType.CHAT_GENERAL, ChatType.HeroChat => LogType.CHAT_GENERAL, ChatType.SpeechBubble => LogType.CHAT_GENERAL, ChatType.Whisper => LogType.CHAT_WHISPERS, ChatType.FriendChat => LogType.CHAT_FRIENDS, ChatType.Shout => LogType.CHAT_SPEAKERS, ChatType.FamilyChat => LogType.CHAT_FAMILIES, ChatType.GroupChat => LogType.CHAT_GROUPS }; formattedString = $"[ChannelId: '{message.ChannelId.ToString()}']" + $"[ChatType: '{message.ChatType.ToString()}']" + $"[CharacterId: '{message.CharacterId.ToString()}'{(message.TargetCharacterId.HasValue ? $" -> TargetId: '{message.TargetCharacterId.Value.ToString()}'" : string.Empty)}]" + $" {message.Message}"; return true; } } }