these look through all discord channels bridged to the given channel
(including that channel itself) and search for messages matching
the given query. the delrecent command, after asking for confirmation,
will then delete all of those messages that it can across all the channels.
it is capable of deleting messages sent by our own webhooks even if
we don't have manage message permissions in the channel in question.
the user interface is not amazing but these are both extpriv-only and
only send any outputs in dms so this probably isn't very important.
ABR can now bridge to IRC, because of course.
It can also bridge Discord to Discord.
Bridging works transitively because I have a fairly elegant (if I do say so myself) way of handling it:
links are internally point-to-point, and when something is sent in a channel with links configured the bot traverses the graph of links to work out where to send to.
It is planned to expose a private websocket API to synchronize with other servers providing virtual channels.
This system is now used for telephone calls.
There may be issues in certain situations due to the lack of (meaningful) transaction support in aiosqlite.
The telephone command has been extended with (un)link commands, currently only for me as they can link anywhere.