public DbController(Db.Db db) { _db = db; }
public static async Task <FeatureRequest <Response.Unsubscribe, Error.Unsubscribe> > Unsubscribe(IGuild guild, Db.Db db) { if (!await db.RemoveAnimeSubscription(guild)) { return(new FeatureRequest <Response.Unsubscribe, Error.Unsubscribe>(null, Error.Unsubscribe.NoSubscription)); } return(new FeatureRequest <Response.Unsubscribe, Error.Unsubscribe>(new Response.Unsubscribe(), Error.Unsubscribe.None)); }
public static async Task <FeatureRequest <Response.Subscribe, Error.Subscribe> > Subscribe(IGuild guild, Db.Db db, string[] args) { string channel = string.Join(" ", args); if (channel.Length == 0) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.Help)); } ITextChannel chan = await Utilities.GetTextChannelAsync(channel, guild); if (chan == null) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.InvalidChannel)); } await db.AddAnimeSubscription(chan); return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(new Response.Subscribe { chan = chan }, Error.Subscribe.None)); }
public static async Task <FeatureRequest <Response.Unsubscribe, Error.Unsubscribe> > Unsubscribe(IGuild guild, Db.Db db, bool isChanSafe) { if (isChanSafe) { return(new FeatureRequest <Response.Unsubscribe, Error.Unsubscribe>(null, Error.Unsubscribe.ChanNotSafe)); } if (!await db.RemoveNHentaiSubscription(guild)) { return(new FeatureRequest <Response.Unsubscribe, Error.Unsubscribe>(null, Error.Unsubscribe.NoSubscription)); } return(new FeatureRequest <Response.Unsubscribe, Error.Unsubscribe>(new Response.Unsubscribe(), Error.Unsubscribe.None)); }
public static async Task <FeatureRequest <Response.Subscribe, Error.Subscribe> > Subscribe(IGuild guild, Db.Db db, string[] args, bool isChanSafe) { if (isChanSafe) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.ChanNotSafe)); } if (args.Length == 0) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.Help)); } ITextChannel chan = await Utilities.GetTextChannelAsync(args[0], guild); if (chan == null) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.InvalidChannel)); } if (!chan.IsNsfw) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.DestChanNotSafe)); } Subscription.SubscriptionTags sub; try { sub = Subscription.SubscriptionTags.ParseSubscriptionTags(args.Skip(1).ToArray()); await db.AddNHentaiSubscription(chan, sub); } catch (ArgumentException) { return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(null, Error.Subscribe.Help)); } return(new FeatureRequest <Response.Subscribe, Error.Subscribe>(new Response.Subscribe { chan = chan, subscription = sub }, Error.Subscribe.None)); }
public Repository() { _db = new Db.Db(); }