Files
telegram-bot/Core/Options/AbstractOption.cs
T
2023-07-20 20:24:16 +03:00

25 lines
715 B
C#

using System.Runtime.Serialization;
using System.Threading.Tasks;
namespace Kruzya.TelegramBot.Core.Options;
public abstract class AbstractOption<TOption, TValue> : IOption<TValue>
where TOption: AbstractOption<TOption, TValue>
{
private readonly IOptionProvider _optionProvider;
protected AbstractOption(IOptionProvider optionProvider)
{
_optionProvider = optionProvider;
}
public async Task<TValue> GetValueAsync(long chatId)
{
return await _optionProvider.GetValueAsync<TOption, TValue>(chatId);
}
public async Task SetValueAsync(long chatId, TValue value)
{
await _optionProvider.SetValueAsync<TOption, TValue>(chatId, value);
}
}