initial chat options implementation

This commit is contained in:
Andriy
2023-07-20 20:24:16 +03:00
parent 46774bfd93
commit 8de8eac959
17 changed files with 420 additions and 5 deletions
+25
View File
@@ -0,0 +1,25 @@
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);
}
}