private async Task AutoBanAsync(SocketGuildUser user) { var offender = user as IUser; var server = bot.Guilds.FirstOrDefault(x => x.Id == BotConfig.Load().ServerId); var guild = server as IGuild; for (int i = 0; i <= AutoBans.Load().Bans; i++) { if (offender.Id == AutoBans.Load().Offenders[i]) { await AutoBan.AutoBanAsync(guild, offender); } } }
private async Task UserJoinedAsync(SocketGuildUser user) { var GuildUser = (IGuildUser)user; if (user.Guild == null) { return; } GreetMessages GM = null; AutoBan AB = null; ulong ChannelID = 0; using (var uow = DBHandler.UnitOfWork()) { if (!uow.Guild.IsGreeting(GuildUser.Guild.Id)) { return; } GM = uow.GreetMessages.GetRandomGreetMessage(GuildUser.Guild.Id); ChannelID = uow.Guild.GetOrCreateGuild(GuildUser.Guild.Id).GreetMessageChannel; AB = uow.AutoBan.GetAutoBan(GuildUser.Id); } if (AB != null) { await _discord.GetGuild(GuildUser.GuildId).AddBanAsync(user, reason: "Autobanned by Natsuki."); return; } if (GM == null || ChannelID == 0) { return; } var ChannelToSend = (IMessageChannel)_discord.GetChannel(ChannelID); string message = GM.Message.Replace("{user}", GuildUser.Mention); await ChannelToSend.SendMessageAsync(message); }