Example #1
0
 public KarmaMiddleware(IMiddleware next, KarmaRepositoryPlugin karmaRepositoryPlugin, KarmaPlugin karmaPlugin) : base(next)
 {
     _karmaRepositoryPlugin = karmaRepositoryPlugin;
     _karmaPlugin           = karmaPlugin;
     HandlerMappings        = new[]
     {
         new HandlerMapping
         {
             ValidHandles           = RegexHandle.For(KarmaPlugin.OperatorRegex),
             Description            = "Allows upvoting and downvoting on things and people with `--` and `++`.",
             EvaluatorFunc          = KarmaHandler,
             MessageShouldTargetBot = false,
             VisibleInHelp          = false
         },
         new HandlerMapping
         {
             ValidHandles           = RegexHandle.For(KarmaPlugin.ListKarmaRegex),
             Description            = "List recorded karma",
             EvaluatorFunc          = ListHandler,
             MessageShouldTargetBot = true,
             VisibleInHelp          = true
         },
         new HandlerMapping
         {
             ValidHandles           = RegexHandle.For(KarmaPlugin.ListReasonRegex),
             Description            = "List reasons for a karma entry",
             EvaluatorFunc          = ReasonHandler,
             MessageShouldTargetBot = true,
             VisibleInHelp          = true
         }
     };
 }
Example #2
0
        public LboMiddleware(IMiddleware next, LboPlugin lboPlugin, ILog log) : base(next)
        {
            this.log       = log;
            this.lboPlugin = lboPlugin;

            this.HandlerMappings = new[]
            {
                new HandlerMapping
                {
                    ValidHandles  = RegexHandle.For($"^{Configuration.Prefix} [^ ]+ drain.+"),
                    EvaluatorFunc = this.DrainHandler,
                    Description   = $"Drains a node on the load balancer. '{GetHelpText(LoadBalancerActions.Drain)}'",
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = RegexHandle.For($"^{Configuration.Prefix} [^ ]+ halt.+"),
                    EvaluatorFunc = this.HaltHandler,
                    Description   = $"Halts a node on the load balancer. '{GetHelpText(LoadBalancerActions.Halt)}'",
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = RegexHandle.For($"^{Configuration.Prefix} [^ ]+ online.+"),
                    EvaluatorFunc = this.OnlineHandler,
                    Description   = $"Brings a node online on the load balancer. '{GetHelpText(LoadBalancerActions.Online)}'",
                    VisibleInHelp = false
                },
            };
        }
Example #3
0
 public EasterEggMiddleware(IMiddleware next) : base(next)
 {
     HandlerMappings = new[]
     {
         new HandlerMapping
         {
             ValidHandles  = RegexHandle.For("open (.*) door"),
             EvaluatorFunc = PodBayDoorHandler,
             Description   = "Opens the pod bay doors",
             VisibleInHelp = false
         }
     };
 }
        public SpotifyMiddleWare(IMiddleware next, SpotifyPlugin spotifyPlugin) : base(next)
        {
            this._spotifyPlugin = spotifyPlugin;

            this.HandlerMappings = new[]
            {
                new HandlerMapping
                {
                    ValidHandles  = ExactMatchHandle.For("who is the captain"),
                    Description   = "What spotify account is this",
                    EvaluatorFunc = this.GetSpotifyUserDetails,
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = ExactMatchHandle.For("lets start the party"),
                    Description   = "creates a playlist for beer o clock",
                    EvaluatorFunc = this.CreateSpotifyPlaylist,
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = RegexHandle.For("(tune\\sthis\\s)<(spotify:track:.{22})>", "(tune\\sthis\\s)(.{22})"),
                    Description   = "add a track to the playlist",
                    EvaluatorFunc = this.AddTrackToPlaylist,
                    VisibleInHelp = true
                },
                new HandlerMapping
                {
                    ValidHandles  = ExactMatchHandle.For("Get devices"),
                    Description   = "Finds devices available for playback",
                    EvaluatorFunc = this.GetAvialableSpotifyDevices,
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = RegexHandle.For(this._setDeviceRegEx),
                    Description   = "Set the player device by device ID",
                    EvaluatorFunc = this.SetDevice,
                    VisibleInHelp = false
                },
                new HandlerMapping
                {
                    ValidHandles  = ExactMatchHandle.For("start the tunes"),
                    Description   = "Starts the music",
                    EvaluatorFunc = this.PlayResumeMusic,
                    VisibleInHelp = false
                },
            };
        }
Example #5
0
 public KarmaMiddleware(IMiddleware next, KarmaRepositoryPlugin karmaRepositoryPlugin, KarmaPlugin karmaPlugin) : base(next)
 {
     _karmaRepositoryPlugin = karmaRepositoryPlugin;
     _karmaPlugin           = karmaPlugin;
     HandlerMappings        = new[]
     {
         new HandlerMapping
         {
             ValidHandles           = RegexHandle.For(KarmaPlugin.IncomingMessageRegex),
             Description            = "Allows upvoting and downvoting on things and people with `--` and `++`.",
             EvaluatorFunc          = KarmaHandler,
             MessageShouldTargetBot = false,
             VisibleInHelp          = false
         }
     };
 }
 public PearlOfWisdomMiddleware(IMiddleware next) : base(next)
 {
     HandlerMappings = new[]
     {
         new HandlerMapping
         {
             MessageShouldTargetBot   = false,
             ValidHandles             = StartsWithHandle.For("złota myśl", "cytat", "dowcip", "kawał", "coś śmiesznego"),
             EvaluatorFunc            = PearlOfWisdomHandler,
             ShouldContinueProcessing = false,
         },
         new HandlerMapping
         {
             MessageShouldTargetBot   = false,
             ValidHandles             = RegexHandle.For("zyg[munt|a|uś]"),
             EvaluatorFunc            = PearlOfWisdomHandler,
             ShouldContinueProcessing = false,
         },
     };
 }