private async void PlayButton_Click(object sender, RoutedEventArgs e) { this.PlayButton.Visibility = Visibility.Collapsed; this.StopButton.Visibility = Visibility.Visible; this.EditButton.IsEnabled = false; this.DeleteButton.IsEnabled = false; this.EnableDisableToggleSwitch.IsEnabled = false; CommandBase command = this.GetCommandFromCommandButtons <CommandBase>(this); if (command != null) { await command.PerformAndWait(ChannelSession.GetCurrentUser(), new List <string>() { "@" + ChannelSession.GetCurrentUser().UserName }); if (command is PermissionsCommandBase) { PermissionsCommandBase permissionCommand = (PermissionsCommandBase)command; permissionCommand.ResetCooldown(ChannelSession.GetCurrentUser()); } this.SwitchToPlay(); } this.RaiseEvent(new RoutedEventArgs(CommandButtonsControl.PlayClickedEvent, this)); }
private async void PlayButton_Click(object sender, RoutedEventArgs e) { this.PlayButton.Visibility = Visibility.Collapsed; this.StopButton.Visibility = Visibility.Visible; this.EditButton.IsEnabled = false; this.DeleteButton.IsEnabled = false; this.EnableDisableToggleSwitch.IsEnabled = false; CommandBase command = this.GetCommandFromCommandButtons <CommandBase>(this); if (command != null) { UserViewModel currentUser = await ChannelSession.GetCurrentUser(); Dictionary <string, string> extraSpecialIdentifiers = new Dictionary <string, string>(); if (command is EventCommand) { EventCommand eventCommand = command as EventCommand; switch (eventCommand.EventType) { case Mixer.Base.Clients.ConstellationEventTypeEnum.channel__id__hosted: extraSpecialIdentifiers["hostviewercount"] = "123"; break; case Mixer.Base.Clients.ConstellationEventTypeEnum.channel__id__resubscribed: extraSpecialIdentifiers["usersubmonths"] = "5"; break; } switch (eventCommand.OtherEventType) { case OtherEventTypeEnum.GameWispSubscribed: case OtherEventTypeEnum.GameWispResubscribed: extraSpecialIdentifiers["subscribemonths"] = "999"; extraSpecialIdentifiers["subscribetier"] = "Test Tier"; extraSpecialIdentifiers["subscribeamount"] = "$12.34"; break; case OtherEventTypeEnum.StreamlabsDonation: case OtherEventTypeEnum.GawkBoxDonation: case OtherEventTypeEnum.TiltifyDonation: case OtherEventTypeEnum.ExtraLifeDonation: case OtherEventTypeEnum.TipeeeStreamDonation: case OtherEventTypeEnum.TreatStreamDonation: case OtherEventTypeEnum.StreamJarDonation: UserDonationModel donation = new UserDonationModel() { Amount = 12.34, Message = "Test donation message", ImageLink = currentUser.AvatarLink }; switch (eventCommand.OtherEventType) { case OtherEventTypeEnum.StreamlabsDonation: donation.Source = UserDonationSourceEnum.Streamlabs; break; case OtherEventTypeEnum.GawkBoxDonation: donation.Source = UserDonationSourceEnum.GawkBox; break; case OtherEventTypeEnum.TiltifyDonation: donation.Source = UserDonationSourceEnum.Tiltify; break; case OtherEventTypeEnum.ExtraLifeDonation: donation.Source = UserDonationSourceEnum.ExtraLife; break; case OtherEventTypeEnum.TipeeeStreamDonation: donation.Source = UserDonationSourceEnum.TipeeeStream; break; case OtherEventTypeEnum.TreatStreamDonation: donation.Source = UserDonationSourceEnum.TreatStream; break; case OtherEventTypeEnum.StreamJarDonation: donation.Source = UserDonationSourceEnum.StreamJar; break; } foreach (var kvp in donation.GetSpecialIdentifiers()) { extraSpecialIdentifiers[kvp.Key] = kvp.Value; } extraSpecialIdentifiers["donationtype"] = "Pizza"; break; case OtherEventTypeEnum.PatreonSubscribed: extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierNameSpecialIdentifier] = "Super Tier"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierAmountSpecialIdentifier] = "12.34"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierImageSpecialIdentifier] = "https://xforgeassets002.xboxlive.com/xuid-2535473787585366-public/b7a1d715-3a9e-4bdd-a030-32f9e2e0f51e/0013_lots-o-stars_256.png"; break; case OtherEventTypeEnum.TwitterStreamTweetRetweet: break; case OtherEventTypeEnum.MixerSkillUsed: extraSpecialIdentifiers["skillname"] = "Lots of stars"; extraSpecialIdentifiers["skilltype"] = EnumHelper.GetEnumName(SkillTypeEnum.Sticker); extraSpecialIdentifiers["skillcosttype"] = "Embers"; extraSpecialIdentifiers["skillcost"] = "50"; extraSpecialIdentifiers["skillimage"] = "https://xforgeassets002.xboxlive.com/xuid-2535473787585366-public/b7a1d715-3a9e-4bdd-a030-32f9e2e0f51e/0013_lots-o-stars_256.png"; extraSpecialIdentifiers["skillissparks"] = false.ToString(); extraSpecialIdentifiers["skillisembers"] = true.ToString(); extraSpecialIdentifiers["skillmessage"] = "Hello World!"; break; case OtherEventTypeEnum.MixerMilestoneReached: extraSpecialIdentifiers["milestoneamount"] = "100"; extraSpecialIdentifiers["milestoneremainingamount"] = "100"; extraSpecialIdentifiers["milestonereward"] = "$10.00"; extraSpecialIdentifiers["milestonenextamount"] = "100"; extraSpecialIdentifiers["milestonenextremainingamount"] = "100"; extraSpecialIdentifiers["milestonenextreward"] = "$10.00"; extraSpecialIdentifiers["milestonefinalamount"] = "100"; extraSpecialIdentifiers["milestonefinalremainingamount"] = "100"; extraSpecialIdentifiers["milestonefinalreward"] = "$10.00"; extraSpecialIdentifiers["milestoneearnedamount"] = "100"; extraSpecialIdentifiers["milestoneearnedreward"] = "$10.00"; break; case OtherEventTypeEnum.MixerSparksUsed: extraSpecialIdentifiers["sparkamount"] = "10"; break; case OtherEventTypeEnum.MixerEmbersUsed: extraSpecialIdentifiers["emberamount"] = "10"; break; } } else if (command is InteractiveCommand) { InteractiveCommand iCommand = (InteractiveCommand)command; extraSpecialIdentifiers["mixplaycontrolid"] = iCommand.Name; extraSpecialIdentifiers["mixplaycontrolcost"] = "123"; } else if (command is CustomCommand) { if (command.Name.Equals(InventoryWindow.ItemsBoughtCommandName) || command.Name.Equals(InventoryWindow.ItemsSoldCommandName)) { extraSpecialIdentifiers["itemtotal"] = "5"; extraSpecialIdentifiers["itemname"] = "Chocolate Bars"; extraSpecialIdentifiers["itemcost"] = "500"; extraSpecialIdentifiers["currencyname"] = "CURRENCY_NAME"; } } await command.PerformAndWait(currentUser, new List <string>() { "@" + currentUser.UserName }, extraSpecialIdentifiers); if (command is PermissionsCommandBase) { PermissionsCommandBase permissionCommand = (PermissionsCommandBase)command; permissionCommand.ResetCooldown(await ChannelSession.GetCurrentUser()); } this.SwitchToPlay(); } this.RaiseEvent(new RoutedEventArgs(CommandButtonsControl.PlayClickedEvent, this)); }
public static async Task TestCommand(CommandBase command) { if (command != null) { UserViewModel currentUser = ChannelSession.GetCurrentUser(); Dictionary <string, string> extraSpecialIdentifiers = new Dictionary <string, string>(); if (command is EventCommand) { EventCommand eventCommand = command as EventCommand; switch (eventCommand.EventCommandType) { case EventTypeEnum.TwitchChannelHosted: case EventTypeEnum.TwitchChannelRaided: extraSpecialIdentifiers["hostviewercount"] = "123"; extraSpecialIdentifiers["raidviewercount"] = "123"; break; case EventTypeEnum.TwitchChannelSubscribed: extraSpecialIdentifiers["message"] = "Test Message"; extraSpecialIdentifiers["usersubplanname"] = "Plan Name"; extraSpecialIdentifiers["usersubplan"] = "Tier 1"; break; case EventTypeEnum.TwitchChannelResubscribed: extraSpecialIdentifiers["message"] = "Test Message"; extraSpecialIdentifiers["usersubplanname"] = "Plan Name"; extraSpecialIdentifiers["usersubplan"] = "Tier 1"; extraSpecialIdentifiers["usersubmonths"] = "5"; extraSpecialIdentifiers["usersubstreak"] = "3"; break; case EventTypeEnum.TwitchChannelSubscriptionGifted: extraSpecialIdentifiers["usersubplanname"] = "Plan Name"; extraSpecialIdentifiers["usersubplan"] = "Tier 1"; extraSpecialIdentifiers["usersubmonthsgifted"] = "3"; extraSpecialIdentifiers["isanonymous"] = "false"; break; case EventTypeEnum.TwitchChannelMassSubscriptionsGifted: extraSpecialIdentifiers["subsgiftedamount"] = "5"; extraSpecialIdentifiers["subsgiftedlifetimeamount"] = "100"; extraSpecialIdentifiers["usersubplan"] = "Tier 1"; extraSpecialIdentifiers["isanonymous"] = "false"; break; case EventTypeEnum.TwitchChannelBitsCheered: extraSpecialIdentifiers["bitsamount"] = "10"; extraSpecialIdentifiers["Message"] = "Test Message"; break; case EventTypeEnum.TwitchChannelPointsRedeemed: extraSpecialIdentifiers["rewardname"] = "Test Reward"; extraSpecialIdentifiers["rewardcost"] = "100"; extraSpecialIdentifiers["message"] = "Test Message"; break; case EventTypeEnum.ChatUserTimeout: extraSpecialIdentifiers["timeoutlength"] = "5m"; break; case EventTypeEnum.StreamlabsDonation: case EventTypeEnum.TiltifyDonation: case EventTypeEnum.ExtraLifeDonation: case EventTypeEnum.TipeeeStreamDonation: case EventTypeEnum.TreatStreamDonation: case EventTypeEnum.StreamJarDonation: case EventTypeEnum.JustGivingDonation: case EventTypeEnum.StreamElementsDonation: UserDonationModel donation = new UserDonationModel() { Amount = 12.34, Message = "Test donation message", ImageLink = currentUser.AvatarLink }; switch (eventCommand.EventCommandType) { case EventTypeEnum.StreamlabsDonation: donation.Source = UserDonationSourceEnum.Streamlabs; break; case EventTypeEnum.TiltifyDonation: donation.Source = UserDonationSourceEnum.Tiltify; break; case EventTypeEnum.ExtraLifeDonation: donation.Source = UserDonationSourceEnum.ExtraLife; break; case EventTypeEnum.TipeeeStreamDonation: donation.Source = UserDonationSourceEnum.TipeeeStream; break; case EventTypeEnum.TreatStreamDonation: donation.Source = UserDonationSourceEnum.TreatStream; break; case EventTypeEnum.StreamJarDonation: donation.Source = UserDonationSourceEnum.StreamJar; break; case EventTypeEnum.JustGivingDonation: donation.Source = UserDonationSourceEnum.JustGiving; break; case EventTypeEnum.StreamElementsDonation: donation.Source = UserDonationSourceEnum.StreamElements; break; } foreach (var kvp in donation.GetSpecialIdentifiers()) { extraSpecialIdentifiers[kvp.Key] = kvp.Value; } extraSpecialIdentifiers["donationtype"] = "Pizza"; break; case EventTypeEnum.PatreonSubscribed: extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierNameSpecialIdentifier] = "Super Tier"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierAmountSpecialIdentifier] = "12.34"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierImageSpecialIdentifier] = "https://xforgeassets002.xboxlive.com/xuid-2535473787585366-public/b7a1d715-3a9e-4bdd-a030-32f9e2e0f51e/0013_lots-o-stars_256.png"; break; case EventTypeEnum.StreamlootsCardRedeemed: extraSpecialIdentifiers["streamlootscardname"] = "Test Card"; extraSpecialIdentifiers["streamlootscardimage"] = "https://res.cloudinary.com/streamloots/image/upload/f_auto,c_scale,w_250,q_90/static/e19c7bf6-ca3e-49a8-807e-b2e9a1a47524/en_dl_character.png"; extraSpecialIdentifiers["streamlootscardvideo"] = "https://cdn.streamloots.com/uploads/5c645b78666f31002f2979d1/3a6bf1dc-7d61-4f93-be0a-f5dc1d0d33b6.webm"; extraSpecialIdentifiers["streamlootscardsound"] = "https://static.streamloots.com/b355d1ef-d931-4c16-a48f-8bed0076401b/alerts/default.mp3"; extraSpecialIdentifiers["streamlootsmessage"] = "Test Message"; break; case EventTypeEnum.StreamlootsPackPurchased: case EventTypeEnum.StreamlootsPackGifted: extraSpecialIdentifiers["streamlootspurchasequantity"] = "1"; break; } } else if (command is CustomCommand) { if (command.Name.Equals(InventoryWindowViewModel.ItemsBoughtCommandName) || command.Name.Equals(InventoryWindowViewModel.ItemsSoldCommandName)) { extraSpecialIdentifiers["itemtotal"] = "5"; extraSpecialIdentifiers["itemname"] = "Chocolate Bars"; extraSpecialIdentifiers["itemcost"] = "500"; extraSpecialIdentifiers["currencyname"] = "CURRENCY_NAME"; } else if (command.Name.Contains("Moderation Strike")) { extraSpecialIdentifiers[ModerationService.ModerationReasonSpecialIdentifier] = "Bad Stuff"; } else if (command.Name.Equals(RedemptionStorePurchaseModel.ManualRedemptionNeededCommandName) || command.Name.Equals(RedemptionStorePurchaseModel.DefaultRedemptionCommandName)) { extraSpecialIdentifiers[RedemptionStoreProductModel.ProductNameSpecialIdentifier] = "Test Product"; } else { extraSpecialIdentifiers["queueposition"] = "1"; } } await command.PerformAndWait(currentUser, StreamingPlatformTypeEnum.None, new List <string>() { "@" + currentUser.Username }, extraSpecialIdentifiers); if (command is PermissionsCommandBase) { PermissionsCommandBase permissionCommand = (PermissionsCommandBase)command; permissionCommand.ResetCooldown(ChannelSession.GetCurrentUser()); } } }
private async void PlayButton_Click(object sender, RoutedEventArgs e) { this.PlayButton.Visibility = Visibility.Collapsed; this.StopButton.Visibility = Visibility.Visible; this.EditButton.IsEnabled = false; this.DeleteButton.IsEnabled = false; this.EnableDisableToggleSwitch.IsEnabled = false; CommandBase command = this.GetCommandFromCommandButtons <CommandBase>(this); if (command != null) { UserViewModel currentUser = await ChannelSession.GetCurrentUser(); Dictionary <string, string> extraSpecialIdentifiers = new Dictionary <string, string>(); if (command is EventCommand) { EventCommand eventCommand = command as EventCommand; switch (eventCommand.EventType) { case Mixer.Base.Clients.ConstellationEventTypeEnum.channel__id__hosted: extraSpecialIdentifiers["hostviewercount"] = "123"; break; case Mixer.Base.Clients.ConstellationEventTypeEnum.channel__id__resubscribed: extraSpecialIdentifiers["usersubmonths"] = "5"; break; case Mixer.Base.Clients.ConstellationEventTypeEnum.progression__id__levelup: extraSpecialIdentifiers["userfanprogressionnext"] = "200"; extraSpecialIdentifiers["userfanprogressionrank"] = "10"; extraSpecialIdentifiers["userfanprogressioncolor"] = "#c642ea"; extraSpecialIdentifiers["userfanprogressionimage"] = "https://static.mixer.com/img/design/ui/fan-progression/v1_badges/purple/large.gif"; extraSpecialIdentifiers["userfanprogression"] = "100"; break; } switch (eventCommand.OtherEventType) { case OtherEventTypeEnum.GameWispSubscribed: case OtherEventTypeEnum.GameWispResubscribed: extraSpecialIdentifiers["subscribemonths"] = "999"; extraSpecialIdentifiers["subscribetier"] = "Test Tier"; extraSpecialIdentifiers["subscribeamount"] = "$12.34"; break; case OtherEventTypeEnum.StreamlabsDonation: case OtherEventTypeEnum.GawkBoxDonation: case OtherEventTypeEnum.TiltifyDonation: case OtherEventTypeEnum.ExtraLifeDonation: case OtherEventTypeEnum.TipeeeStreamDonation: case OtherEventTypeEnum.TreatStreamDonation: case OtherEventTypeEnum.StreamJarDonation: UserDonationModel donation = new UserDonationModel() { Amount = 12.34, Message = "Test donation message", ImageLink = currentUser.AvatarLink }; switch (eventCommand.OtherEventType) { case OtherEventTypeEnum.StreamlabsDonation: donation.Source = UserDonationSourceEnum.Streamlabs; break; case OtherEventTypeEnum.GawkBoxDonation: donation.Source = UserDonationSourceEnum.GawkBox; break; case OtherEventTypeEnum.TiltifyDonation: donation.Source = UserDonationSourceEnum.Tiltify; break; case OtherEventTypeEnum.ExtraLifeDonation: donation.Source = UserDonationSourceEnum.ExtraLife; break; case OtherEventTypeEnum.TipeeeStreamDonation: donation.Source = UserDonationSourceEnum.TipeeeStream; break; case OtherEventTypeEnum.TreatStreamDonation: donation.Source = UserDonationSourceEnum.TreatStream; break; case OtherEventTypeEnum.StreamJarDonation: donation.Source = UserDonationSourceEnum.StreamJar; break; } foreach (var kvp in donation.GetSpecialIdentifiers()) { extraSpecialIdentifiers[kvp.Key] = kvp.Value; } extraSpecialIdentifiers["donationtype"] = "Pizza"; break; case OtherEventTypeEnum.PatreonSubscribed: extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierNameSpecialIdentifier] = "Super Tier"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierAmountSpecialIdentifier] = "12.34"; extraSpecialIdentifiers[SpecialIdentifierStringBuilder.PatreonTierImageSpecialIdentifier] = "https://xforgeassets002.xboxlive.com/xuid-2535473787585366-public/b7a1d715-3a9e-4bdd-a030-32f9e2e0f51e/0013_lots-o-stars_256.png"; break; case OtherEventTypeEnum.StreamlootsCardRedeemed: extraSpecialIdentifiers["streamlootscardname"] = "Test Card"; extraSpecialIdentifiers["streamlootscardimage"] = "https://res.cloudinary.com/streamloots/image/upload/f_auto,c_scale,w_250,q_90/static/e19c7bf6-ca3e-49a8-807e-b2e9a1a47524/en_dl_character.png"; extraSpecialIdentifiers["streamlootscardvideo"] = "https://cdn.streamloots.com/uploads/5c645b78666f31002f2979d1/3a6bf1dc-7d61-4f93-be0a-f5dc1d0d33b6.webm"; extraSpecialIdentifiers["streamlootscardsound"] = "https://static.streamloots.com/b355d1ef-d931-4c16-a48f-8bed0076401b/alerts/default.mp3"; extraSpecialIdentifiers["streamlootsmessage"] = "Test Message"; break; case OtherEventTypeEnum.StreamlootsPackPurchased: case OtherEventTypeEnum.StreamlootsPackGifted: extraSpecialIdentifiers["streamlootspurchasequantity"] = "1"; break; case OtherEventTypeEnum.TwitterStreamTweetRetweet: break; case OtherEventTypeEnum.MixerSkillUsed: extraSpecialIdentifiers["skillname"] = "Lots of stars"; extraSpecialIdentifiers["skilltype"] = EnumHelper.GetEnumName(SkillTypeEnum.Sticker); extraSpecialIdentifiers["skillcosttype"] = "Embers"; extraSpecialIdentifiers["skillcost"] = "50"; extraSpecialIdentifiers["skillimage"] = "https://xforgeassets002.xboxlive.com/xuid-2535473787585366-public/b7a1d715-3a9e-4bdd-a030-32f9e2e0f51e/0013_lots-o-stars_256.png"; extraSpecialIdentifiers["skillissparks"] = false.ToString(); extraSpecialIdentifiers["skillisembers"] = true.ToString(); extraSpecialIdentifiers["skillmessage"] = "Hello World!"; break; case OtherEventTypeEnum.MixerMilestoneReached: extraSpecialIdentifiers["milestoneamount"] = "100"; extraSpecialIdentifiers["milestoneremainingamount"] = "100"; extraSpecialIdentifiers["milestonereward"] = "$10.00"; extraSpecialIdentifiers["milestonenextamount"] = "100"; extraSpecialIdentifiers["milestonenextremainingamount"] = "100"; extraSpecialIdentifiers["milestonenextreward"] = "$10.00"; extraSpecialIdentifiers["milestonefinalamount"] = "100"; extraSpecialIdentifiers["milestonefinalremainingamount"] = "100"; extraSpecialIdentifiers["milestonefinalreward"] = "$10.00"; extraSpecialIdentifiers["milestoneearnedamount"] = "100"; extraSpecialIdentifiers["milestoneearnedreward"] = "$10.00"; break; case OtherEventTypeEnum.MixerSparksUsed: extraSpecialIdentifiers["sparkamount"] = "10"; break; case OtherEventTypeEnum.MixerEmbersUsed: extraSpecialIdentifiers["emberamount"] = "10"; break; } } else if (command is InteractiveCommand) { InteractiveCommand iCommand = (InteractiveCommand)command; extraSpecialIdentifiers["mixplaycontrolid"] = iCommand.Name; extraSpecialIdentifiers["mixplaycontrolcost"] = "123"; extraSpecialIdentifiers["mixplaycontroltext"] = "Button Name"; } else if (command is CustomCommand) { if (command.Name.Equals(InventoryWindow.ItemsBoughtCommandName) || command.Name.Equals(InventoryWindow.ItemsSoldCommandName)) { extraSpecialIdentifiers["itemtotal"] = "5"; extraSpecialIdentifiers["itemname"] = "Chocolate Bars"; extraSpecialIdentifiers["itemcost"] = "500"; extraSpecialIdentifiers["currencyname"] = "CURRENCY_NAME"; } else if (command.Name.Contains("Moderation Strike")) { extraSpecialIdentifiers[ModerationHelper.ModerationReasonSpecialIdentifier] = "Bad Stuff"; } else { extraSpecialIdentifiers["songtitle"] = "Test Song"; extraSpecialIdentifiers["songalbumart"] = SpotifySongRequestProviderService.SpotifyDefaultAlbumArt; extraSpecialIdentifiers["songusername"] = currentUser.UserName; extraSpecialIdentifiers["spotifysongtitle"] = "Test Song"; extraSpecialIdentifiers["spotifysongalbumart"] = SpotifySongRequestProviderService.SpotifyDefaultAlbumArt; extraSpecialIdentifiers["queueposition"] = "1"; } } await command.PerformAndWait(currentUser, new List <string>() { "@" + currentUser.UserName }, extraSpecialIdentifiers); if (command is PermissionsCommandBase) { PermissionsCommandBase permissionCommand = (PermissionsCommandBase)command; permissionCommand.ResetCooldown(await ChannelSession.GetCurrentUser()); } this.SwitchToPlay(); } this.RaiseEvent(new RoutedEventArgs(CommandButtonsControl.PlayClickedEvent, this)); }