cs_elbot.AdvancedCommunication.DONATECommandHandler.OnGotPM C# (CSharp) Method

OnGotPM() private method

private OnGotPM ( object sender, BasicCommunication e ) : void
sender object
e BasicCommunication
return void
        private void OnGotPM(object sender, BasicCommunication.MessageParser.Got_PM_EventArgs e)
        {
            string Message = e.Message.ToLower();

            if (Message[0]!='#')
            {
                Message = "#" + Message;
            }

            string[] CommandArray = Message.Split(' ');

            if (CommandArray[0] == "#donate" || CommandArray[0] == "#donation" || (CommandArray[0] == "#d" && CommandArray.Length==1))
            {
                if (TheMySqlManager.GetUserRank(e.username, Settings.botid) < TheMySqlManager.GetCommandRank("#donate", Settings.botid))
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You are not authorized to use this command!"));
                    return;
                }

                bool disabled = TheMySqlManager.CheckIfCommandIsDisabled("#donate", Settings.botid);

                if (disabled == true)
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "This command is disabled"));
                    return;
                }

                if (Settings.IsTradeBot == false && TheTradeHandler.storageAvailable == false)
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "Sorry, I am not a trade bot!"));
                    return;
                }

                if (TheMySqlManager.GetUserRank(e.username,Settings.botid)<TheMySqlManager.GetCommandRank("#donate",Settings.botid))
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"You are not authorized to use this command!"));
                    return;
                }

                if (TheTradeHandler.Trading == false || TradeHandler.username.ToLower()!=e.username.ToLower())
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"Please trade with me first!"));
                    return;
                }

                if (TheTradeHandler.storageAvailable == true)
                {
                    TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "Items will be put in my inventory."));
                    TheTradeHandler.storageAvailable = false;
                }

                try
                {
                    if (CommandArray.Length!=1 && CommandArray[1]!="")
                    goto WrongArguments;

                    if (TheTradeHandler.PutOnSale==false && TheTradeHandler.Billance == 0 && TheTradeHandler.PartnerTradeItemsList.Count == 0 && TheTradeHandler.MyItemList.Count==0)
                    {
                        TheTradeHandler.Donating = true;
                            TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "You can donate to me now."));
            //                        if (Settings.IsTradeBot == false)
            //                        {
            //                            TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username, "Move me away from storage if you want to donate into my inventory..."));
            //                        }
                    }
                    else
                    {
                        TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"Plese restart the trade. And put no items on the trade before sending #donate."));
                    }
                }
                catch
                {
                    goto WrongArguments;
                }
            }

            return;

            WrongArguments:
                TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"Here is the usage of the #donate command:"));
                TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"#donate"));
                TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"------------------------------------------"));
                TheTCPWrapper.Send(CommandCreator.SEND_PM(e.username,"Example: #donate"));
                return;
        }