Exemple #1
0
        public static Player GetPlayer(this IApplicationContext source, ITwitchClientManager client, ChatMessage message)
        {
            var player = source.Players.FirstOrDefault(x => x.TwitchUserID == message.UserId);

            if (player is null)
            {
                player = new Player()
                {
                    TwitchUserID = message.UserId,
                    Name         = message.DisplayName
                }
                .ResetRank();

                source.Add(player);

                source.SaveChanges();

                client.SpoolMessageAsMe(message.Channel, player,
                                        $"StinkyGlitch NEW CHEESE FACTORY StinkyGlitch " +
                                        $"You have just started building your own cheese factory where {player.ID - 1} others already reside. " +
                                        $"Begin producing cheese with \"!cheese\" and spend it at the shop with \"!cheese shop\". " +
                                        $"You can get help with \"!cheese help\" to see other commands. " +
                                        $"Good luck!");
            }

            return(player);
        }
Exemple #2
0
 public Count(ITwitchClientManager client, IRepeater repeater, TextWriter writer)
     : base(client, writer)
 {
     Repeater          = repeater;
     Repeater.Action   = SpoolCount;
     Repeater.Interval = TimeSpan.FromSeconds(3);
 }
Exemple #3
0
 public AtAll(ITwitchClientManager client,
              TextWriter writer,
              ITwitchAPI api)
     : base(client, writer)
 {
     Api = api;
 }
Exemple #4
0
 public HelpManager(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client)
 {
     ContextFactory = contextFactory;
     Client         = client;
 }
Exemple #5
0
 public Repeat(ITwitchClientManager client, IRepeater repeater, TextWriter console)
     : base(client, console)
 {
     Repeater          = repeater;
     Repeater.Action   = SpoolRepeatMessages;
     Repeater.Interval = TimeSpan.FromSeconds(0.3);
 }
Exemple #6
0
 public Reply(ITwitchClientManager client, IEqualsComparator equalsComparator, IContainsComparator containsComparator, TextWriter writer)
     : base(client, writer)
 {
     UsersToReplyTo     = new HashSet <String>();
     EqualsComparator   = equalsComparator;
     ContainsComparator = containsComparator;
     Comparator         = ContainsComparator;
 }
Exemple #7
0
 public ModCheck(
     ITwitchClientManager client,
     TextWriter writer,
     ICommandRepository commands,
     IStopSettingStrategy stopSettingStrategy)
     : base(client, writer)
 {
     Commands            = commands;
     StopSettingStrategy = stopSettingStrategy;
 }
Exemple #8
0
 public Heist(
     ChatMessage message,
     Random random,
     ITwitchClientManager client)
 {
     Wagers           = new List <Wager>();
     InitiatorMessage = message;
     Random           = random;
     TwitchClient     = client;
 }
Exemple #9
0
 public Mode(
     ITwitchClientManager client,
     TextWriter writer,
     IBot bot,
     IModeratorClientOptions moderatorClientOptions,
     IRegularClientOptions regularClientOptions)
     : base(client, writer)
 {
     Bot = bot;
     ModeratorClientOptions = moderatorClientOptions;
     RegularClientOptions   = regularClientOptions;
 }
Exemple #10
0
 public Shop(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client,
     Random random,
     IEmoteManager emoteManager)
 {
     Items          = new List <IItem>();
     ContextFactory = contextFactory;
     Client         = client;
     Random         = random;
     EmoteManager   = emoteManager;
 }
Exemple #11
0
 public RankManager(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client,
     Random random,
     IEmoteManager emoteManager,
     IHeistManager heistManager)
 {
     ContextFactory = contextFactory;
     Client         = client;
     Random         = random;
     EmoteManager   = emoteManager;
     HeistManager   = heistManager;
 }
Exemple #12
0
 public Bot(
     TextWriter writer,
     ICommandRepository commands,
     IModeratorClientOptions moderatorOptions,
     IRegularClientOptions regularOptions,
     ITwitchClientManager twitchClientManager)
 {
     Writer   = writer;
     Commands = commands;
     ModeratorClientOptions = moderatorOptions;
     RegularClientOptions   = regularOptions;
     TwitchClientManager    = twitchClientManager;
     IsModerator            = true;
 }
Exemple #13
0
 public Cookie(
     ITwitchClientManager client,
     IRepeater repeater,
     ISpinWaitService spinWait,
     TextWriter writer,
     IDateTimeService dateTime)
     : base(client, writer)
 {
     Repeater          = repeater;
     SpinWait          = spinWait;
     DateTime          = dateTime;
     Repeater.Action   = SpoolRepeatMessages;
     Repeater.Interval = TimeSpan.FromHours(1);
     Channel           = "thepositivebot";
 }
Exemple #14
0
 public QuestManager(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client,
     Random random,
     IEmoteManager emoteManager,
     IDateTimeService dateTime,
     IQuestRepository questRepository)
 {
     ContextFactory  = contextFactory;
     Client          = client;
     Random          = random;
     EmoteManager    = emoteManager;
     DateTime        = dateTime;
     QuestRepository = questRepository;
 }
Exemple #15
0
 public HeistManager(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client,
     Random random,
     IEmoteManager emoteManager,
     IThreadService threadService,
     IDateTimeService dateTime)
 {
     OngoingHeists  = new ConcurrentDictionary <String, IHeist>();
     ContextFactory = contextFactory;
     Client         = client;
     Random         = random;
     EmoteManager   = emoteManager;
     ThreadService  = threadService;
     DateTime       = dateTime;
 }
Exemple #16
0
 public Cheese(
     ITwitchClientManager client,
     TextWriter writer,
     IHelpManager help,
     IPointManager pointManager,
     IShop shop,
     IRankManager rankManager,
     IQuestManager questManager,
     IHeistManager heistManager)
     : base(client, writer)
 {
     Help         = help;
     PointManager = pointManager;
     Shop         = shop;
     RankManager  = rankManager;
     QuestManager = questManager;
     HeistManager = heistManager;
 }
Exemple #17
0
 public PointManager(
     IApplicationContextFactory contextFactory,
     ITwitchClientManager client,
     IReadOnlyList <RecipeInfo> recipeRepository,
     IReadOnlyList <RecipeModifier> recipeModifierRepository,
     Random random,
     IEmoteManager emoteManager,
     IHazardManager hazardManager,
     IDateTimeService dateTime)
 {
     ContextFactory        = contextFactory;
     Client                = client;
     RecipeRepository      = recipeRepository;
     RecipeModifierManager = recipeModifierRepository;
     Random                = random;
     EmoteManager          = emoteManager;
     HazardManager         = hazardManager;
     DateTime              = dateTime;
 }
        public CommandRepository(
            TextWriter writer,
            ITwitchClientManager clientManager,
            IUserCommandValidator userCommandValidator,
            ICommandConfigurationStrategy commandConfigurationStrategy)
        {
            Writer                       = writer;
            ClientManager                = clientManager;
            UserCommandValidator         = userCommandValidator;
            CommandConfigurationStrategy = commandConfigurationStrategy;
            Settings                     = new();
            Commands                     = new();
            RegularCommands              = new();
            UserCommands                 = new();

            ClientManager.OnTwitchClientRefreshed += ClientManager_OnTwitchClientRefreshed;

            if (ClientManager.Client is not null)
            {
                ClientManager.Client.OnMessageReceived += Client_OnMessageReceived;
            }
        }
Exemple #19
0
 public Jimbox(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
 }
Exemple #20
0
 public AutoPogO(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
     UsersToPogO = new HashSet <String>();
 }
Exemple #21
0
 public Emotes(ITwitchClientManager client, TextWriter writer, IEmoteManager emoteManager)
     : base(client, writer)
 {
     EmoteManager = emoteManager;
 }
Exemple #22
0
 public TimeoutAlert(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
 }
Exemple #23
0
 public Moya(ITwitchClientManager client, TextWriter writer, INodeJSService nodeService)
     : base(client, writer)
 {
     NodeService = nodeService;
 }
Exemple #24
0
 public Color(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
     Selectors       = new List <IColorSelector>();
     CurrentSelector = Selectors.FirstOrDefault();
 }
Exemple #25
0
 protected Setting(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
 }
Exemple #26
0
 public TrackPyramids(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
     Pyramid = new PyramidTracker();
 }
Exemple #27
0
 public Refresh(ITwitchClientManager client, TextWriter writer, IBot bot)
     : base(client, writer)
 {
     Bot = bot;
 }
Exemple #28
0
 public Wolfram(ITwitchClientManager client, TextWriter console, WolframAlpha wolfram) : base(client, console)
 {
     WolframAlpha       = wolfram;
     FirstSentenceRegex = new Regex(FirstSentencePattern, RegexOptions.Compiled);
 }
Exemple #29
0
 public AutoChat(ITwitchClientManager client, TextWriter writer, IBot bot)
     : base(client, writer)
 {
     PreviousMessages = new ConcurrentQueue <String>();
     Bot = bot;
 }
Exemple #30
0
 public Pyramid(ITwitchClientManager client, TextWriter writer)
     : base(client, writer)
 {
 }