If the discord open graph stuff has a cached preview it'll pass it along on the
initial MessageCreate message. However, if it doesn't, it'll later send a
MessageUpdate with the new embed and a message that doesn't have an author set
as it's coming from the server.
It doesn't make sense to create a matrix room for an edit/redaction/reaction
if we don't have the original message. Also we can't as we don't always have
all of the information. So now we don't try to create the room unless it's a
message being created.
This isn't exactly the same as the puppet bridge, basically it removes the
puppetID from the url and just works against the logged in user.
There is a known errata right now where some times all channels aren't left
when unbridging a guild. I figured it's more important to get some more testing
on this while I try to figure that out in the mean time.
Also when you call /guilds/:guildID/joinentire, it joins each channel serially.
I tried to make this concurrent but I maxed out the rate limit. We can do this
in the future, but again, rather get this into everyone's hands sooner rather
than later. I also did the same thing with unbridge and had to revert for the
same reasons.
Refs #8
This was caused by some early attempts at not replaying messages. That was
fixed by tracking messages explicitly but these early returns with no logging
were never removed.
Fixes#23
This commit also points to my fork of discordgo which makes it look like the
official client which is the only way to get the actually contents of a dm
when not authorized as a bot.
* The bot now properly joins the management room
* The management room is persisted in the database
* Welcome/help messages are sent in the management room