Make extensions disposable
Created by: uwx
Summary
Allows client extensions to be disposable.
Details
I needed this to properly deal with a daemon thread. The implementation simply disposes all the extensions on a call to DiscordClient.Dispose()
.
Changes proposed
- Check and dispose DiscordClient extensions that implement IDisposable.
Notes
I haven't tested this PR, but I'm about to do so very soon. You can wait until I do if you want.