From d7e80893901d871f66daeca1010d9544aa1c3781 Mon Sep 17 00:00:00 2001 From: zaanposni Date: Tue, 2 Jan 2024 21:24:09 +0100 Subject: [PATCH] even more telemetry removed --- .../TelemetryDataConfigurationDto.cs | 15 -- .../TelemetryDataGlobalFeatureUsageDto.cs | 11 - .../TelemetryDataGuildFeatureUsageDto.cs | 218 ------------------ .../Telemetry/TelemetryDataGuildSizeDto.cs | 13 -- .../Telemetry/TelemetryDataResourceDto.cs | 13 -- .../Dtos/Telemetry/TelemetryDataUsageDto.cs | 16 -- .../Enums/TelemetryDataUsageActionType.cs | 58 ----- backend/MASZ/Program.cs | 1 - backend/MASZ/Services/DiscordBot.cs | 12 +- 9 files changed, 1 insertion(+), 356 deletions(-) delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataConfigurationDto.cs delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataGlobalFeatureUsageDto.cs delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataGuildFeatureUsageDto.cs delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataGuildSizeDto.cs delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataResourceDto.cs delete mode 100644 backend/MASZ/Dtos/Telemetry/TelemetryDataUsageDto.cs delete mode 100644 backend/MASZ/Enums/TelemetryDataUsageActionType.cs diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataConfigurationDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataConfigurationDto.cs deleted file mode 100644 index ec89c9517..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataConfigurationDto.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace MASZ.Dtos -{ - public class TelemetryDataConfigurationDto - { - public string HashedServer { get; set; } - public string DeploymentMode { get; set; } - public string DeploymentVersion { get; set; } - public int DefaultLanguage { get; set; } - public bool DemoMode { get; set; } - public bool PublicFileMode { get; set; } - public bool CustomPluginsEnabled { get; set; } - public int CustomPluginsCount { get; set; } - public int SiteAdminsCount { get; set; } - } -} \ No newline at end of file diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataGlobalFeatureUsageDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataGlobalFeatureUsageDto.cs deleted file mode 100644 index b4b5b15e1..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataGlobalFeatureUsageDto.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace MASZ.Dtos -{ - public class TelemetryDataGlobalFeatureUsageDto - { - public string HashedServer { get; set; } - public int GuildCount { get; set; } - public bool AuditLogEnabled { get; set; } - public bool PublicFileMode { get; set; } - public int APITokenCount { get; set; } - } -} \ No newline at end of file diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildFeatureUsageDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildFeatureUsageDto.cs deleted file mode 100644 index 35ca6daf5..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildFeatureUsageDto.cs +++ /dev/null @@ -1,218 +0,0 @@ -using System.Linq; -using MASZ.Enums; -using MASZ.Models; - -namespace MASZ.Dtos -{ - public class TelemetryDataGuildFeatureUsageDto - { - public string HashedServer { get; set; } - public string HashedGuildId { get; set; } - - // config - - public int AdminRolesCount { get; set; } - public int ModRolesCount { get; set; } - public bool StrictPermissionCheckEnabled { get; set; } - public int MutedRolesCount { get; set; } - public bool InternalWebhookEnabled { get; set; } - public bool PublicWebhookEnabled { get; set; } - public bool PublicEmbedModeEnabled { get; set; } - public bool PublishModeratorInformationEnabled { get; set; } - public bool ExecuteWhoisOnJoinEnabled { get; set; } - public string Language { get; set; } - - // cases - - public int ModCaseCount { get; set; } - public int ModCaseBanCount { get; set; } - public int ModCaseKickCount { get; set; } - public int ModCaseWarnCount { get; set; } - public int ModCaseMuteCount { get; set; } - public int UniqueLabelsCount { get; set; } - public int ModCaseImportedCount { get; set; } - public int ModCaseAutomoderatedCount { get; set; } - public int ModCaseByCommandCount { get; set; } - public int ModCaseWithCommentCount { get; set; } - - // comments - - public int CommentCount { get; set; } - - // files - - public int FileCount { get; set; } - public int FileAverageSize { get; set; } - public int FileAllSize { get; set; } - - // automod events - - public int AutomodEventCount { get; set; } - - // appeals - - public int AppealCount { get; set; } - public int AppealAcceptedCount { get; set; } - public int AppealRejectedCount { get; set; } - public int AppealPendingCount { get; set; } - public int AppealQuestionsCount { get; set; } - - // usernotes - - public int UsernoteCount { get; set; } - - // usermaps - - public int UsermapCount { get; set; } - - // messages - - public int MessageCount { get; set; } - public DateTime? LastMessage { get; set; } - - // motd - - public bool MotdEnabled { get; set; } - - // auditlog - - public bool AuditLogMessageSentEnabled { get; set; } - public bool AuditLogMessageEditedEnabled { get; set; } - public bool AuditLogMessageDeletedEnabled { get; set; } - public bool AuditLogUsernameChangedEnabled { get; set; } - public bool AuditLogNicknameChangedEnabled { get; set; } - public bool AuditLogAvatarChangedEnabled { get; set; } - public bool AuditLogMemberRolesUpdatedEnabled { get; set; } - public bool AuditLogMemberJoinedEnabled { get; set; } - public bool AuditLogMemberLeftEnabled { get; set; } - public bool AuditLogMemberBannedEnabled { get; set; } - public bool AuditLogMemberUnbannedEnabled { get; set; } - public bool AuditLogInviteCreatedEnabled { get; set; } - public bool AuditLogInviteDeletedEnabled { get; set; } - public bool AuditLogThreadCreatedEnabled { get; set; } - public bool AuditLogMemberJoinedVoiceChannelEnabled { get; set; } - public bool AuditLogMemberLeftVoiceChannelEnabled { get; set; } - public bool AuditLogMemberSwitchedVoiceChannelEnabled { get; set; } - public bool AuditLogReactionAddedEnabled { get; set; } - public bool AuditLogReactionRemovedEnabled { get; set; } - - // automod config - - public bool AutomodInviteEnabled { get; set; } - public bool AutomodEmotesEnabled { get; set; } - public bool AutomodMentionsEnabled { get; set; } - public bool AutomodAttachmentsEnabled { get; set; } - public bool AutomodEmbedsEnabled { get; set; } - public bool AutomodLimitsEnabled { get; set; } - public bool AutomodCustomWordsEnabled { get; set; } - public bool AutomodSpamEnabled { get; set; } - public bool AutomodDuplicatesEnabled { get; set; } - public bool AutomodLinksEnabled { get; set; } - public bool AutomodPhishingLinksEnabled { get; set; } - - // zalgo - - public bool ZalgoEnabled { get; set; } - public bool ZalgoTryRenameEnabled { get; set; } - - // invites - - public int TrackedInvitesCount { get; set; } - - // evidence - - public int EvidenceCount { get; set; } - - public TelemetryDataGuildFeatureUsageDto( - string hashedServer, - string hashedGuildId, - MASZ.Models.GuildConfig guildConfig, - List modCases, - List appeals, - List appealStructures, - List userNotes, - List userMappings, - List scheduledMessages, - MASZ.Models.GuildMotd guildMotd, - List auditLogConfigs, - List automodConfigs, - List automodEvents, - MASZ.Models.ZalgoConfig zalgoConfig, - int trackedInviteCount, - int evidenceCount - ) - { - HashedServer = hashedServer; - HashedGuildId = hashedGuildId; - AdminRolesCount = guildConfig.AdminRoles.Count(); - ModRolesCount = guildConfig.ModRoles.Count(); - StrictPermissionCheckEnabled = guildConfig.StrictModPermissionCheck; - MutedRolesCount = guildConfig.MutedRoles.Count(); - InternalWebhookEnabled = guildConfig.ModInternalNotificationWebhook != null; - PublicWebhookEnabled = guildConfig.ModPublicNotificationWebhook != null; - PublicEmbedModeEnabled = guildConfig.PublicEmbedMode; - PublishModeratorInformationEnabled = guildConfig.PublishModeratorInfo; - ExecuteWhoisOnJoinEnabled = guildConfig.ExecuteWhoisOnJoin; - Language = guildConfig.PreferredLanguage.ToString(); - ModCaseCount = modCases.Count(); - ModCaseBanCount = modCases.Where(x => x.PunishmentType == PunishmentType.Ban).Count(); - ModCaseKickCount = modCases.Where(x => x.PunishmentType == PunishmentType.Kick).Count(); - ModCaseWarnCount = modCases.Where(x => x.PunishmentType == PunishmentType.Warn).Count(); - ModCaseMuteCount = modCases.Where(x => x.PunishmentType == PunishmentType.Mute).Count(); - UniqueLabelsCount = modCases.SelectMany(x => x.Labels).Distinct().Count(); - ModCaseImportedCount = modCases.Where(x => x.CreationType == CaseCreationType.Imported).Count(); - ModCaseAutomoderatedCount = modCases.Where(x => x.CreationType == CaseCreationType.AutoModeration).Count(); - ModCaseByCommandCount = modCases.Where(x => x.CreationType == CaseCreationType.ByCommand).Count(); - ModCaseWithCommentCount = modCases.Where(x => x.Comments.Count() > 0).Count(); - CommentCount = modCases.Select(x => x.Comments.Count).Sum(); - FileCount = -1; - FileAverageSize = -1; - FileAllSize = -1; - AutomodEventCount = automodEvents.Count(); - AppealCount = appeals.Count(); - AppealAcceptedCount = appeals.Where(x => x.Status == AppealStatus.Approved).Count(); - AppealRejectedCount = appeals.Where(x => x.Status == AppealStatus.Declined).Count(); - AppealPendingCount = appeals.Where(x => x.Status == AppealStatus.Pending).Count(); - AppealQuestionsCount = appealStructures.Where(x => !x.Deleted).Count(); - UsernoteCount = userNotes.Count(); - UsermapCount = userMappings.Count(); - MessageCount = scheduledMessages.Count(); - LastMessage = scheduledMessages.Count() > 0 ? scheduledMessages.Where(x => x.Status == ScheduledMessageStatus.Sent).Max(x => x.ScheduledFor) : null; - MotdEnabled = guildMotd != null && guildMotd.ShowMotd; - AuditLogMessageSentEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MessageSent) != null; - AuditLogMessageEditedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MessageUpdated) != null; - AuditLogMessageDeletedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MessageDeleted) != null; - AuditLogUsernameChangedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.UsernameUpdated) != null; - AuditLogNicknameChangedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.NicknameUpdated) != null; - AuditLogAvatarChangedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.AvatarUpdated) != null; - AuditLogMemberRolesUpdatedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MemberRolesUpdated) != null; - AuditLogMemberJoinedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MemberJoined) != null; - AuditLogMemberLeftEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.MemberRemoved) != null; - AuditLogMemberBannedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.BanAdded) != null; - AuditLogMemberUnbannedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.BanRemoved) != null; - AuditLogInviteCreatedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.InviteCreated) != null; - AuditLogInviteDeletedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.InviteDeleted) != null; - AuditLogThreadCreatedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.ThreadCreated) != null; - AuditLogMemberJoinedVoiceChannelEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.VoiceJoined) != null; - AuditLogMemberLeftVoiceChannelEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.VoiceLeft) != null; - AuditLogMemberSwitchedVoiceChannelEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.VoiceMoved) != null; - AuditLogReactionAddedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.ReactionAdded) != null; - AuditLogReactionRemovedEnabled = auditLogConfigs.Find(x => x.GuildAuditLogEvent == GuildAuditLogEvent.ReactionRemoved) != null; - AutomodInviteEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.InvitePosted) != null; - AutomodEmotesEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyEmotes) != null; - AutomodMentionsEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyMentions) != null; - AutomodAttachmentsEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyAttachments) != null; - AutomodEmbedsEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyEmbeds) != null; - AutomodLimitsEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyAutoModerations) != null; - AutomodCustomWordsEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.CustomWordFilter) != null; - AutomodSpamEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyMessages) != null; - AutomodDuplicatesEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyDuplicatedCharacters) != null; - AutomodLinksEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyLinks) != null; - AutomodPhishingLinksEnabled = automodConfigs.Find(x => x.AutoModerationType == AutoModerationType.TooManyPhishingLinks) != null; - ZalgoEnabled = zalgoConfig != null && zalgoConfig.Enabled; - ZalgoTryRenameEnabled = zalgoConfig != null && zalgoConfig.renameNormal; - TrackedInvitesCount = trackedInviteCount; - EvidenceCount = evidenceCount; - } - } -} \ No newline at end of file diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildSizeDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildSizeDto.cs deleted file mode 100644 index 652987865..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataGuildSizeDto.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace MASZ.Dtos -{ - public class TelemetryDataGuildSizeDto - { - public string HashedServer { get; set; } - public string HashedUserId { get; set; } - public string HashedGuildId { get; set; } - public int MemberCount { get; set; } - public int ChannelCount { get; set; } - public int RoleCount { get; set; } - public int InviteCount { get; set; } - } -} \ No newline at end of file diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataResourceDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataResourceDto.cs deleted file mode 100644 index 81ce479c6..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataResourceDto.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace MASZ.Dtos -{ - public class TelemetryDataResourceDto - { - public string HashedServer { get; set; } - public long AllocatedMemory { get; set; } - public long FreeMemory { get; set; } - public long TotalMemory { get; set; } - public double CPUUsage { get; set; } - public double DiscordLatency { get; set; } - public double DatabaseLatency { get; set; } - } -} \ No newline at end of file diff --git a/backend/MASZ/Dtos/Telemetry/TelemetryDataUsageDto.cs b/backend/MASZ/Dtos/Telemetry/TelemetryDataUsageDto.cs deleted file mode 100644 index 84e2fd156..000000000 --- a/backend/MASZ/Dtos/Telemetry/TelemetryDataUsageDto.cs +++ /dev/null @@ -1,16 +0,0 @@ -using MASZ.Enums; -using Newtonsoft.Json.Linq; - -namespace MASZ.Dtos -{ - public class TelemetryDataUsageDto - { - public string HashedServer { get; set; } - public string HashedUserId { get; set; } - public string HashedGuildId { get; set; } - public bool UserIsSiteAdmin { get; set; } - public bool UserIsToken { get; set; } - public TelemetryDataUsageActionType ActionType { get; set; } - public JObject AdditionalData { get; set; } - } -} \ No newline at end of file diff --git a/backend/MASZ/Enums/TelemetryDataUsageActionType.cs b/backend/MASZ/Enums/TelemetryDataUsageActionType.cs deleted file mode 100644 index aaa52b696..000000000 --- a/backend/MASZ/Enums/TelemetryDataUsageActionType.cs +++ /dev/null @@ -1,58 +0,0 @@ -namespace MASZ.Enums -{ - public enum TelemetryDataUsageActionType - { - UNKNOWN = 0, - LOGIN = 1, - LOGOUT = 2, - MODCASE_CREATE = 3, - MODCASE_UPDATE = 4, - MODCASE_DELETE = 5, - MODCASE_RESTORE = 6, - MODCASE_CREATE_COMMENT = 7, - MODCASE_UPDATE_COMMENT = 8, - MODCASE_DELETE_COMMENT = 9, - MODCASE_UPLOAD_ATTACHMENT = 10, - MODCASE_DELETE_ATTACHMENT = 11, - MODCASE_LINK_TO_MODCASE = 12, - MODCASE_UNLINK_TO_MODCASE = 13, - - COMMENTS_LOCK = 14, - COMMENTS_UNLOCK = 15, - - APPEAL_CREATE = 16, - APPEAL_DENIED = 17, - APPEAL_ACCEPTED = 18, - APPEAL_CONFIGURED = 19, - - USERNOTE_CREATE = 20, - USERNOTE_UPDATE = 21, - USERNOTE_DELETE = 22, - - USERMAP_CREATE = 23, - USERMAP_UPDATE = 24, - USERMAP_DELETE = 25, - - SCHEDULED_MESSAGE_CREATE = 26, - SCHEDULED_MESSAGE_UPDATE = 27, - SCHEDULED_MESSAGE_DELETE = 28, - - MOTD_EDITED = 29, - - AUDITLOG_EDITED = 30, - - AUTOMOD_EDITED = 31, - - ZALGO_EDITED = 32, - - GUILD_ADDED = 33, - GUILD_EDITED = 34, - GUILD_REMOVED = 35, - - ADMIN_SETTINGS_EDITED = 36, - - APPLICATION_COMMAND_USED = 37, - - CASE_TEMPLATE_CREATE = 38, - } -} \ No newline at end of file diff --git a/backend/MASZ/Program.cs b/backend/MASZ/Program.cs index 131074b90..c30959a63 100644 --- a/backend/MASZ/Program.cs +++ b/backend/MASZ/Program.cs @@ -239,7 +239,6 @@ await AppSettingsRepository.CreateDefault(scope.ServiceProvider).ApplyAppSettings(); - scope.ServiceProvider.GetRequiredService().RegisterEvents(); scope.ServiceProvider.GetRequiredService().RegisterEvents(); scope.ServiceProvider.GetRequiredService().RegisterEvents(); scope.ServiceProvider.GetRequiredService().RegisterEvents(); diff --git a/backend/MASZ/Services/DiscordBot.cs b/backend/MASZ/Services/DiscordBot.cs index 0ae750050..d899774ea 100644 --- a/backend/MASZ/Services/DiscordBot.cs +++ b/backend/MASZ/Services/DiscordBot.cs @@ -26,12 +26,11 @@ public class DiscordBot : IEvent private readonly Punishments _punishments; private readonly IServiceProvider _serviceProvider; private readonly InternalEventHandler _eventHandler; - private readonly TelemetryService _telemetryService; private bool _firstReady = true; private bool _isRunning = false; private DateTime? _lastDisconnect = null; - public DiscordBot(ILogger logger, DiscordSocketClient client, InternalConfiguration internalConfiguration, InteractionService interactions, IServiceProvider serviceProvider, Scheduler scheduler, Punishments punishments, InternalEventHandler eventHandler, TelemetryService telemetryService) + public DiscordBot(ILogger logger, DiscordSocketClient client, InternalConfiguration internalConfiguration, InteractionService interactions, IServiceProvider serviceProvider, Scheduler scheduler, Punishments punishments, InternalEventHandler eventHandler) { _logger = logger; _client = client; @@ -41,7 +40,6 @@ public DiscordBot(ILogger logger, DiscordSocketClient client, Intern _punishments = punishments; _serviceProvider = serviceProvider; _eventHandler = eventHandler; - _telemetryService = telemetryService; } public async Task ExecuteAsync() @@ -263,14 +261,6 @@ await _interactions.RegisterCommandsToGuildAsync( { _firstReady = false; try - { - await _telemetryService.ExecuteAsync(); - } - catch (Exception ex) - { - _logger.LogCritical(ex, "Something went wrong while starting the telemetry timer."); - } - try { await _scheduler.ExecuteAsync(); }