[store] add nsfw guard for boobs

This commit is contained in:
Andriy
2022-11-14 00:49:56 +02:00
parent 36e5ddd5af
commit c893992f5b
2 changed files with 28 additions and 4 deletions
@@ -1,15 +1,20 @@
using Telegram.Bot.Types.Enums;
using Kruzya.TelegramBot.Core.Data;
using Kruzya.TelegramBot.Core.Extensions;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using West.TelegramBot.ContentStore.Model;
namespace West.TelegramBot.ContentStore.Service;
public class AnimBoobsService : IRandomMediaService
{
private readonly CoreContext _db;
private readonly HttpClient _httpClient;
public StoreItem StoreItem { get; } = new("anim_boobs", "Сиськи движущиеся", 120, 40);
public AnimBoobsService()
public AnimBoobsService(CoreContext db)
{
_db = db;
_httpClient = new HttpClient()
{
BaseAddress = new Uri("https://westdev.me/_boobs/")
@@ -24,4 +29,11 @@ public class AnimBoobsService : IRandomMediaService
Type = InputMediaType.Video
};
}
public async Task<bool> CanView(Chat chat, User user)
{
var option = await _db.UserValues.FindOrCreateOption(chat.Id, "AllowNSFW");
return option.GetValue(false);
}
}
+14 -2
View File
@@ -1,15 +1,20 @@
using Newtonsoft.Json;
using Kruzya.TelegramBot.Core.Data;
using Kruzya.TelegramBot.Core.Extensions;
using Newtonsoft.Json;
using Telegram.Bot.Types;
using West.TelegramBot.ContentStore.Model;
namespace West.TelegramBot.ContentStore.Service;
public class OBoobsService : IRandomMediaService
{
private readonly CoreContext _db;
private readonly HttpClient _httpClient;
public StoreItem StoreItem { get; } = new("boobs", "Сиськи", 60, 30);
public OBoobsService()
public OBoobsService(CoreContext db)
{
_db = db;
_httpClient = new HttpClient
{
BaseAddress = new Uri("http://api.oboobs.ru")
@@ -26,4 +31,11 @@ public class OBoobsService : IRandomMediaService
return new RandomMedia($"https://media.oboobs.ru/boobs/{boobsId}.jpg", boobsItem.Model);
}
public async Task<bool> CanView(Chat chat, User user)
{
var option = await _db.UserValues.FindOrCreateOption(chat.Id, "AllowNSFW");
return option.GetValue(false);
}
}