- none
- now extends
IDisposable
event EventHandler<OnReconnectedEventArgs> OnReconnected;
- to
event EventHandler<OnConnectedEventArgs> OnReconnected;
- now the
event
handlers argument isOnConnectedEventArgs
instead ofOnReconnectedEventArgs
- the specific
event
handler itself, determines wether the args are in context of connect or reconnect
- to
IClient.Send(string message)
is now synchronized becauseThrottlerService
got removed- https://learn.microsoft.com/en-us/dotnet/api/system.net.sockets.networkstream?view=netstandard-2.0#remarks
- none
- see also: https://discuss.dev.twitch.tv/t/deprecation-of-chat-commands-through-irc/40486
bool SendWhisper(string message);
void WhisperThrottled(OnWhisperThrottledEventArgs eventArgs);
event EventHandler<OnDataEventArgs> OnData;
- as far as i got it right,
- binary data is not received
- it has never ever been used/raised
- as far as i got it right,
event EventHandler<OnMessageThrottledEventArgs> OnMessageThrottled;
- because
ThrottlerService
is now part ofTwitchLib.Client
- because
event EventHandler<OnStateChangedEventArgs> OnStateChanged;
- neither used by
TwitchLib.Client
nor byTwitchLib.PubSub
- neither used by
value
s for properties can only be passed byctor
ctor
also takes an argument forReconnectionPolicy
- by leaving it
null
, adefault
ReconnectionPolicy
is created, that attempts to reconnect every 3_000 milliseconds for ten times
- by leaving it
DisconnectWait
became an unsigned integer (uint
), to ensure only positive values are used for it
- see also: https://discuss.dev.twitch.tv/t/deprecation-of-chat-commands-through-irc/40486
TimeSpan WhisperThrottlingPeriod { get; set; }
int WhispersAllowedInPeriod { get; set; }
int WhisperQueueCapacity { get; set; }
- the following properties went to
TwitchLib.Client.Models.SendOptions
int SendQueueCapacity { get; set; }
TimeSpan SendCacheItemTimeout { get; set; }
ushort SendDelay { get; set; }
TimeSpan ThrottlingPeriod { get; set; }
int MessagesAllowedInPeriod { get; set; }
- now the
ConnectionWatchDog
enforces reconnect according to theReconnectionPolicy
ConnectionWatchDog
does not sendPING :tmi.twitch.tv
-messages anymoreTwitchLib.Client
receivesPING :tmi.twitch.tv
-messages and has to reply withPONG :tmi.twitch.tv
- https://dev.twitch.tv/docs/irc/#keepalive-messages
TwitchLib.Client
does so- it handles received PING-messages
TwitchLib.PubSub
has to sendPING :tmi.twitch.tv
within at least every five minutes- https://dev.twitch.tv/docs/pubsub/#connection-management
TwitchLib.PubSub
does so- it has its own PING- and PONG-Timer
TwitchLib.Communication.IClient
doesnt throttle messages anymoreTwitchLib.PubSub
does not need it- only
TwitchLib.Client
needs it- so, throttling went to
TwitchLib.Client.Services.ThrottlerService
in combination withTwitchLib.Client.Services.Throttler
- so, throttling went to
- everything related to throttling got removed
TwitchLib.Communication.Events.OnMessageThrottledEventArgs
TwitchLib.Communication.Interfaces.IClientOptions
- see also ClientOptions.Moved
int SendQueueCapacity { get; set; }
TimeSpan SendCacheItemTimeout { get; set; }
ushort SendDelay { get; set; }
TimeSpan ThrottlingPeriod { get; set; }
int MessagesAllowedInPeriod { get; set; }
- removed
- neither used by
TwitchLib.Client
nor byTwitchLib.PubSub