Exemplo n.º 1
0
        public override async Task Invoke(IUserMessage message)
        {
            string msgError = "La commande a mal été écrite.";

            string msg;

            try {
                string mangaName = message.Content.ToLower().Split(' ')[1];
                string manga     = MangasUtils.GetMangaIdByName(mangaName);

                if (manga == null)
                {
                    msg = $"Le manga '{mangaName}' n'était pas dans la liste.";
                }
                else
                {
                    SqliteManager.Get().RemoveManga(mangaName);
                    msg = $"Le manga '{mangaName}' a bien été supprimé de la liste.";
                }
            }
            catch (Exception) {
                msg = msgError;
            }

            await message.Channel.SendMessagesAsync(msg);
        }
Exemplo n.º 2
0
        private string AddMangaJapscan(string manga)
        {
            string msg = string.Empty;

            try {
                if (MangasUtils.GetMangaIdByName(manga) != null)
                {
                    return("Ce manga est déjà dans la liste poto ! :)");
                }

                string site = MangasUtils.JAPSCAN;
                string link = site + "lecture-en-ligne/" + manga + "/";

                string crawlerResult = new Crawler.Crawler(link).Crawl();

                if (crawlerResult.Contains("Cette page n'existe pas ou plus"))
                {
                    throw new WebException();
                }

                //Si on arrive ici sans exception c'est que c'est bon
                SqliteManager.Get().AddManga(manga);
                msg = $"Manga '{manga}' ajouté à la liste.";
            }
            catch (Exception e) {
                if (e is ArgumentOutOfRangeException || e is WebException)
                {
                    msg = "Ce manga n'existe pas ou le site ne le possède pas. Le nom doit être de la forme : one-piece (minuscules séparées par un tiret)";
                }
            }

            return(msg);
        }
Exemplo n.º 3
0
        public override async Task Invoke(IUserMessage message)
        {
            int           number = 1;
            StringBuilder result = new ("Voici les mangas qui sont check avec le web parser :\n");

            foreach (string manga in MangasUtils.GetSortedMangas())
            {
                result.Append("- ").Append(manga).Append(" (**").Append(number).Append("**)\n");
                number++;
            }

            await message.Channel.SendMessagesAsync(result.ToString());
        }
Exemplo n.º 4
0
        public override async Task Invoke(IUserMessage message)
        {
            StringBuilder result = new("Voici, pour chaque manga, son dernier scan :\n\n");

            try {
                foreach ((string manga, string scan) in MangasUtils.GetAllMangasAndScan())
                {
                    if (scan != string.Empty)
                    {
                        result.Append("```asciidoc\n[").Append(manga).Append(" : ").Append(scan).Append("]```");
                    }
                }
            }
            catch (System.Exception e) {
                e.Display(Name);
                result = new StringBuilder(e.Message);
            }
            await message.Channel.SendMessagesAsync(result.ToString(), "\n\n");
        }
Exemplo n.º 5
0
        public override async Task Invoke(IUserMessage message)
        {
            string message_lower = message.Content.ToLower();
            string msgError      = "Il faut mettre un titre de manga ou son ID. Ex : " + Name + " one-piece";

            string msg;

            try {
                if (message_lower.Length > Name.Length)
                {
                    string mangaName = message_lower.Split(' ')[1];

                    if (mangaName.OnlyKeepLetters() == string.Empty)
                    {
                        int mangaId = int.Parse(mangaName);
                        msg = Data.SqliteManager.Get().SubTo(message.Author.Id.ToString(), MangasUtils.GetMangaNameById(mangaId));
                    }
                    else
                    {
                        msg = Data.SqliteManager.Get().SubTo(message.Author.Id.ToString(), mangaName);
                    }
                }
                else
                {
                    msg = msgError;
                }
            }
            catch (System.Exception) {
                msg = msgError;
            }

            await message.Channel.SendMessagesAsync(msg);
        }