예제 #1
0
 public TwitchStreamStatus(IrcClient irc, TwitchInfoService twitchInfo, string broadcasterName)
 {
     _irc               = irc;
     _twitchInfo        = twitchInfo;
     _broadcasterName   = broadcasterName;
     _checkStreamStatus = new Thread(new ThreadStart(this.Run));
 }
예제 #2
0
 public TwitchBotApplication(Configuration appConfig, TwitchInfoService twitchInfo, SongRequestBlacklistService songRequestBlacklist,
                             FollowerService follower, BankService bank, FollowerSubscriberListener followerListener, ManualSongRequestService manualSongRequest, PartyUpService partyUp,
                             GameDirectoryService gameDirectory, QuoteService quote, BankHeist bankHeist, TwitchChatterListener twitchChatterListener, IrcClient irc,
                             BossFight bossFight, SongRequestSettingService songRequestSetting, InGameUsernameService ign, LibVLCSharpPlayer libVLCSharpPlayer)
 {
     _appConfig    = appConfig;
     _botConfig    = appConfig.GetSection("TwitchBotConfig") as TwitchBotConfigurationSection;
     _greetedUsers = new List <string>();
     _twitchInfo   = twitchInfo;
     _follower     = follower;
     _followerSubscriberListener = followerListener;
     _bank = bank;
     _songRequestBlacklist = songRequestBlacklist;
     _manualSongRequest    = manualSongRequest;
     _gameDirectory        = gameDirectory;
     _quote                 = quote;
     _bankHeist             = bankHeist;
     _twitchChatterListener = twitchChatterListener;
     _bossFight             = bossFight;
     _songRequestSetting    = songRequestSetting;
     _ign = ign;
     _libVLCSharpPlayer = libVLCSharpPlayer;
     _irc     = irc;
     _partyUp = partyUp;
 }
예제 #3
0
 // Empty constructor makes instance of Thread
 public FollowerSubscriberListener(TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo, FollowerService follower, BankService bank)
 {
     _botConfig        = botConfig;
     _followerListener = new Thread(new ThreadStart(this.Run));
     _twitchInfo       = twitchInfo;
     _follower         = follower;
     _bank             = bank;
 }
예제 #4
0
 public ChatReminder(IrcClient irc, int broadcasterId, string twitchBotApiLink, TwitchInfoService twitchInfo, GameDirectoryService gameDirectory)
 {
     _irc                      = irc;
     _broadcasterId            = broadcasterId;
     _twitchBotApiLink         = twitchBotApiLink;
     _twitchInfo               = twitchInfo;
     _gameDirectory            = gameDirectory;
     _lastSecCountdownReminder = -10;
     _refreshReminders         = false;
     _chatReminderThread       = new Thread(new ThreadStart(this.Run));
 }
예제 #5
0
 public CmdBrdCstr(IrcClient irc, TwitchBotConfigurationSection botConfig, int broadcasterId,
                   System.Configuration.Configuration appConfig, SongRequestBlacklistService songRequest, TwitchInfoService twitchInfo,
                   GameDirectoryService gameDirectory)
 {
     _irc           = irc;
     _botConfig     = botConfig;
     _broadcasterId = broadcasterId;
     _appConfig     = appConfig;
     _songRequest   = songRequest;
     _twitchInfo    = twitchInfo;
     _gameDirectory = gameDirectory;
 }
예제 #6
0
 public InGameNameFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo,
                          GameDirectoryService gameDirectory, InGameUsernameService ign) : base(irc, botConfig)
 {
     _twitchInfo    = twitchInfo;
     _gameDirectory = gameDirectory;
     _ign           = ign;
     _rolePermissions.Add("!setgameign", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!setgameid", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!setgamefc", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!setgenericign", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!setgenericid", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!setgenericfc", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!deleteign", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!deleteid", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!deletefc", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!ign", new CommandPermission {
         General = ChatterType.Viewer
     });                                                                                   // Display the broadcaster's in-game (user) name based on what they're streaming
     _rolePermissions.Add("!fc", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!gt", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!allign", new CommandPermission {
         General = ChatterType.Viewer
     });                                                                                      // Display all of the broadcaster's in-game (user) names
     _rolePermissions.Add("!allfc", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!allgt", new CommandPermission {
         General = ChatterType.Viewer
     });
 }
예제 #7
0
 public CmdBrdCstr(IrcClient irc, TwitchBotConfigurationSection botConfig, System.Configuration.Configuration appConfig,
                   SongRequestBlacklistService songRequest, TwitchInfoService twitchInfo, GameDirectoryService gameDirectory,
                   SongRequestSettingService songRequestSetting, InGameUsernameService ign, LibVLCSharpPlayer libVLCSharpPlayer)
 {
     _irc                = irc;
     _botConfig          = botConfig;
     _appConfig          = appConfig;
     _songRequest        = songRequest;
     _twitchInfo         = twitchInfo;
     _gameDirectory      = gameDirectory;
     _songRequestSetting = songRequestSetting;
     _ign                = ign;
     _libVLCSharpPlayer  = libVLCSharpPlayer;
 }
예제 #8
0
 public RefreshFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo, GameDirectoryService gameDirectory)
     : base(irc, botConfig)
 {
     _twitchInfo    = twitchInfo;
     _gameDirectory = gameDirectory;
     _rolePermissions.Add("!refreshreminders", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!refreshbossfight", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!refreshcommands", new CommandPermission {
         General = ChatterType.Broadcaster
     });
 }
예제 #9
0
 public CmdVip(IrcClient irc, TimeoutCmd timeout, TwitchBotConfigurationSection botConfig, System.Configuration.Configuration appConfig,
               BankService bank, TwitchInfoService twitchInfo, ManualSongRequestService manualSongRequest, QuoteService quote,
               PartyUpService partyUp, GameDirectoryService gameDirectory)
 {
     _irc               = irc;
     _timeout           = timeout;
     _botConfig         = botConfig;
     _appConfig         = appConfig;
     _bank              = bank;
     _twitchInfo        = twitchInfo;
     _manualSongRequest = manualSongRequest;
     _quote             = quote;
     _partyUp           = partyUp;
     _gameDirectory     = gameDirectory;
 }
예제 #10
0
 public JoinStreamerFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo,
                            GameDirectoryService gameDirectory) : base(irc, botConfig)
 {
     _twitchInfo    = twitchInfo;
     _gameDirectory = gameDirectory;
     _rolePermissions.Add("!resetjoin", new CommandPermission {
         General = ChatterType.Moderator
     });
     _rolePermissions.Add("!listjoin", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!invite", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!popjoin", new CommandPermission {
         General = ChatterType.VIP
     });
 }
예제 #11
0
 public FollowerFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo, FollowerService follower,
                        Configuration appConfig) : base(irc, botConfig)
 {
     _follower   = follower;
     _twitchInfo = twitchInfo;
     _appConfig  = appConfig;
     _rolePermissions.Add("!followsince", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!rank", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!ranktop3", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!setregularhours", new CommandPermission {
         General = ChatterType.Broadcaster
     });
 }
예제 #12
0
 public CommandSystem(IrcClient irc, TwitchBotConfigurationSection botConfig, Configuration appConfig, BankService bank,
                      SongRequestBlacklistService songRequestBlacklist, LibVLCSharpPlayer libVLCSharpPlayer, SongRequestSettingService songRequestSetting,
                      SpotifyWebClient spotify, TwitchInfoService twitchInfo, FollowerService follower, GameDirectoryService gameDirectory, InGameUsernameService ign,
                      ManualSongRequestService manualSongRequest, QuoteService quote, PartyUpService partyUp)
 {
     _bank                     = new BankFeature(irc, botConfig, bank);
     _followerFeature          = new FollowerFeature(irc, botConfig, twitchInfo, follower, appConfig);
     _generalFeature           = new GeneralFeature(irc, botConfig, twitchInfo, appConfig);
     _inGameNameFeature        = new InGameNameFeature(irc, botConfig, twitchInfo, gameDirectory, ign);
     _joinStreamerFeature      = new JoinStreamerFeature(irc, botConfig, twitchInfo, gameDirectory);
     _libVLCSharpPlayerFeature = new LibVLCSharpPlayerFeature(irc, botConfig, appConfig, libVLCSharpPlayer);
     _miniGameFeature          = new MinigameFeature(irc, botConfig, bank, follower, twitchInfo);
     _multiLinkUserFeature     = new MultiLinkUserFeature(irc, botConfig);
     _partyUpFeature           = new PartyUpFeature(irc, botConfig, twitchInfo, gameDirectory, partyUp);
     _quoteFeature             = new QuoteFeature(irc, botConfig, quote);
     _reminderFeature          = new RefreshFeature(irc, botConfig, twitchInfo, gameDirectory);
     _songRequestFeature       = new SongRequestFeature(irc, botConfig, appConfig, songRequestBlacklist, libVLCSharpPlayer, songRequestSetting, manualSongRequest, bank, spotify);
     _spotifyFeature           = new SpotifyFeature(irc, botConfig, spotify);
     _twitchChannelFeature     = new TwitchChannelFeature(irc, botConfig, gameDirectory);
     _twitter                  = new TwitterFeature(irc, botConfig, appConfig);
 }
예제 #13
0
 public PartyUpFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo,
                       GameDirectoryService gameDirectory, PartyUpService partyUp) : base(irc, botConfig)
 {
     _twitchInfo    = twitchInfo;
     _gameDirectory = gameDirectory;
     _partyUp       = partyUp;
     _rolePermissions.Add("!partyup", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!partyuprequestlist", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!partyuplist", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!poppartyup", new CommandPermission {
         General = ChatterType.VIP
     });
     _rolePermissions.Add("!poppartyuprequest", new CommandPermission {
         General = ChatterType.VIP
     });
 }
예제 #14
0
 public MinigameFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, BankService bank, FollowerService follower,
                        TwitchInfoService twitchInfo) : base(irc, botConfig)
 {
     _bank       = bank;
     _follower   = follower;
     _twitchInfo = twitchInfo;
     _rolePermissions.Add("!roulette", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!bankheist", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!heist", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!raid", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!bossfight", new CommandPermission {
         General = ChatterType.Viewer
     });
 }
예제 #15
0
 public GeneralFeature(IrcClient irc, TwitchBotConfigurationSection botConfig, TwitchInfoService twitchInfo,
                       Configuration appConfig) : base(irc, botConfig)
 {
     _twitchInfo = twitchInfo;
     _appConfig  = appConfig;
     _rolePermissions.Add("!settings", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!exit", new CommandPermission {
         General = ChatterType.Broadcaster
     });
     _rolePermissions.Add("!streamer", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!so", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!shoutout", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!caster", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!cmds", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!help", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!commands", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!hello", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!hi", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!utctime", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!hosttime", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!uptime", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!setlatency", new CommandPermission {
         General = ChatterType.Moderator
     });
     _rolePermissions.Add("!latency", new CommandPermission {
         General = ChatterType.Moderator
     });
     _rolePermissions.Add("!support", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!bot", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!lurk", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!unlurk", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!sub", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!subscribe", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!8ball", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!slap", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!stab", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!shoot", new CommandPermission {
         General = ChatterType.Viewer
     });
     _rolePermissions.Add("!throw", new CommandPermission {
         General = ChatterType.Viewer
     });
 }
예제 #16
0
 // Empty constructor makes instance of Thread
 public TwitchChatterListener(TwitchInfoService twitchInfo)
 {
     _twitchChatterListener = new Thread(new ThreadStart(this.Run));
     _twitchInfo            = twitchInfo;
 }
예제 #17
0
 public TwitchStreamStatus(IrcClient irc, TwitchInfoService twitchInfo)
 {
     _irc               = irc;
     _twitchInfo        = twitchInfo;
     _checkStreamStatus = new Thread(new ThreadStart(this.Run));
 }