The chat log is a memory dump of the internal text table when it rolls off. It takes 1000 lines to roll off and only when this roll off occurs is the log dumped to the file. So, the log is not "live" and if you log off you lose everything in memory (they are not written out). So defeats the purpose of building an app around the logs.
Either way, I wrote an audio trigger app during beta (chatmon 2), that I currently only distro between my fc. Here is what I discovered about the chat line, which I will share here.
---
* delimited by 3 colons: STAMPCHANNEL:SENDER:TEXT
* sender can be empty
TIMESTAMP = first 8 hex characters (4 bytes) Filter = 9th byte Channel = 10th byte
51C4A21C0839::Player joins the party.
51C4A242000C: tell TO Player
51C4A6B5000D: tell from Player
51C4A23B000B: [02 27 05 01 01 01 01 03] Player [02 27 05 CF 01 01 01 03] :anyone got visual on goblin muggers and coords ?
51C686B7103E:: [02 27 05 01 01 01 01 03] Player [02 27 05 CF 01 01 01 03] successfully converts the [02 13 06 FE FF F3 F3 F3 03]decorated bone staff [02 13 02 EC 03] into an [02 13 06 FE FF F3 F3 F3 03] ice materia I [02 13 02 EC 03].
filter = where it was sourced from (other, party, system, etc), and channel is the type
### Known channels:
* 03 - motd / server announcements
* 0A - say
* 0B - shout
* 0C - outgoing tell
* 0D - incoming tell
* 0E - party
* 10 - linkshell
* 18 - Free company
* 1D - Emote
* 1E - Yell
* 29 - Incoming Damage
* 2A - Incoming Miss / No effect / Resist
* 2B - Player/Enemy finished using/casting ability
* 2C - Player uses food (or item?)
* 2D - -> Player recovers HP.
* 2E - Player loses/gains
* 2F - Player/Enemy suffers from
* 38 - Echo
* 39 - Notification EX: item equipped / instance has ended / area is no longer sealed / You have entered a sanctuary. // you sell an item // party leader registered for duty // item put in armory // loot list updated // joined party // quest accepted
* 3A - You/other defeats/is defeated
* 3C - Error EX: cannot change gear, cannot send tell in when in duty
* 3D - NPC Chat
* 3E - You/Other obtains/converts an item
* 40 - You/other gain exp/level
* 41 - You/Other rolls on an item
* 45 - Player has logged in/out
* A9 - Outgoing Damage
* AA - Outgoing Miss / No effect / Resist
* AB - Player/Enemy readies/casting ability
* AE - -> You/Other gain/lose the effect of .
* AF - -> You/Enemy suffers from
* BA - Player/Enemy defeated
### Tokens aka "garbage":
* byte 1 is the header [02]
* byte 2 is the type 0x27 = name 0x13 = color change. payload: [?? ?? RED GRN BLU 03] 0x2E = auto translate
* byte 3 is the size of the remaining payload, including terminator [03]
[02 27 05 01 01 01 01 03] name start [02 27 05 CF 01 01 01 03] name end [02 13 06 FE FF F3 F3 F3 03] item start (white) color = F3F3F3 [02 13 06 FE FF FA 89 B6 03] item start (purple) color = FA89B6 [02 13 02 EC 03] item end (reset)
[02 2E 05 09 F2 03 CE 03] translate: (Roegadyn) [02 2E 05 0A F2 05 10 03] translate: (/disappointed)
### Text is UTF-8 encoded:
[EE 80 BC] U+E03C - little materia symbol at end of "attaches" message [EE 81 AF] U+E06F - litte -> arrow next to battles stuff
p.s. i have no idea why reddit is messing up my formatting