Beispiel #1
0
        public Task Login(string characterName)
        {
            //Determine who's logging in.
            var userHelper = new UserHelper();
            var user       = userHelper.GetOrCreateUser(Context.User);
            var messages   = new List <string>();

            //Check database for character for this user.
            var entityContext     = new EntityContext();
            var databaseCharacter = entityContext.Characters.SingleOrDefault(u => u.UserId == user.Id && u.Name == characterName);

            if (databaseCharacter == null)
            {
                messages.Add($"You don't have a character named {characterName}, {user.Username}.");
                messages.Add("Get your shit together.");
                return(ReplyAsync(PrintHelpers.FormatMultipleStringsToMultilineString(messages)));
            }
            //Set currently active character inactive.
            var activeCharacter = entityContext.Characters.SingleOrDefault(u => u.UserId == user.Id && u.Active == true);

            if (activeCharacter != null)
            {
                activeCharacter.Active = false;
            }

            //Set character to active.
            databaseCharacter.Active = true;
            entityContext.SaveChanges();
            messages.Add($"You are now logged in as {characterName}, {user.Username}.");

            var formattedMessage = PrintHelpers.FormatMultipleStringsToMultilineString(messages);

            return(ReplyAsync(formattedMessage));
        }
Beispiel #2
0
        public Task Welcome()
        {
            var welcomeMessages = new List <string>();

            welcomeMessages.Add("Welcome to the game bitch.");
            welcomeMessages.Add("/////////*******//////////");
            welcomeMessages.Add("///////attempted//////////");
            welcomeMessages.Add("/////cool ascii art///////");
            welcomeMessages.Add("/////////*here**//////////");
            welcomeMessages.Add("/////////*-----*//////////");
            welcomeMessages.Add("/////////*******//////////");
            welcomeMessages.Add("**bold**");
            welcomeMessages.Add("*italics*");
            welcomeMessages.Add("***bold Italics***");
            welcomeMessages.Add("__underline__");
            welcomeMessages.Add("Welcome to the game bitch.");

            var formattedMessage = PrintHelpers.FormatMultipleStringsToMultilineString(welcomeMessages);

            return(ReplyAsync(formattedMessage));
        }
Beispiel #3
0
        public Task List()
        {
            var messages = new List <string>();

            //connect to the database.
            var entityContext = new EntityContext();

            //query for characters
            var userHelper = new UserHelper();
            var user       = userHelper.GetOrCreateUser(Context.User);
            var players    = entityContext.Characters.ToList().Where(x => x.UserId == user.Id).ToList();

            //add characters to our message list variable
            foreach (var player in players)
            {
                messages.Add(player.Name);
            }

            //format message and print to discord
            var formattedMessage = PrintHelpers.FormatMultipleStringsToMultilineString(messages);

            return(ReplyAsync(formattedMessage));
        }
Beispiel #4
0
        public Task Create(string playerName, string playerClass)
        {
            var messages = new List <string>();

            //conntect to the database
            var entityContext = new EntityContext();

            var userHelper = new UserHelper();
            var user       = userHelper.GetOrCreateUser(Context.User);

            //queried for database class entity.
            var databaseClass = entityContext.Classes.SingleOrDefault(x => x.Name == playerClass);

            if (databaseClass == null)
            {
                messages.Add($"Invalid class specified {user.Username}.");
                messages.Add("Expecting (Warrior, Archer, Mage)");
                return(ReplyAsync(PrintHelpers.FormatMultipleStringsToMultilineString(messages)));
            }

            //create our player in code
            var character = new Character(playerName, databaseClass);

            character.UserId = user.Id;
            //save our player to the database
            entityContext.Characters.Add(character);
            entityContext.SaveChanges();

            //gg? message the user with feedback
            messages.Add("You created a character!");
            messages.Add("Your character id is " + character.Id);

            var formattedMessage = PrintHelpers.FormatMultipleStringsToMultilineString(messages);

            return(ReplyAsync(formattedMessage));
        }