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); }
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"); }
public CommandWaitingList(WaitingListDataContext dataContext, DiscordSocketRestClient restClient, ulong guildId) { this.dataContext = dataContext; this.restClient = restClient; this.guildId = guildId; this.guildData = dataContext.GetGuild(guildId) !; }
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; }
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; }
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"); }
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; }