The Matrix specification supports spoilers since version 1.1:
My favourite Matrix clients, FluffyChat and Nheko, support spoilers when the
spoiler is in the following format;
||Reason why this is a spoiler|Actually spoilered text.||
It can also be
in-line and a spoiler without reason is just ||spoiler goes here||
.
Element Web supports whole message spoilers through the /spoiler
command.
Other clients supporting formatting may have to enter the HTML directly e.g.:
<span data-mx-spoiler="REASON HERE">Spoilered text</span>
Some clients, like Nheko, have a /plain
command to disable formatting for that
message which allows sending this message in plain text to help someone else.
/plain <span data-mx-spoiler="REASON HERE">Spoilered text</span>
Spoilers are also supported by IRC, but not matrix-appservice-irc.