public void OnChannelSub(object sender, OnChannelSubscriptionArgs e) { var message = $"Thank you for the sub, {e.Subscription.DisplayName}, it's appreciated!!"; Console.WriteLine(message); //new CommandAnnounce(client).Execute(message); }
internal void HandleSubscription(OnChannelSubscriptionArgs args) { Console.WriteLine(); Log.Information($"{args.Subscription.DisplayName}/{args.Subscription.RecipientDisplayName} has just subscribed!" + $" ({args.Subscription.Months} months, tier {args.Subscription.SubscriptionPlan})"); SubEffect se = new SubEffect(args.Subscription.Months != null? (int)args.Subscription.Months : 0, args.Subscription.SubscriptionPlan, args.Subscription.DisplayName); queue.EnqueueSubEffect(se); }
public void OnNewSubscriberEvent(OnChannelSubscriptionArgs args) { this.OnChannelSubscription?.Invoke(this, args); if (!this.events.ContainsKey(EventType.Subscription)) { return; } var tokenReplacements = new List <KeyValuePair <string, string> >(); // Username of subscriber or gifter if (string.IsNullOrWhiteSpace(args.Subscription.RecipientDisplayName)) { // Regular sub tokenReplacements.Add(new KeyValuePair <string, string>("{{user}}", args.Subscription.DisplayName)); } else { // gifted sub tokenReplacements.Add(new KeyValuePair <string, string>("{{user}}", args.Subscription.RecipientDisplayName)); } // Cumulative months count if (args.Subscription.CumulativeMonths.HasValue) { tokenReplacements.Add(new KeyValuePair <string, string>("{{month}}", args.Subscription.CumulativeMonths.Value.ToString())); } // Sub tier switch (args.Subscription.SubscriptionPlan) { case TwitchLib.PubSub.Enums.SubscriptionPlan.Prime: tokenReplacements.Add(new KeyValuePair <string, string>("{{tier}}", "Prime")); break; case TwitchLib.PubSub.Enums.SubscriptionPlan.Tier1: tokenReplacements.Add(new KeyValuePair <string, string>("{{tier}}", "Tier 1")); break; case TwitchLib.PubSub.Enums.SubscriptionPlan.Tier2: tokenReplacements.Add(new KeyValuePair <string, string>("{{tier}}", "Tier 2")); break; case TwitchLib.PubSub.Enums.SubscriptionPlan.Tier3: tokenReplacements.Add(new KeyValuePair <string, string>("{{tier}}", "Tier 3")); break; default: break; } foreach (var subEvent in this.events[EventType.Subscription]) { SendEventMessageInChat(subEvent, tokenReplacements); } }
private void PubSub_OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { if (e.Subscription.Months > 1) { chatbot.ManualMessage($"Thanks for {e.Subscription.Months} months of subscription {e.Subscription.Username}!!"); } else { chatbot.ManualMessage($"Thanks for the subscription {e.Subscription.Username}!"); } }
private void OnSub(object sender, OnChannelSubscriptionArgs e) { try { if (e.Subscription.Context == "subgift") { _logger.LogInformation( $"Gifted Sub! - {e.Subscription.RecipientName} - {e.Subscription.Months ?? 1} months, {e.Subscription.StreakMonths} in a row!"); _vipApiClient.GiveSubscriptionVips(new GiveSubscriptionVipsRequest { UserSubDetails = new List <UserSubDetail> { new UserSubDetail { Username = e.Subscription.RecipientName, SubscriptionTier = VipHelper.GetSubTier(e), TotalSubMonths = e.Subscription.Months ?? 1 } } }); // Gifted Sub! OnGiftSub(sender, e); } else { _logger.LogInformation( $"Subscription! - {e.Subscription.Username} - {e.Subscription.CumulativeMonths ?? 1} months, {e.Subscription.StreakMonths} in a row!"); _vipApiClient.GiveSubscriptionVips(new GiveSubscriptionVipsRequest { UserSubDetails = new List <UserSubDetail> { new UserSubDetail { Username = e.Subscription.Username, SubscriptionTier = VipHelper.GetSubTier(e), TotalSubMonths = e.Subscription.CumulativeMonths ?? 1 } } }); } } catch (Exception ex) { _logger.LogError(ex, "Error on Sub", new { e }); } }
private async void OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { if (e.Subscription.Context == "resub" && _config.TrackSubPoints && _currentSubs.Any(x => x.UserId == e.Subscription.UserId)) { return; } var oldScore = _currentPoints; switch (e.Subscription.SubscriptionPlan) { case SubscriptionPlan.Prime: case SubscriptionPlan.Tier1: _currentPoints++; break; case SubscriptionPlan.Tier2: _currentPoints += 2; break; case SubscriptionPlan.Tier3: _currentPoints += 6; break; } if (_config.VerboseSubPointsLogging) { Utils.LogToConsole($"New sub from {e.Subscription.Username}, tier: {e.Subscription.SubscriptionPlan} | " + $"Old count: {oldScore} | New count: {_currentPoints}"); } if (e.Subscription.Context == "sub") { await NewSubDieRollAsync(e.Subscription.DisplayName, e.Subscription.UserId); } if (e.Subscription.Context == "subgift") { await HandleGiftSubAsync(e.Subscription.DisplayName, e.Subscription.UserId); } }
private void OnGiftSub(object sender, OnChannelSubscriptionArgs e) { try { _logger.LogInformation($"Gifted Sub! {e.Subscription.RecipientName} has received a sub from {e.Subscription.Username}"); // Anonymous gift will be blank if (!string.IsNullOrWhiteSpace(e.Subscription.Username)) { // Half as thanks to the gifter _vipApiClient.GiveGiftSubBytes(new GiveGiftSubBytesRequest { Username = e.Subscription.Username }); } } catch (Exception ex) { _logger.LogError(ex, "Error OnGiftSub"); } }
public static SubscriptionTier GetSubTier(OnChannelSubscriptionArgs channelSubArgs) { switch (channelSubArgs.Subscription.SubscriptionPlan) { case SubscriptionPlan.Prime: return(SubscriptionTier.Prime); case SubscriptionPlan.Tier1: return(SubscriptionTier.Tier1); case SubscriptionPlan.Tier2: return(SubscriptionTier.Tier2); case SubscriptionPlan.Tier3: return(SubscriptionTier.Tier3); default: // assuming prime if no data return(SubscriptionTier.Prime); } }
private void PubSub_OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { var gifted = e.Subscription.IsGift ?? false; if (gifted) { _logger.Information($"{e.Subscription.DisplayName} gifted a subscription to {e.Subscription.RecipientName}"); } else { var cumulativeMonths = e.Subscription.CumulativeMonths ?? 0; if (cumulativeMonths != 0) { _logger.Information($"{e.Subscription.DisplayName} just subscribed (total of {cumulativeMonths} months)"); } else { _logger.Information($"{e.Subscription.DisplayName} just subscribed"); } } }
private static void onChannelSubscription(object sender, OnChannelSubscriptionArgs e) { MessageBox.Show($"Channel: {e.Subscription.ChannelName}\nSubscriber name: {e.Subscription.Username}\nTier: {e.Subscription.SubscriptionPlan}\nTier name: {e.Subscription.SubscriptionPlanName}\nSub message: {e.Subscription.SubMessage.Message}"); }
private void onSubscription(object sender, OnChannelSubscriptionArgs e) { throw new NotImplementedException(); }
/// <summary> /// Passes <see cref="OnChannelSubscription"/> events down to subscribed plugins. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">An <see cref="OnChannelSubscriptionArgs"/> object.</param> private void TwitchPubSub_OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) => OnChannelSubscription?.Invoke(this, e);
public static void TwitchPubSubOnOnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { _client.SendMessage("kungraseri", $"{e.Subscription.DisplayName} just subscribed with a {e.Subscription.SubscriptionPlanName} sub!"); }
private async Task OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { await BroadcastNewSubscriber(e.Subscription); }
private static async void OnChannelSubscription(object sender, OnChannelSubscriptionArgs e) { await _overlayHubContext.Clients.All.SendAsync("ReceiveNewSubscription", e.Subscription); }