G5QWNM5KIWQPIT4MGOC5SBUWEIIVZS67YPIH3U5TUASHASABE2CQC module chatpub enum System {ircmatrix}pub struct Say {pub:system Systemroom stringmessage string}pub fn say(out chan Say, chat System, room string, message string) {system := match chat {.irc {System.irc}.matrix {System.matrix}}msg := Say{system: systemroom: roommessage: message}out <- msg}