private void FireAnEventBasedOnUserNoticeType(IrcMessage message) { if (message.Tags.TryGetValue("msg-id", out string userNoticeType)) { switch (userNoticeType) { case "sub": var subscription = new TwitchSubscription(message); OnUserSubscribed(subscription); break; case "resub": var resubscription = new TwitchSubscription(message); OnUserResubscribed(resubscription); break; case "subgift": var subscriptionGift = new TwitchSubscriptionGift(message); OnSubscriptionGifted(subscriptionGift); break; case "raid": var channelRaid = new TwitchChannelRaid(message); OnChannelRaided(channelRaid); break; case "ritual": var channelRitual = new TwitchChannelRitual(message); OnChannelRitualPerformed(channelRitual); break; } } }
protected virtual void OnSubscriptionGifted(TwitchSubscriptionGift subscriptionGift) { SubscriptionGifted?.Invoke(this, new SubscriptionGiftedEventArgs(subscriptionGift)); }
public SubscriptionGiftedEventArgs(TwitchSubscriptionGift subscriptionGift) { SubscriptionGift = subscriptionGift; }