Пример #1
0
 public RanksAndAutoRolesModule(IAutoRoleService autoRoleService,
                                IServerService servers,
                                ILogger <RanksAndAutoRolesModule> logger,
                                IRankService rankService)
 {
     _autoRoleService = autoRoleService;
     _servers         = servers;
     _logger          = logger;
     _rankService     = rankService;
 }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }