public RanksAndAutoRolesModule(IAutoRoleService autoRoleService, IServerService servers, ILogger <RanksAndAutoRolesModule> logger, IRankService rankService) { _autoRoleService = autoRoleService; _servers = servers; _logger = logger; _rankService = rankService; }
internal static async Task AssignAutoRoles(IAutoRoleService autoRoleService, SocketGuildUser userJoining) { var roles = await autoRoleService.GetAutoRoles(userJoining.Guild); if (!roles.Any()) { Log.Information("AutoRoleHelper: No auto roles to assign to {user} in {server}", userJoining.Username, userJoining.Guild.Name); return; } Log.Information("AutoRoleHelper: Assigning auto roles to {user}", userJoining.Username); await userJoining.AddRolesAsync(roles); }
public CommandHandler(DiscordSocketClient client, CommandService commands, ISettings settings, IServiceProvider serviceProvider, ILogger <CommandHandler> logger, IServerService servers, BannerImageService bannerImageService, IAutoRoleService autoRoleService, IProfanityRepository profanityRepository, IApiService apiService, IWelcomeMessageRepository welcomeMessageRepository, IPartMessageRepository partMessageRepository, IUserRepository userRepository, IInviteRepository inviteRepository, IServerInviteRepository serverInviteRepository, IServerRepository serverRepository) { _client = client; _commands = commands; _settings = settings; _serviceProvider = serviceProvider; _logger = logger; _servers = servers; _bannerImageService = bannerImageService; _autoRoleService = autoRoleService; _profanityRepository = profanityRepository; _apiService = apiService; _welcomeMessageRepository = welcomeMessageRepository; _partMessageRepository = partMessageRepository; _userRepository = userRepository; _inviteRepository = inviteRepository; _serverInviteRepository = serverInviteRepository; _serverRepository = serverRepository; _client.MessageReceived += OnMessageReceived; _client.UserJoined += OnUserJoined; _client.ReactionAdded += OnReactionAdded; _client.MessageUpdated += OnMessageUpated; _client.UserLeft += OnUserLeft; _client.JoinedGuild += OnJoinedGuild; _client.Ready += OnReady; _client.InviteCreated += OnInviteCreated; _commands.CommandExecuted += OnCommandExecuted; ProfanityHelper.ProfanityRepository = profanityRepository; Task.Run(async() => await MuteHandler.MuteWorker(client)); Task.Run(async() => await PomodoroHandler.PomodoroWorker(client)); }