Edited messages work just like the official clients, where the original message changes and has (edited) appended. Unfurled urls dont generate a new message, but replace the original with more info as it is received. Regex message editing (s/oldtext/newtext/) ...
I haven't written out a long example for this, but here's the test case you should be able to discern the meaning from: bool ToLowerReader(const std::string &name, const std::string &value, std::string &destination) { destination = value; std::transform(destination.begin(), destinatio...
There are also some special messages you can send: Modify previous message using regex: s/old text/new text/ Modify 3rd previous message using regex: 3s/old text/new text/ The regex also supports the flags g for replacing all instances, i for ignoring case, m for making ^ and $ mat...