public ModerationService( IDiscordClient discordClient, IAuthorizationService authorizationService, IChannelService channelService, IUserService userService, IModerationActionRepository moderationActionRepository, IDesignatedRoleMappingRepository designatedRoleMappingRepository, IInfractionRepository infractionRepository, IDeletedMessageRepository deletedMessageRepository, IDeletedMessageBatchRepository deletedMessageBatchRepository, IRoleService roleService, IDesignatedChannelService designatedChannelService, IDogStatsd dogStatsd) { _discordClient = discordClient; _authorizationService = authorizationService; _channelService = channelService; _userService = userService; _moderationActionRepository = moderationActionRepository; _designatedRoleMappingRepository = designatedRoleMappingRepository; _infractionRepository = infractionRepository; _deletedMessageRepository = deletedMessageRepository; _deletedMessageBatchRepository = deletedMessageBatchRepository; _roleService = roleService; _designatedChannelService = designatedChannelService; _dogStatsd = dogStatsd; }
/// <summary> /// Creates a new <see cref="ModerationService"/>, with the given injected dependencies. /// </summary> public ModerationService( IDiscordClient discordClient, IAuthorizationService authorizationService, IChannelService channelService, IUserService userService, IModerationActionRepository moderationActionRepository, IDesignatedRoleMappingRepository designatedRoleMappingRepository, IInfractionRepository infractionRepository, IDeletedMessageRepository deletedMessageRepository, IDeletedMessageBatchRepository deletedMessageBatchRepository, IRoleService roleService, IDesignatedChannelService designatedChannelService, IDogStatsd stats = null) { DiscordClient = discordClient; AuthorizationService = authorizationService; ChannelService = channelService; UserService = userService; ModerationActionRepository = moderationActionRepository; DesignatedRoleMappingRepository = designatedRoleMappingRepository; InfractionRepository = infractionRepository; DeletedMessageRepository = deletedMessageRepository; DeletedMessageBatchRepository = deletedMessageBatchRepository; RoleService = roleService; DesignatedChannelService = designatedChannelService; Stats = stats; }
/// <summary> /// Creates a new <see cref="ModerationService"/>. /// </summary> /// <param name="discordClient">The value to use for <see cref="DiscordClient"/>.</param> /// <param name="authorizationService">The value to use for <see cref="AuthorizationService"/>.</param> /// <param name="userService">The value to use for <see cref="UserService"/>.</param> /// <param name="moderationConfigRepository">The value to use for <see cref="ModerationConfigRepository"/>.</param> /// <param name="moderationActionRepository">The value to use for <see cref="ModerationActionRepository"/>.</param> /// <param name="infractionRepository">The value to use for <see cref="InfractionRepository"/>.</param> /// <exception cref="ArgumentNullException">Throws for all parameters.</exception> public ModerationService( IDiscordClient discordClient, IAuthorizationService authorizationService, IGuildService guildService, IUserService userService, IModerationConfigRepository moderationConfigRepository, IModerationActionRepository moderationActionRepository, IInfractionRepository infractionRepository) { DiscordClient = discordClient ?? throw new ArgumentNullException(nameof(discordClient)); AuthorizationService = authorizationService ?? throw new ArgumentNullException(nameof(authorizationService)); GuildService = guildService ?? throw new ArgumentNullException(nameof(guildService)); UserService = userService ?? throw new ArgumentNullException(nameof(userService)); ModerationConfigRepository = moderationConfigRepository ?? throw new ArgumentNullException(nameof(moderationConfigRepository)); ModerationActionRepository = moderationActionRepository ?? throw new ArgumentNullException(nameof(moderationActionRepository)); InfractionRepository = infractionRepository ?? throw new ArgumentNullException(nameof(infractionRepository)); }
/// <summary> /// Creates a new <see cref="ModerationService"/>, with the given injected dependencies. /// </summary> public ModerationService( IDiscordClient discordClient, IAuthorizationService authorizationService, IChannelService channelService, IUserService userService, IModerationActionRepository moderationActionRepository, IDesignatedRoleMappingRepository designatedRoleMappingRepository, IInfractionRepository infractionRepository, IDeletedMessageRepository deletedMessageRepository) { DiscordClient = discordClient; AuthorizationService = authorizationService; ChannelService = channelService; UserService = userService; ModerationActionRepository = moderationActionRepository; DesignatedRoleMappingRepository = designatedRoleMappingRepository; InfractionRepository = infractionRepository; DeletedMessageRepository = deletedMessageRepository; }