Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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);
        }