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); }
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); }