Пример #1
0
        public static void Pay(OnMessageReceivedArgs e, string[] SegmentedMessage)
        {
            if (SegmentedMessage.Length != 3)
            {
                MessageHandler.NotLongEnough(e); return;
            }
            string TheirID = SegmentedMessage[1]; Shared.IDType TheirIDType = Shared.IDType.Twitch;

            if (TheirID.StartsWith("@"))
            {
                TheirID = TheirID.Replace("@", "");
                try { TheirID = UserHandler.UserFromUsername(TheirID).Matches[0].Id; }
                catch { MessageHandler.SendMessage(e, MessageHandler.ParseConfigString(Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["NoUser"].ToString(), e.ChatMessage)); return; }
            }
            else
            {
                MessageHandler.SendMessage(e, MessageHandler.ParseConfigString(Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["NoUser"].ToString(), e.ChatMessage)); return;
            }
            int Amount = 0;

            if (SegmentedMessage[2].ToLower() == "all")
            {
                Amount = Shared.Data.Accounts.GetBalance(e.ChatMessage.UserId.ToString(), Shared.IDType.Twitch);
            }
            else if (SegmentedMessage[2].ToLower().EndsWith("k"))
            {
                if (!int.TryParse(SegmentedMessage[2].ToLower().Replace("k", ""), out Amount))
                {
                    MessageHandler.InvalidParameter(e); return;
                }
                Amount *= 1000;
            }
            else
            {
                if (!int.TryParse(SegmentedMessage[2].ToLower(), out Amount))
                {
                    MessageHandler.InvalidParameter(e); return;
                }
            }
            if (Amount < 0)
            {
                MessageHandler.NegativeValue(e); return;
            }

            Shared.Data.EventResponse Response = Shared.Data.Accounts.PayUser(e.ChatMessage.UserId.ToString(), Shared.IDType.Twitch, TheirID, TheirIDType, Amount);

            if (Response.Success)
            {
                MessageHandler.SendMessage(e, MessageHandler.ParseConfigString(Shared.ConfigHandler.Config["CommandResponses"]["Pay"]["PaymentComplete"].ToString(), e.ChatMessage, null, Amount, Shared.Data.Accounts.GetBalance(e.ChatMessage.UserId.ToString(), Shared.IDType.Twitch)));
            }
            else
            {
                MessageHandler.SendMessage(e, MessageHandler.ParseConfigString(Response.Message, e.ChatMessage));
            }
        }
Пример #2
0
        public static async Task Pay(SocketMessage Message, string[] SegmentedMessage)
        {
            if (SegmentedMessage.Length != 3)
            {
                MessageHandler.NotLongEnough(Message); return;
            }
            string TheirID; Shared.IDType TheirIDType = Shared.IDType.Discord;

            TheirID = MessageHandler.GetDiscordID(SegmentedMessage[1]);
            //if (TheirID.StartsWith("<@")) { TheirID = TheirID.Replace("<@","").Replace(">",""); }
            int Amount = 0;

            if (SegmentedMessage[2].ToLower() == "all")
            {
                Amount = Shared.Data.Accounts.GetBalance(Message.Author.Id.ToString(), Shared.IDType.Discord);
            }
            else if (SegmentedMessage[2].ToLower().EndsWith("k"))
            {
                if (!int.TryParse(SegmentedMessage[2].ToLower().Replace("k", ""), out Amount))
                {
                    MessageHandler.InvalidParameter(Message); return;
                }
                Amount *= 1000;
            }
            else
            {
                if (!int.TryParse(SegmentedMessage[2].ToLower(), out Amount))
                {
                    MessageHandler.InvalidParameter(Message); return;
                }
            }

            Shared.Data.EventResponse Response = Shared.Data.Accounts.PayUser(Message.Author.Id.ToString(), Shared.IDType.Discord, TheirID, TheirIDType, Amount);
            if (Response.Success)
            {
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Pay"]["PaymentComplete"].ToString(), TheirID, Amount, Shared.Data.Accounts.GetBalance(Message.Author.Id.ToString(), Shared.IDType.Discord));
            }
            else
            {
                await MessageHandler.SendMessage(Message, MessageHandler.ParseConfigString(Response.Message, Message.Author));
            }
        }