I don't have the logs anymore unfortunately, but I witnessed a
(seemingly?) rare nil dereference _within discordgo's event handling
code_ after Disconnect on the client was called (caused by SIGINT). My
thinking is that this caused the Session to get garbage collected, so
the method receiver became nil out from under it.
To let discordgo clean up after itself, keep a reference to it in the
client.
* Created a separate discordid package to avoid import cycles.
* Implemented attachment bridging. We still need to implement direct
media, but this will do for now.
* Corrected how encrypted files (e.g. embed images and attachments) were
bridged. Previously, the URL field would be empty.
Still a lot of missing pieces. Thoughts:
* Mentions to roles and custom emoji are not rendered properly. We need
to maintain our own DB.
* We might not need the "attachments" leaf package anymore? It's just
there to avoid an import cycle.
Bridging actual events (i.e. wiring up discordgo's event handlers) is
probably next.