goshuirc / bnc

a simple irc bouncer written in go
https://goshubnc.org/
MIT License
17 stars 3 forks source link

Track ISUPPORT changes after connection and if we get sent them, switch to proper ISUPPORT token tracking #29

Open DanielOaks opened 7 years ago

DanielOaks commented 7 years ago

For most servers/networks we can just plainly, and easily, store+playback the original 005 lines. If we get updated 005 lines (such as Unreal does when someone opers), we should switch to a proper ISUPPORT tracker that tracks those updated tokens and sends out entirely new ISUPPORT lines.

Maybe we could even just store lines ourselves, but when we see ISUPPORT go across the wire then parse both and update them appropriately, that'd work as well without requiring the overhead of storing them all in-time forever.

DanielOaks commented 7 years ago

We also now support ading custom isupport tokens. TODO: QoL fix by/for me, try to output those in roughly the right location (along with the existing 005 notices) unless there isn't any advertised 005 messages by the server.