Example #1
0
        public static async Task <KuvuUser> GetKuvuUser(this DiscordUser user, KuvuGuild guild, BotContext botContext = null)
        {
            if (user.IsBot)
            {
                throw new BotKuvuUserException();
            }
            botContext ??= new BotContext();

            var kuvuUser =
                await botContext.Users.FirstOrDefaultAsync(g => g.DiscordUser == user.Id && g.Guild == guild);

            if (kuvuUser == null)
            {
                kuvuUser = new KuvuUser
                {
                    DiscordUser = user.Id,
                    Exp         = 0,
                    Guild       = guild
                };
                await botContext.Users.AddAsync(kuvuUser);

                await botContext.SaveChangesAsync();
            }

            return(kuvuUser);
        }
Example #2
0
        public static async Task <KuvuGuild> GetKuvuGuild(this DiscordGuild guild, BotContext botContext = null)
        {
            botContext ??= new BotContext();

            var kuvuGuild = await botContext.Guilds.FirstOrDefaultAsync(g => g.GuildId == guild.Id);

            if (kuvuGuild == null)
            {
                kuvuGuild = new KuvuGuild()
                {
                    GuildId = guild.Id,
                    Lang    = "en",
                    Prefix  = Program.Config.DefualtPrefix,
                };
                await botContext.Guilds.AddAsync(kuvuGuild);

                await botContext.SaveChangesAsync();
            }

            return(kuvuGuild);
        }