public async Task Install(IServiceProvider _services)
 {
     socketClient = _services.GetService <DiscordSocketClient>();
     restClient   = _services.GetService <DiscordSocketRestClient>();
     config       = _services.GetService <Config>();
     services     = _services;
 }
        public static async Task <Result <RestGuildUser> > GetGuildUser(this DiscordSocketRestClient client, ulong guildId, ulong userId)
        {
            var task   = client.GetGuildUserAsync(guildId, userId);
            var result = await Task.Run(() => task);

            return(result);
        }
Exemple #3
0
 public JailConfigCommands(DiscordSocketClient client, ILoggingService logging, IJailSettingsRepository jailSettings, IGuildConfigRepository repo, InteractivityService interactivity)
 {
     _client        = client.Rest;
     _jailSettings  = jailSettings;
     _repo          = repo;
     _interactivity = interactivity;
     _logging       = new SourcedLoggingService(logging, "jailconfig");
 }
Exemple #4
0
        public CommandWaitingList(WaitingListDataContext dataContext, DiscordSocketRestClient restClient, ulong guildId)
        {
            this.dataContext = dataContext;
            this.restClient  = restClient;
            this.guildId     = guildId;

            this.guildData = dataContext.GetGuild(guildId) !;
        }
Exemple #5
0
 public GuildConfigCommands(InteractivityService interactivity, IGuildConfigRepository repo, ILoggingService logging, DiscordSocketClient client)
 {
     logging.Info("Initialising Guild Config Command Service");
     _interactivity = interactivity;
     _repo          = repo;
     _logging       = new SourcedLoggingService(logging, "ConfigCmds");
     _client        = client.Rest;
 }
Exemple #6
0
        public async Task MainAsync()
        {
            _client                  = new DiscordSocketClient();
            _client.Log             += Log;
            _client.MessageReceived += Message;
            _client.MessageReceived += AsyncMessage;

            _restClient = _client.Rest;

            var a5Timer = new System.Timers.Timer(5 * 60 * 1000);

            a5Timer.Elapsed += new ElapsedEventHandler(TimedFunctionFiveMinutes);
            a5Timer.Start();

            var a1Timer = new System.Timers.Timer(30 * 1000);

            a1Timer.Elapsed += new ElapsedEventHandler(TimedFunctionOneMinutes);
            a1Timer.Start();

            foreach (var feature in features)
            {
                feature.client     = _client;
                feature.restClient = _restClient;
                messageRecievedList.Add(feature.Message);
                messageAsyncRecievedList.Add(feature.AsyncMessage);
                timed5MinFunctionList.Add(feature.FiveMinuteTask);
                timed1MinFunctionList.Add(feature.MinuteTask);
                _client.Connected       += feature.Connected;
                _client.Connected       += feature.SetRest;
                _client.LoggedOut       += feature.Logout;
                _client.ReactionAdded   += feature.OnReaction;
                _client.ReactionRemoved += feature.OnRemoveReaction;
            }

            TextWriter errorWriter = Console.Error;
            var        res         = Responses.GetAllResponses().GroupBy(v => v);

            foreach (var responses in res)
            {
                if (responses.Count() > 1)
                {
                    errorWriter.WriteLine($"WARNING YOU HAVE A DUPLICATE RESPONSE: \"{responses.Key}\" : {responses.Count()}");
                }
            }

            using (FileStream fs = File.Open(TOKEN_PATH, FileMode.Open, FileAccess.Read))
            {
                StreamReader sr = new StreamReader(fs);
                token = sr.ReadLine();
            }

            await _client.LoginAsync(TokenType.Bot, token);

            await _client.StartAsync();

            await Task.Delay(-1);
        }
 public ReactionRoleCommands(InteractivityService interactivity, IGuildConfigRepository repo, ILoggingService logging, DiscordSocketClient client, ReactionRoleService rrService, IReactionRoleRuleRepository rrRepo)
 {
     logging.Info("Initialising Reaction Role Command Service");
     _interactivity = interactivity;
     _repo          = repo;
     _rrService     = rrService;
     _rrRepo        = rrRepo;
     _logging       = new SourcedLoggingService(logging, "RRCmds");
     _client        = client.Rest;
 }
Exemple #8
0
 public JailCommands(InteractivityService interactivity, IGuildConfigRepository repo, IJailSettingsRepository jailSettings, ILoggingService logging, DiscordSocketClient client, IJailDataRepository jailData, UnjailService unjail)
 {
     _interactivity = interactivity;
     _repo          = repo;
     _jailSettings  = jailSettings;
     _jailData      = jailData;
     _unjail        = unjail;
     _logging       = new SourcedLoggingService(logging, "Jail");
     _client        = client.Rest;
     _logging.Info("Jail commands setup");
 }
Exemple #9
0
        public static Color GetUserTopColour(this RestGuildUser user, DiscordSocketRestClient client, ulong guildId)
        {
            var guild       = client.GetGuildAsync(guildId).GetAwaiter().GetResult();
            var userRoleIds = user.RoleIds.ToArray();

            for (int i = 0; i < userRoleIds.Length; i++)
            {
                var role = guild.Roles.FirstOrDefault(x => x.Id == userRoleIds[i]);

                if (role.Color == Color.Default)
                {
                    continue;
                }

                return(role.Color);
            }

            return(new Color(5198940));
        }
 public async Task SetRest()
 {
     restClient = client.Rest;
     await Task.CompletedTask;
 }