public async Task OnJoined(SocketGuild guild) { var exists = await _db.ServersSettings.AnyAsync(serv => serv.ServerId == guild.Id); var newServer = new ServerGuild() { OwnerId = guild.OwnerId, OwnerName = guild.Owner.Username, DoGreet = false, GreetingMsg = null, GreetingRoom = 0, RolePostId = 0, prefix = '$', ServerId = guild.Id, ServerName = guild.Name }; //if doesn't exist if (!exists) { _db.ServersSettings.Add(newServer); } //if exist in database but bot wasn't there else { _db.ServersSettings.Update(newServer); } await _db.SaveChangesAsync(); }
public async Task <ServerGuild> GetOrCreateServer(ulong serverId) { var server = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstOrDefaultAsync(_db.ServersSettings, server => server.ServerId == serverId); if (server != null) { return(server); } var guild = _client.GetGuild(serverId); server = new ServerGuild { DoGreet = false, GreetingMsg = null, GreetingRoom = guild.DefaultChannel.Id, OwnerId = guild.OwnerId, OwnerName = guild.Owner.Nickname, prefix = '$', RolePostId = 0, ServerId = guild.Id, ServerName = guild.Name, BirthdayRoom = guild.DefaultChannel.Id, DoBrithday = false }; await _db.ServersSettings.AddAsync(server); await _db.SaveChangesAsync(); return(server); }
public async Task ConfigureBot() { var exist = _db.ServersSettings.Any(server => server.ServerId == Context.Guild.Id); if (!exist) { //Adds server to database var server = new ServerGuild() { ServerId = Context.Guild.Id, ServerName = Context.Guild.Name, OwnerId = Context.Guild.OwnerId, OwnerName = Context.Guild.Owner.Username, prefix = _configuration.Prefix, DoGreet = false }; _db.ServersSettings.Add(server); await _db.SaveChangesAsync(); await ReplyAsync("Server added to H.u.e database"); } else { //Updates server var server = await _db.ServersSettings.FirstOrDefaultAsync(server => server.ServerId == Context.Guild.Id); server.ServerId = Context.Guild.Id; server.ServerName = Context.Guild.Name; server.OwnerId = Context.Guild.OwnerId; server.OwnerName = Context.Guild.Owner.Username; _db.ServersSettings.Update(server); await _db.SaveChangesAsync(); await ReplyAsync("Server updated to H.u.e database"); } }