Skip to content

Releases: Kirollos/Oxide.Ext.Discord

Build 1.0.8

06 Feb 20:20
7143c3f
Compare
Choose a tag to compare
  • Group REST API buckets by bot instead of by plugin.
  • Rework REST API buckets and requests (Bucket is now properly determined by route and request respect rate limit header correctly)
  • GlobalRateLimit is removed since it didn't take bot into account and is now handled by BotGlobalRateLimit.
  • When the websocket is closed by discord with a close code a message will be displayed with a reason. This is usually the result of an error. If the error is not a reason the bot shouldn't reconnect the bot will reconnect.
  • When the websocket closes new reconnect logic has been implemented to try and reconnect. If the reconnect fails after 8 attempts reconnecting will be handled by the heartbeat.
  • Default Guild Roles, Members, Channels to an empty list. Possible fix for trying to FirstOrDefault before the guild has fully loaded and an event fired after the ready event and before the guild create event.
  • Split Send and Receive OpCodes into separate enums
  • Removed from logger. The way the new log messages are designed it's not really needed.
  • Added new log level "Verbose"
  • Fixed bug introduced in 1.0.7 causing the default log level to be debug instead of info.
  • Move Gateway URL into Gateway.cs and make it static so only needs to be retrieved once unless discord is having issues.
  • Moved all websocket events into separate methods. (Will help with debugging errors)
  • Try Catch around socket message handling as it appears that if there is an error it craps out the websocket until plugin reload..

Build 1.0.7

02 Jan 14:34
24f8eb5
Compare
Choose a tag to compare
  • Don't send EventData and Data to discord in RPayload.cs. Only used in the extension
  • Fixed Invalid Operation Exception in Request.cs -> FireRequest
  • Fixed NRE when there is an exception and httpResponse was null
  • Fixed Bot failing reconnect / resume sessions
  • Fixed Channels not being removed from the guild object during CHANNEL_DELETE EventData
  • Fixed Argument Null Exception when a GUILD_MEMBER_UPDATE event came in and the user didn't exist in the Guild Members.
  • Fixed possible NRE in USER_UPDATE
  • Fixed Hooks being called on separate threads. Uses Oxide NextTick now
  • Added a new custom logger to allow for greater control of log messages produced. This is controlled per plugin and has the following log levels (Debug, Info, Warning, Error, Exception, None).
  • Reworked REST API Request logic. Now cleaner and easier to read.
  • If a discord error is received it is now parsed and displayed as such
  • Don't create the DefaultSerializerSettings for every request
  • Fix timeouts while writing request data breaking bucket
  • Max of 3 attempts per request before it is closed
  • Bucket will now check if a request has timed out and reset it so it can attempt to fire it again
  • Rework Getting Gateway URL logic to be less error prone.
  • General cleanup around buckets & requests
  • Reset Retries to 0 when a web socket connects (Fixes issue where previous errors could cause the bot to think it should not reconnect)