Beispiel #1
0
        public static async Task Accept(SocketMessage Message, string[] SegmentedMessage)
        {
            Shared.Duel duel = Duels.duels.SingleOrDefault(d => d.target == Message.Author.Id.ToString());
            if (duel == null)
            {
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Duel"]["NotInDuel"].ToString(), null);

                return;
            }
            Duels.duels.Remove(duel);
            int targetCoins = Shared.Data.Accounts.GetBalance(duel.target, Shared.IDType.Discord);
            int dueleeCoins = Shared.Data.Accounts.GetBalance(duel.duelee, Shared.IDType.Discord);

            if (targetCoins < duel.amount)
            {
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["OtherNotEnough"].ToString(), Message.Author.Id.ToString());
            }
            if (dueleeCoins < duel.amount)
            {
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["OtherNotEnough"].ToString(), Message.Author.Id.ToString());
            }
            Shared.Data.EventResponse Response;
            if (random.Next(100) < 50)
            {
                Response = Shared.Data.Accounts.PayUser(duel.target, Shared.IDType.Discord, duel.duelee, Shared.IDType.Discord, duel.amount);
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Duel"]["Lose"].ToString(), duel.duelee, duel.amount);

                //await Message.Channel.SendMessageAsync("<@" + duel.duelee + "> won " + duel.amount + " Owlcoins in a duel against <@" + duel.target + "> and now has " + (dueleeCoins + duel.amount) + " Owlcoins!");
            }
            else
            {
                Response = Shared.Data.Accounts.PayUser(duel.duelee, Shared.IDType.Discord, duel.target, Shared.IDType.Discord, duel.amount);
                await MessageHandler.SendMessage(Message, Shared.ConfigHandler.Config["CommandResponses"]["Duel"]["Won"].ToString(), duel.duelee, duel.amount);

                //await Message.Channel.SendMessageAsync("<@" + duel.target + "> won " + duel.amount + " Owlcoins in a duel against <@" + duel.duelee + "> and now has " + (targetCoins + duel.amount) + " Owlcoins!");
            }
            if (!Response.Success)
            {
                Console.WriteLine(Response.Message);
            }
        }
Beispiel #2
0
        public static void Accept(OnMessageReceivedArgs e, string[] SegmentedMessage)
        {
            Shared.Duel duel = Duels.duels.SingleOrDefault(d => d.target == e.ChatMessage.UserId.ToString());
            if (duel == null)
            {
                Bot.TwitchC.SendMessage(e.ChatMessage.Channel, "@" + e.ChatMessage.Username + ", You are not in a duel");
                return;
            }
            Duels.duels.Remove(duel);
            int targetCoins = Shared.Data.Accounts.GetBalance(duel.target, Shared.IDType.Twitch);
            int dueleeCoins = Shared.Data.Accounts.GetBalance(duel.duelee, Shared.IDType.Twitch);

            if (targetCoins < duel.amount)
            {
                MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["OtherNotEnough"].ToString(), e.ChatMessage.Username);
                //Bot.TwitchC.SendMessage(e.ChatMessage.Channel, "@" + e.ChatMessage.Username + " only has " + targetCoins + " Owlcoins");
            }
            if (dueleeCoins < duel.amount)
            {
                MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Errors"]["OtherNotEnough"].ToString(), e.ChatMessage.Username);
                //Bot.TwitchC.SendMessage(e.ChatMessage.Channel, "@" + e.ChatMessage.Username + " only has " + dueleeCoins + " Owlcoins");
            }
            Shared.Data.EventResponse Response;
            if (random.Next(100) < 50)
            {
                Response = Shared.Data.Accounts.PayUser(duel.target, Shared.IDType.Twitch, duel.duelee, Shared.IDType.Twitch, duel.amount);
                MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Duel"]["Lose"].ToString(), UserHandler.UserFromUserID(duel.duelee).Name, duel.amount);
                //Bot.TwitchC.SendMessage(e.ChatMessage.Channel, "@" + UserHandler.UserFromUserID(duel.duelee).Name + " won " + duel.amount + " Owlcoins in a duel against @" + UserHandler.UserFromUserID(duel.target).Name + " and now has " + (dueleeCoins + duel.amount) + " Owlcoins!");
            }
            else
            {
                Response = Shared.Data.Accounts.PayUser(duel.duelee, Shared.IDType.Twitch, duel.target, Shared.IDType.Twitch, duel.amount);
                MessageHandler.SendMessage(e, Shared.ConfigHandler.Config["CommandResponses"]["Duel"]["Won"].ToString(), UserHandler.UserFromUserID(duel.duelee).Name, duel.amount);
                //Bot.TwitchC.SendMessage(e.ChatMessage.Channel, "@" + UserHandler.UserFromUserID(duel.target).Name + " won " + duel.amount + " Owlcoins in a duel against @" + UserHandler.UserFromUserID(duel.duelee).Name + " and now has " + (targetCoins + duel.amount) + " Owlcoins!");
            }
            if (!Response.Success)
            {
                Console.WriteLine(Response.Message);
            }
        }