public async Task ChangeOwnerCommand([Remainder] SocketGuildUser u = null) { u = u ?? (SocketGuildUser)Context.User; var whitelist = _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).FindAll(); if (whitelist.FirstOrDefault(x => x.IsOwner) == null) { var tUser = whitelist.FirstOrDefault(x => x.Id == u.Id); if (tUser == null) { tUser = new WhitelistUser(u.Id, true); _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).Insert(tUser); } else { tUser.IsOwner = true; _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).Update(tUser); } } else if (whitelist.FirstOrDefault(x => x.IsOwner).Id == Context.User.Id) { if (u.Id != Context.User.Id) { var currUser = whitelist.FirstOrDefault(x => x.Id == Context.User.Id); currUser.IsOwner = false; var tUser = whitelist.FirstOrDefault(x => x.Id == u.Id); if (tUser == null) { tUser = new WhitelistUser(u.Id, true); _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).Insert(tUser); } else { tUser.IsOwner = true; _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).Update(tUser); } _db.GetCollection <WhitelistUser>(Defined.WHITELIST_TABLE_NAME).Update(currUser); } Defined.BuildSuccessMessage(_eBuilder, Context, $"Successfully changed the Owner of {_config.Bot_Name}"); } else { Defined.BuildErrorMessage(_eBuilder, Context, ErrorTypes.E410, null, "change the Owner"); } await ReplyAsync(embed : _eBuilder.Build()); }
private async Task Whitelist(TwitchMessage twitchMessage) { var wluser = new WhitelistUser { TwitchId = twitchMessage.ChatMessage.UserId, Name = twitchMessage.Author, Channel = twitchMessage.Channel }; if (await _context.WhitelistUsers.AnyAsync(u => u.Channel.Equals(twitchMessage.Channel) && u.TwitchId.Equals(twitchMessage.ChatMessage.UserId))) { return; } await _context.WhitelistUsers.AddAsync(wluser); await _context.SaveChangesAsync(); _whitelistedUsers.Add(wluser); }