Exemple #1
0
        private async Task GuildUpdated(DiscordClient sender, GuildUpdateEventArgs e)
        {
            var guEntry = await GetNewEntryAsync() as DiscordAuditLogGuildEntry;

            if (guEntry == null)
            {
                return;                  //Defense from something(xD)
            }
            _entryBuilder = EmbedBuilderExtensions.CreateForAudit(guEntry, "Обновление параметров сервера");

            _entryBuilder.AddNamePropertyChange(guEntry.NameChange);
            _entryBuilder.AddPropertyChange("Регион", guEntry.RegionChange);
            _entryBuilder.AddPropertyChange("Уровень фильтрации откровенного контента", guEntry.ExplicitContentFilterChange);
            _entryBuilder.AddPropertyChange("Требования к верификации", guEntry.VerificationLevelChange);
            _entryBuilder.AddPropertyChange("Аватар", guEntry.IconChange);
            _entryBuilder.AddPropertyChange("Стандартные настройки уведомлений", guEntry.NotificationSettingsChange);
            _entryBuilder.AddPropertyChange("Двухфакторная аутентификация", guEntry.MfaLevelChange);
            _entryBuilder.AddPropertyChange("Изображение при инвайте", guEntry.SplashChange);

            _entryBuilder.AddChannelPropertyChange("Афк", guEntry.AfkChannelChange);
            _entryBuilder.AddChannelPropertyChange("Системный", guEntry.SystemChannelChange);

            await SendMessageToAuditAsync(embed : _entryBuilder);
        }
Exemple #2
0
        private async Task WebhooksUpdated(DiscordClient sender, WebhooksUpdateEventArgs e)
        {
            var webhookEntry = await GetNewEntryAsync() as DiscordAuditLogWebhookEntry;

            _entryBuilder = EmbedBuilderExtensions.CreateForAudit(webhookEntry);
            string action;

            switch (webhookEntry.ActionType)
            {
            case (AuditLogActionType.WebhookCreate):
            {
                action = "Создание";
            }
            break;

            case (AuditLogActionType.WebhookUpdate):
            {
                action = "Обновление";
                _entryBuilder.AddNamePropertyChange(webhookEntry.NameChange);
                _entryBuilder.AddChannelPropertyChange("Канал", webhookEntry.ChannelChange);
                _entryBuilder.AddPropertyChange("Аватар", webhookEntry.AvatarHashChange);
            }
            break;

            case (AuditLogActionType.WebhookDelete):
            {
                action = "Удаление";
            }
            break;

            default: return;
            }
            _entryBuilder.SetTitle(action + " вебхука");
            _entryBuilder.SetDescription($"{action} вебхука {webhookEntry.Target.Name}");

            await SendMessageToAuditAsync(embed : _entryBuilder);
        }