WhiteListManager
using PRTelegramBot.Interfaces;
using PRTelegramBot.Models.Enums;
namespace PRTelegramBot.Managers
{
/// <summary>
/// Менеджер управления белым списком.
/// </summary>
public class WhiteListManager : IWhiteListManager
{
#region Поля и свойства
/// <summary>
/// Пользователи.
/// </summary>
private List<long> users = new List<long>();
#endregion
#region IUserManager
/// <inheritdoc />
public long Count => users.Count;
/// <inheritdoc />
private WhiteListSettings settings = WhiteListSettings.OnPreUpdate;
/// <inheritdoc />
public WhiteListSettings Settings
{
get
{
return settings;
}
}
/// <inheritdoc />
public Task<bool> AddUser(long userId)
{
users.Add(userId);
return Task.FromResult(true);
}
/// <inheritdoc />
public Task<bool> AddUsers(params long[] userIds)
{
users.AddRange(userIds);
return Task.FromResult(true);
}
/// <inheritdoc />
public Task<List<long>> GetUsersIds()
{
return Task.FromResult(users.ToList());
}
/// <inheritdoc />
public Task<bool> HasUser(long userId)
{
return Task.FromResult(users.Contains(userId));
}
/// <inheritdoc />
public Task<bool> Reload()
{
return Task.FromResult(true);
}
/// <inheritdoc />
public Task<bool> RemoveUser(long userId)
{
return Task.FromResult(users.Remove(userId));
}
/// <inheritdoc />
public void SetSettings(WhiteListSettings whiteListSettings)
{
settings = whiteListSettings;
}
/// <inheritdoc />
public Task<bool> Initialize()
{
return Task.FromResult(true);
}
#endregion
}
}
Последнее обновление