Пример #1
0
 public static void Watch(string key, string value)
 {
     if (_watchedItems.ContainsKey(key) && _watchedItems [key].Type == WatchedItem.ItemType.String)
     {
         _watchedItems [key].Data = value;
     }
     else
     {
         _watchedItems [key] = new WatchedItem(WatchedItem.ItemType.String, key, value);
     }
 }
Пример #2
0
 public static void Watch(string key, float value)
 {
     if (_watchedItems.ContainsKey(key) && _watchedItems [key].Type == WatchedItem.ItemType.Float)
     {
         _watchedItems [key].Data = value.ToString();
     }
     else
     {
         _watchedItems [key] = new WatchedItem(WatchedItem.ItemType.Float, key, value.ToString());
     }
 }
Пример #3
0
        protected async Task HandleNewRequest(RequestItem item)
        {
            Context.Progression.Status = RequestStatus.Success;

            var message = item.OmbiStatus switch
            {
                RequestOmbiStatus.Requested => "has already been requested! I will tell you when it will be approved.",
                RequestOmbiStatus.Denied => "has already been requested and denied... Maybe your request doesn't match the conditions?",
                RequestOmbiStatus.Approved => "has already been requested and approved! I will tell you when it becomes available.",
                RequestOmbiStatus.Available => "is already available. You can watch it now !",
                _ => null,
            };

            if (message != null)
            {
                Context.Database.WatchedItems.Add(WatchedItem.From(item, Context.User));
                await Context.Bot.EditMessage(Context.Message, $"This {item.Type} {message}", item);

                Context.Logger.LogInformation($"User {await Context.GetName()} requested an already {item.OmbiStatus} item: {item.Title} ({item.Type} - {item.Year})");
                return;
            }

            var ombiService = Context.IsAdmin ? Context.Ombi : Context.Ombi;

            switch (item.Type)
            {
            case RequestType.Movie:
                item.RequestId = (await ombiService.RequestMovie(new { theMovieDbId = item.Id })).RequestId;
                break;

            case RequestType.TvShow:
                item.RequestId = (await ombiService.RequestTv(new { tvDbId = item.Id, seasons = item.Seasons })).RequestId;
                break;
            }

            Context.Database.WatchedItems.Add(WatchedItem.From(item, Context.User));

            await Context.Bot.EditMessage(Context.Message, $"The {item.Type} has been added to the request queue! I will tell you when it will be approved.", item);

            Context.Logger.LogInformation($"User {await Context.GetName()} has just requested item: {item.Title} ({item.Type} - {item.Year})");

            await NotifyAdministrator(item);
        }
Пример #4
0
 public static void Watch(string key, float value)
 {
     if (_watchedItems.ContainsKey (key) && _watchedItems [key].Type == WatchedItem.ItemType.Float) {
                     _watchedItems [key].Data = value.ToString ();
             } else {
                     _watchedItems [key] = new WatchedItem (WatchedItem.ItemType.Float, key, value.ToString ());
             }
 }
Пример #5
0
 public static void Watch(string key, string value)
 {
     if (_watchedItems.ContainsKey (key) && _watchedItems [key].Type == WatchedItem.ItemType.String) {
                     _watchedItems [key].Data = value;
             } else {
                     _watchedItems [key] = new WatchedItem (WatchedItem.ItemType.String, key, value);
             }
 }