private async Task ClientOnGuildMemberUpdated(GuildMemberUpdateEventArgs args) { await Task.Yield(); var tasks = new List <Task>(); using (var db = new LiteDatabase("Data.db")) { var guilds = db.GetCollection <Guild>(); var guild = guilds.FindOne(x => x.Id == args.Guild.Id); if (guild.NightWatchEnabled) { tasks.Add(NightWatch.NightWatchUserChange(args)); } } await Task.WhenAll(tasks); }
//TODO: track invites private async Task ClientOnGuildMemberAdded(GuildMemberAddEventArgs args) { await Task.Yield(); var tasks = new List <Task>(); using (var db = new LiteDatabase("Data.db")) { var guilds = db.GetCollection <Guild>(); var guild = guilds.FindOne(x => x.Id == args.Guild.Id); if (guild.NightWatchEnabled) { tasks.Add(NightWatch.NightWatchUserJoin(args)); } if (guild.AutoRole > 0) { tasks.Add(Join.OnJoinAddRole(args, guild.AutoRole)); } } tasks.Add(SpecialJoin.OnSpecialJoin(args)); await Task.WhenAll(tasks); }
private async Task MessageCreated(MessageCreateEventArgs args) { await Task.Yield(); if (args.Channel.IsPrivate) { return; } var tasks = new List <Task>(); using (var db = new LiteDatabase("Data.db")) { var guilds = db.GetCollection <Guild>(); var guild = guilds.FindOne(x => x.Id == args.Guild.Id); if (guild.HandleUsers) { } if (guild.NightWatchEnabled) { tasks.Add(NightWatch.NightWatchMessage(args)); } } await Task.WhenAll(tasks); }