Пример #1
0
        public async Task ProfanityFilter([Summary("On to allow, censor to censor, delete to delete")] string enabled = null)
        {
            await Context.Channel.TriggerTypingAsync();

            var server = await _servers.GetServer(Context.Guild);

            if (enabled == null)
            {
                var message = "off";
                if (server.ProfanityFilterMode == ProfanityFilterMode.FilterCensor)
                {
                    message = "set to censor";
                }
                else if (server.ProfanityFilterMode == ProfanityFilterMode.FilterDelete)
                {
                    message = "set to delete";
                }
                await ReplyAsync($"Profanity Filter is `{message}`.");

                return;
            }

            if (enabled.ToLowerInvariant() == "censor")
            {
                server.ProfanityFilterMode = ProfanityFilterMode.FilterCensor;
            }
            else if (enabled.ToLowerInvariant() == "delete")
            {
                server.ProfanityFilterMode = ProfanityFilterMode.FilterDelete;
            }
            else if (enabled.ToLowerInvariant() == "off")
            {
                server.ProfanityFilterMode = ProfanityFilterMode.FilterOff;
            }
            else
            {
                await ReplyAsync("Would you like to set the profanity filter to `censor`, `delete` or `off`?");

                return;
            }

            await _serverRepository.EditAsync(server);

            await Context.Channel.SendEmbedAsync("Profanity Filter", $"Profanity Filter has been set to `{enabled}`",
                                                 ColorHelper.GetColor(server));

            await _servers.SendLogsAsync(Context.Guild, "Profanity Filter", $"Profanity Filter has been set to `{enabled}` by {Context.User.Mention}");

            _logger.LogInformation("{user}#{discriminator} set profanityfilter to {enabled} in {channel} on {server}",
                                   Context.User.Username, Context.User.Discriminator, enabled, Context.Channel.Name, Context.Guild.Name);
        }
Пример #2
0
        public async Task Welcoming(string option = null)
        {
            await Context.Channel.TriggerTypingAsync();

            _logger.LogInformation("{user}#{discriminator} invoked welcome setting ({option}) in {channel} on {server}",
                                   Context.User.Username, Context.User.Discriminator, option, Context.Channel.Name, Context.Guild.Name);

            var server = await ServerHelper.GetOrAddServer(Context.Guild.Id, _serverRepository);

            if (option.ToLowerInvariant() == "enable")
            {
                server.WelcomeUsers = true;
                await _serverRepository.EditAsync(server);

                await _servers.SendLogsAsync(Context.Guild, "Welcome Users", $"{Context.User.Mention} set User Welcoming `enable`");

                _logger.LogInformation("User Welcoming enabled by {user} in server {server}", Context.User.Username, Context.Guild.Name);

                await ReplyAsync("User welcoming has been enabled!");

                return;
            }
            else if (option.ToLowerInvariant() == "disable")
            {
                server.WelcomeUsers = false;
                await _serverRepository.EditAsync(server);

                await _servers.SendLogsAsync(Context.Guild, "Welcome Users", $"{Context.User.Mention} set User Welcoming `disable`");

                _logger.LogInformation("User Welcoming disabled by {user} in server {server}", Context.User.Username, Context.Guild.Name);

                await ReplyAsync("User welcoming has been disabled!");

                return;
            }

            await ReplyAsync("Would you to `enable` or `disable` user welcoming?");

            return;
        }
Пример #3
0
        public async Task Enable()
        {
            await Context.Channel.TriggerTypingAsync();

            if (await ServerHelper.CheckIfContextIsDM(Context))
            {
                return;
            }

            _logger.LogInformation("{user}#{discriminator} invoked invite enable in {channel} on {server}",
                                   Context.User.Username, Context.User.Discriminator, Context.Channel.Name, Context.Guild?.Name ?? "DM");

            var server = await ServerHelper.GetOrAddServer(Context.Guild.Id, _serverRepository);

            server.TrackInvites = true;
            await _serverRepository.EditAsync(server);

            await _commandHandler.RequestInviteUpdate();

            await ReplyAsync("This feature is experamental and may have issues.\nInvite tracking enabled");

            await _serverService.SendLogsAsync(Context.Guild, "Invite Tracking Enabled", $"{Context.User.Mention} Enabled invite tracking!");
        }