Ejemplo n.º 1
0
        public bool TryHandle(SlackBotCommandContext context, CancellationToken token, out Task task)
        {
            task = null;

            string taskName = context.IncomingMessage.Text;

            ITask taskToExecute;

            if (!string.IsNullOrWhiteSpace(taskName) && _factory.TryGet(taskName, out taskToExecute))
            {
                task = context.WriteText($"Task {taskToExecute.Name()} is being executed.")
                       .ContinueWith(t => Task.FromResult(_runner.Execute(taskToExecute)), token)
                       .ContinueWith(t => context.WriteText($"Task {taskToExecute.Name()} finished executing."), token);
            }

            return(task != null);
        }