예제 #1
0
        public async Task MainAsync()
        {
            Memes.CardsDictionaryInit();
            Memes.EmotesDictionaryInit();

            _client   = new DiscordSocketClient();
            _commands = new CommandService();
            _services = new ServiceCollection()
                        .AddSingleton(_client)
                        .AddSingleton(_commands)
                        .BuildServiceProvider();

            using (StreamReader streamReader = new StreamReader(path, true)){
                token = streamReader.ReadToEnd();
            }

            //events here
            _client.Log        += Log;
            _client.UserJoined += AnnounceUserJoined;


            await RegisterCommandsAsync();

            await _client.LoginAsync(TokenType.Bot, token);

            await _client.StartAsync();

            await Task.Delay(-1);
        }
예제 #2
0
 public IHttpActionResult CreateMemes([FromBody] MemHashTagsViewModel createMem)
 {
     if (createMem != null)
     {
         Memes mem = new Memes()
         {
             MemName = createMem.MemName,
             Image   = createMem.Image,
             UserId  = createMem.UserId
         };
         db.Memes.Add(mem);
         db.SaveChanges();
         foreach (var item in createMem.HashTags)
         {
             var hashTag = new HashTag()
             {
                 Name    = item,
                 MemesId = mem.Id
             };
             db.HashTags.Add(hashTag);
             db.SaveChanges();
         }
         return(Ok());
     }
     else
     {
         return(NotFound());
     }
 }
예제 #3
0
 public void Dispose()
 {
     Memes.Clear();
     GC.Collect();
     GC.WaitForPendingFinalizers();
     OnAllPropertyChanged();
 }
예제 #4
0
 /// <summary>
 /// Функция добавляет мем или загружает его по ссылке
 /// </summary>
 private void AddMeme()
 {
     if (!string.IsNullOrEmpty(MemeName) && !string.IsNullOrEmpty(MemeCategory))
     {
         if (!string.IsNullOrEmpty(MemeLocation))
         {
             Meme mem = new Meme(MemeName, MemeCategory, MemeLocation);
             if (!MemeHashTag.Equals("#"))
             {
                 mem.HashTag = MemeHashTag;
             }
             Memes.Add(mem);
         }
         else if (!string.IsNullOrEmpty(MemeUrl.ToString()))
         {
             SelectPathDownload();
             bool res = Meme.DownloadMem(MemeUrl, MemeName);
             if (res)
             {
                 MemeLocation = Meme.filePath + '\\' + MemeName + ".png";
                 Meme mem = new Meme(MemeName, MemeCategory, MemeLocation);
                 if (!MemeHashTag.Equals("#"))
                 {
                     mem.HashTag = MemeHashTag;
                 }
                 Memes.Add(mem);
             }
         }
         MakeCurrentMemeEmpty();
         DataManager.SaveData();
     }
 }
예제 #5
0
        public async Task MemeCommands(params string[] args)
        {
            if (args.Length == 0)
            {
                await ReplyAsync(Memes.GetRandomMeme(random).GetFormattedUrl());
            }
            else if (args[0] == "add")
            {
                string url  = args[1];
                Meme   meme = new Meme(url);
                Memes.AddMeme(meme);
                await ReplyAsync("Added meme.");
            }
            else if (args[0] == "count")
            {
                await ReplyAsync(string.Format("There are {0} memes stored.", Memes.GetMemeCount()));
            }
            else if (args[0] == "remove")
            {
                string url = args[1];

                Memes.RemoveMeme(url);
                Memes.SaveMemes();
                await ReplyAsync(string.Format("Meme removed"));
            }
        }
예제 #6
0
 /// <summary>
 /// Adds a new meme to the database
 /// </summary>
 /// <param name="meme">New meme</param>
 public void Add(Meme meme)
 {
     MakeMemeBackup(meme);
     Memes.Add(meme);
     using var db = new ApplicationContext();
     db.Memes.Add(meme);
 }
예제 #7
0
 public void ShowImagesWithTags(string tags)
 {
     Memes.Clear();
     foreach (var meme in Repo.FindByTags(tags))
     {
         Memes.Add(meme);
     }
 }
예제 #8
0
        static void Main(string[] args)
        {
            Memes bruh = new Memes();

            bruh.Lunch();
            bruh.BlackBeanBurger();
            bruh.WeedEveryDay();
            Console.ReadLine();
        }
예제 #9
0
 /// <summary>
 /// Adds a new meme to the database
 /// </summary>
 /// <param name="meme">New meme</param>
 public void Add(Meme meme)
 {
     CheckImagesDirectoryExists();
     MakeMemeBackup(meme);
     Memes.Add(meme);
     using var db = new ApplicationContext();
     db.Memes.Add(meme);
     UpdateDictionary(meme);
 }
예제 #10
0
        public IHttpActionResult GetProduct(int id)
        {
            Memes mem = db.Memes.Find(id);

            if (mem == null)
            {
                return(NotFound());
            }
            return(Ok(mem));
        }
예제 #11
0
 /// <summary>
 /// Функция удаляет выбранный мем
 /// </summary>
 /// <param name="meme">Выбранный мем</param>
 private void DeleteMeme(Meme meme)
 {
     Memes.Remove(meme);
     try
     {
         DataManager.Memes.Remove(meme);
     }
     catch { }
     DataManager.SaveData();
     File.Delete(meme.Source);
 }
예제 #12
0
 private void SearchMemes(string value)
 {
     if (string.IsNullOrWhiteSpace(value))
     {
         MemePaths = new ObservableCollection <string>(Memes);
     }
     else
     {
         MemePaths = new ObservableCollection <string>(Memes.Where(x => x.ToLower().Contains(value.ToLower())));
     }
 }
예제 #13
0
 private void _searchService_NewRequest(IEnumerable <Meme> memes)
 {
     if (memes != null && !IsBusy)
     {
         Model = memes;
         App.Current.Dispatcher.BeginInvoke(() => {
             Memes.Clear();
             PageLoadedCommand.Execute(null);
         });
     }
 }
예제 #14
0
        private void BgW_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            foreach (var item in (List <Meme>)e.Result)
            {
                Memes.Add(item);
            }
            OnPropertyChanged(nameof(Memes));

            GC.Collect();
            GC.WaitForPendingFinalizers();


            IsLoaded = true;
            IsBusy   = false;
        }
        public async Task HandleCommandAsync(SocketUserMessage message)
        {
            string messageContent = message.Content;
            var    context        = new SocketCommandContext(_client, message);
            int    argPos         = 0;

            if (IsOnlyMention(message, _client.CurrentUser))
            {
                var utility = new Utility();
                utility.SetContext(context);
                await utility.OnMention();

                return;
            }
            Regex regex = new Regex("\\bvente\\b", RegexOptions.IgnoreCase);

            if (messageContent.Length <= 35 && regex.IsMatch(messageContent))
            {
                var memes = new Memes();
                memes.SetContext(context);
                await memes.Vente();

                return;
            }
            string strippedContent = StripNonSpacingMarks(messageContent);

            strippedContent = strippedContent.Trim();
            strippedContent = strippedContent.Trim(new[] { '\u200B', '\uFEFF' });
            if (a.Contains(strippedContent))
            {
                var memes = new Memes();
                memes.SetContext(context);
                await memes.A();

                return;
            }
            if (new Random().Next(0, 500) == 69)
            {
                var memes = new Memes();
                memes.SetContext(context);
                await memes.FakeQuote(messageContent);

                return;
            }
        }
        private void TransferMemes()
        {
            var oldMemes = _oldDbContext.Meme.ToList();
            var newMemes = _newDbContext.Memes.ToList();

            foreach (var oldMeme in oldMemes)
            {
                var findMeme = _newDbContext.Memes.FirstOrDefault(m => m.Slug == oldMeme.Slug);

                if (findMeme == null)
                {
                    var author   = _newDbContext.AspNetUsers.FirstOrDefault(u => u.UserName == oldMeme.Author.Username);
                    var category = _newDbContext.MemeCategories.FirstOrDefault(mc => mc.Name == oldMeme.Category.Name);
                    var section  = _newDbContext.MemeSections.FirstOrDefault(ms => ms.Name == oldMeme.Section.Name);

                    var newMeme = new Memes()
                    {
                        AuthorId       = author.Id,
                        MemePath       = oldMeme.MemePath,
                        Title          = oldMeme.Title,
                        Description    = oldMeme.Description,
                        Views          = oldMeme.Views,
                        MemeCategoryId = category.Id,
                        Rating         = oldMeme.Rating,
                        Slug           = oldMeme.Slug,
                        CreatedAt      = oldMeme.CreatedAt,
                        UpdatedAt      = oldMeme.UpdatedAt,
                        MemeSectionId  = section.Id,
                        FeatureIndex   = oldMeme.FeaturedIndex
                    };

                    _newDbContext.Memes.Add(newMeme);
                    _newDbContext.SaveChanges();
                }
            }
        }
예제 #17
0
        public void NavigateByRequest(Func <Meme, bool> func)
        {
            IEnumerable <Meme> memes = Memes.Where(func);

            NewRequest?.Invoke(memes);
        }
예제 #18
0
        public void NavigateByMemeTag(Guid guid)
        {
            IEnumerable <Meme> memes = Memes.Where(meme => meme.Tags.FirstOrDefault(m => m.MemeTag.Id == guid) != null);

            NewRequest?.Invoke(memes);
        }
예제 #19
0
        public FakeGagDbContext()
        {
            Random        rd           = new Random();
            List <string> ImagesPathes = new List <string>
            {
                "/Content/Images/meme1.png"
            };

            for (int i = 2; i <= 24; i++)
            {
                ImagesPathes.Add("/Content/Images/meme" + i + ".jpg");
            }



            int sizeImagePatcges = ImagesPathes.Count;
            var Users            = new List <UserModel>();

            for (int i = 1; i < 30; i++)
            {
                Users.Add(new UserModel
                {
                    Name      = "user" + i,
                    ImagePath = "/Content/AvatarImages/RandomAvatar (" + i + ").jpg",



                    Password = "******" + i
                });
            }

            var CommentsBase = new List <CommentModel>
            {
                new CommentModel
                {
                    Text    = "bla bla bbla bardzo bardzo fajne",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "FFFajne",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "nie fajne",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "xDDDDDD",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "WWow",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "(-.-)))",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                }, new CommentModel
                {
                    Text    = "Non retard units anyone?",
                    User    = Users[rd.Next(0, Users.Count)],
                    Upvotes = rd.Next(0, 376)
                },
            };

            var Categories = new List <CategoryModel>
            {
                new CategoryModel()
                {
                    Name  = "Funny",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Wallpaper",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Pic Of The Day",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Animals",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Ask 9GAG",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Awesome",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "WTF",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Food",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Gaming",
                    Memes = new List <MemeModel>
                    {
                    }
                },
                new CategoryModel()
                {
                    Name  = "Gif",
                    Memes = new List <MemeModel>
                    {
                    }
                }
            };

            foreach (var category in Categories)
            {
                int id   = 1;
                int size = rd.Next(6, 14);
                for (int i = 0; i < size; i++)
                {
                    id++;
                    category.Memes.Add(new MemeModel
                    {
                        User = Users[rd.Next(0, Users.Count)],

                        Points    = rd.Next(0, 700),
                        Title     = "Random title " + category.Name + " [" + i.ToString() + "]",
                        ImagePath = ImagesPathes[rd.Next(0, ImagesPathes.Count)],

                        Comments = new List <CommentModel> {
                            new CommentModel
                            {
                                Text    = "bla bla bbla bardzo bardzo fajne",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "FFFajne",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "nie fajne",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "xDDDDDD",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "WWow",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "(-.-)))",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }, new CommentModel
                            {
                                Text    = "Non retard units anyone?",
                                User    = Users[rd.Next(0, Users.Count)],
                                Upvotes = rd.Next(0, 376)
                            }
                        },
                    });
                }
            }
            this.Memes      = new FakeDbSet <MemeModel>();
            this.Categories = new FakeDbSet <CategoryModel>();
            this.Users      = new FakeDbSet <UserModel>();
            foreach (var u in Users)
            {
                this.Users.Add(u);
            }
            this.Comments = new FakeDbSet <CommentModel>();
            foreach (var cat in Categories)
            {
                this.Categories.Add(cat);
                foreach (var meme in cat.Memes)
                {
                    Memes.Add(meme);
                }
            }
        }
예제 #20
0
 public void Remove(Meme meme)
 {
     Memes.Remove(meme);
 }