public async Task <bool> TryInvokeAsync(IMessage message)
        {
            if (message == null)
            {
                return(false);
            }
            else if (message.Channel is IPrivateChannel)
            {
                return(false);
            }
            else if (message.Channel.Name != configuration.SilentAuctionsChannelName)
            {
                return(false);
            }

            (bool success, Dictionary <string, int> items) = ParseArgs(message.Content);

            if (!success)
            {
                return(false);
            }
            else
            {
                List <Task> auctions = new List <Task>();
                foreach (KeyValuePair <string, int> item in items)
                {
                    auctions.Add(auctionProcessor.StartAuction(item.Value, item.Key, null, message));
                }
                await Task.WhenAll(auctions);

                return(true);
            }
        }
        public async Task <bool> TryInvokeAsync(IMessage message)
        {
            if (message == null)
            {
                return(false);
            }
            else if (message.Channel is IPrivateChannel)
            {
                return(false);
            }
            else if (message.Channel.Name != configuration.SilentAuctionsChannelName)
            {
                return(false);
            }

            (bool success, int?quantity, string name, int?minutes) = ParseArgs(message.Content);

            if (!success)
            {
                return(false);
            }
            else
            {
                await auctionProcessor.StartAuction(quantity, name, minutes, message);

                return(true);
            }
        }