using Telegram.Bot.Types; using West.TelegramBot.ContentStore.Model; using West.TelegramBot.ContentStore.Option; namespace West.TelegramBot.ContentStore.Service; public abstract class AbstractNsfwService : IRandomMediaService { private readonly AllowNsfw _allowNsfw; public abstract StoreItem StoreItem { get; } public abstract Task GetRandomMediaAsync(); protected AbstractNsfwService(AllowNsfw allowNsfw) { _allowNsfw = allowNsfw; } public async Task CanView(Chat chat, User user) => await _allowNsfw.GetValueAsync(chat.Id); }