private async Task UpdateRelevantAutorolesForUserAsync ( AutoroleService autoroles, AutoroleUpdateService autoroleUpdates, IAsyncEnumerable <AutoroleConfiguration> relevantAutoroles, IGuildUser guildUser ) { await foreach (var relevantAutorole in relevantAutoroles) { var updateResult = await autoroleUpdates.UpdateAutoroleForUserAsync(relevantAutorole, guildUser); if (!updateResult.IsSuccess) { this.Log.LogError(updateResult.Exception, updateResult.ErrorReason); continue; } switch (updateResult.Status) { case AutoroleUpdateStatus.RequiresAffirmation: { await NotifyUserNeedsAffirmation(autoroles, relevantAutorole, guildUser); break; } } } }
/// <summary> /// Initializes a new instance of the <see cref="MessageCountConditionResponder"/> class. /// </summary> /// <param name="autoroles">The autorole service.</param> /// <param name="statistics">The statistics service.</param> /// <param name="autoroleUpdates">The autorole update service.</param> public MessageCountConditionResponder ( AutoroleService autoroles, UserStatisticsService statistics, AutoroleUpdateService autoroleUpdates ) { _autoroles = autoroles; _statistics = statistics; _autoroleUpdates = autoroleUpdates; }
/// <summary> /// Initializes a new instance of the <see cref="ReactionConditionResponder"/> class. /// </summary> /// <param name="autoroles">The autorole service.</param> /// <param name="autoroleUpdates">The autorole update service.</param> /// <param name="guildAPI">The guild API.</param> public ReactionConditionResponder ( AutoroleService autoroles, AutoroleUpdateService autoroleUpdates, IDiscordRestGuildAPI guildAPI ) { _autoroles = autoroles; _autoroleUpdates = autoroleUpdates; _guildAPI = guildAPI; }
/// <summary> /// Initializes a new instance of the <see cref="UserActivityResponder"/> class. /// </summary> /// <param name="autoroles">The autorole service.</param> /// <param name="autoroleUpdates">The autorole update service.</param> /// <param name="statistics">The statistics service.</param> public UserActivityResponder ( AutoroleService autoroles, AutoroleUpdateService autoroleUpdates, UserStatisticsService statistics ) { _autoroles = autoroles; _autoroleUpdates = autoroleUpdates; _statistics = statistics; }
/// <summary> /// Initializes a new instance of the <see cref="RoleConditionResponder"/> class. /// </summary> /// <param name="autoroles">The autorole service.</param> /// <param name="autoroleUpdates">The autorole update service.</param> public RoleConditionResponder(AutoroleService autoroles, AutoroleUpdateService autoroleUpdates) { _autoroles = autoroles; _autoroleUpdates = autoroleUpdates; }