using System; using franz; using TwitchEventSub; using TwitchEventSub.Types; using Conditions = TwitchEventSub.Types.Conditions; using TwitchEventSub.Types.EventSubSubscription; using Newtonsoft.Json; public class SilverMeddlistsSpecific { public Receiver Httpd { get; } public Telefranz Tf { get; } private const string silverMeddlistsBroadcasterID = "598251923"; public SilverMeddlistsSpecific(Receiver httpd, Telefranz tf, string clientId) { Httpd = httpd; Tf = tf; var targetSilverMeddlistsChannel = new Conditions.TargetChannel(){broadcaster_user_id = silverMeddlistsBroadcasterID}; var targetCustomChannelPointsReward = new Conditions.TargetCustomChannelPointsReward(){}; var targetSelf = new Conditions.TargetSelf(){client_id = clientId}; Httpd.Subscribe(SubscribableTypes.channel_ban, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_channel_points_custom_reward_add, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_channel_points_custom_reward_redemption_add, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_channel_points_custom_reward_redemption_update, targetCustomChannelPointsReward, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_channel_points_custom_reward_remove, targetCustomChannelPointsReward, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_channel_points_custom_reward_update, targetCustomChannelPointsReward, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_cheer, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_follow, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_goal_begin, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_goal_end, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_goal_progress, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_hype_train_begin, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_hype_train_end, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_hype_train_progress, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_moderator_add, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_moderator_remove, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_poll_begin, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_poll_end, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_poll_progress, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_prediction_begin, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_prediction_end, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_prediction_lock, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_prediction_progress, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_raid, new Conditions.ChannelRaid() { to_broadcaster_user_id = silverMeddlistsBroadcasterID}, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_subscribe, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_subscription_end, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_subscription_gift, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_subscription_message, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_unban, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.channel_update, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.drop_entitlement_grant, new Conditions.DropEntitlementGrant(), defaultEvent); Httpd.Subscribe(SubscribableTypes.extension_bits_transaction_create, new Conditions.TargetExtension(), defaultEvent); Httpd.Subscribe(SubscribableTypes.stream_offline, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.stream_online, targetSilverMeddlistsChannel, defaultEvent); Httpd.Subscribe(SubscribableTypes.user_authorization_grant, targetSelf, defaultEvent); Httpd.Subscribe(SubscribableTypes.user_authorization_revoke, targetSelf, defaultEvent); Httpd.Subscribe(SubscribableTypes.user_update, targetSilverMeddlistsChannel, defaultEvent); } private void defaultEvent(Twitchogram twitchogram) { Console.WriteLine(JsonConvert.SerializeObject(twitchogram)); } }