예제 #1
0
        public override async Task<bool> ProcessCommand(ChatMessage msg, string command)
        {
            var files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony", "*", SearchOption.AllDirectories).ToList();
            if (files.Count == 0)
                return true;

            //files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony\\Luna\\NSFW", "*", SearchOption.AllDirectories).ToList();

            var random = new LunaRandom();

            var file = files[random.Next(files.Count)];

            var dropboxLink = await Utils.GetDropboxLinkForFilePath(file);

            bool nsfw = false;

            if (ConfigManager.Config.SFWOnly)
            {
                while (dropboxLink.Contains(@"/nsfw/"))
                    dropboxLink = await Utils.GetDropboxLinkForFilePath(file);
            }

            if (dropboxLink.Contains(@"/nsfw/", StringComparison.OrdinalIgnoreCase))
                nsfw = true;


            if(nsfw)
                msg.SendBotMessage("NSFW : " + dropboxLink);
            else
                msg.SendBotMessage(dropboxLink);

            return true;
        }
예제 #2
0
        private string GetRandomLunaPic()
        {
            var files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony\\Luna\\5 Star", "*", SearchOption.TopDirectoryOnly).ToList();
            if (files.Count == 0)
                return "";

            var random = new LunaRandom();

            var file = files[random.Next(files.Count)];
            var fileName = Path.GetFileName(file);

            var url = "https://dl.dropboxusercontent.com/u/69140190/Pics/pony/Luna/5%20Star/" + fileName;

            return url;
        }
예제 #3
0
        public Form1()
        {
            InitializeComponent();

            _random = new LunaRandom();

            skype = new Skype();
            if (!skype.Client.IsRunning)
            {
                // start minimized with no splash screen
                skype.Client.Start(true, true);
            }

            // wait for the client to be connected and ready
            skype.Attach(8, true);

            skype.MessageStatus += new _ISkypeEvents_MessageStatusEventHandler(skype_MessageStatus);


            var files = Directory.GetFiles("Quotes", "*", SearchOption.AllDirectories).ToList();
            if (files.Count != 0)
            {
                foreach (var file in files)
                {
                    var strings = File.ReadAllLines(file);

                    var convertedStrings = new List<string>();
                    foreach (var s in strings)
                    {
                        convertedStrings.Add(s + " - " + Path.GetFileNameWithoutExtension(file));
                    }
                    ListOfAllQuotes.AddRange(convertedStrings);
                }
                
            }

            SetupCommandProcessors();

            _pulse = new System.Timers.Timer();
            _pulse.Elapsed += Pulse;
            _pulse.Interval = 1000; // in miliseconds
            _pulse.Start();

        }
예제 #4
0
        public override async Task <bool> ProcessCommand(ChatMessage msg, string command)
        {
            var files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony", "*", SearchOption.AllDirectories).ToList();

            if (files.Count == 0)
            {
                return(true);
            }

            //files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony\\Luna\\NSFW", "*", SearchOption.AllDirectories).ToList();

            var random = new LunaRandom();

            var file = files[random.Next(files.Count)];

            var dropboxLink = await Utils.GetDropboxLinkForFilePath(file);

            bool nsfw = false;

            if (ConfigManager.Config.SFWOnly)
            {
                while (dropboxLink.Contains(@"/nsfw/"))
                {
                    dropboxLink = await Utils.GetDropboxLinkForFilePath(file);
                }
            }

            if (dropboxLink.Contains(@"/nsfw/", StringComparison.OrdinalIgnoreCase))
            {
                nsfw = true;
            }


            if (nsfw)
            {
                msg.SendBotMessage("NSFW : " + dropboxLink);
            }
            else
            {
                msg.SendBotMessage(dropboxLink);
            }

            return(true);
        }
예제 #5
0
        private string GetRandomLunaPic()
        {
            var files = Directory.GetFiles("G:\\Dropbox\\Public\\Pics\\pony\\Luna\\5 Star").ToList();

            if (files.Count == 0)
            {
                return("");
            }

            var random = new LunaRandom();

            var file     = files[random.Next(files.Count)];
            var fileName = Path.GetFileName(file);

            var url = "https://dl.dropboxusercontent.com/u/69140190/Pics/pony/Luna/5%20Star/" + fileName;


            return(url);
        }
예제 #6
0
        public static string GetRandomImageSearch(string terms)
        {
            var derpyImages = new List<DerpyImage>();
            DerpyImage derpyImage;

            var searchTags = terms.ToLowerInvariant().Split(',').ToList();

               /* for (int i = searchTags.Count - 1; i >= 0; i--)
            {
                searchTags[i] = searchTags[i] + ",";
            }*/

            if (ConfigManager.Config.SFWOnly)
            {
                if (!searchTags.Contains("safe"))
                    searchTags.Add(", safe,");
            }

            using (var db = new DerpyDbContext())
            {
                derpyImages = db.DerpyImages.Where(c => searchTags.All(tag => c.Tags.Contains(tag)) && c.Score >= ConfigManager.Config.MinSearchScore).ToList();

               /* var sql = "SELECT * FROM DerpyImages WHERE Id = 1";

                var queryManual = db.DerpyImages.SqlQuery(sql).FirstOrDefault();

                var query =
                    from x in db.DerpyImages
                    orderby Guid.NewGuid()
                    select new
                    {
                        bool1 = searchTags.All(tag => x.Tags.Contains(tag)),
                        bool2 = x.Score >= ConfigManager.Config.MinSearchScore
                    };

                Debug.WriteLine(query);

                derpyImage =
                    db.DerpyImages.Where(
                        c =>
                            searchTags.All(tag => c.Tags.Contains(tag)) &&
                            c.Score >= ConfigManager.Config.MinSearchScore)
                        .OrderBy(x => Guid.NewGuid())
                        .FirstOrDefault();

                int bob = 1;*/
            }

            if (ConfigManager.Config.SFWOnly)
            {
                derpyImages = derpyImages.Where(c => !c.Tags.Contains("explicit") && !c.Tags.Contains("suggestive") && !c.Tags.Contains("grimdark") && !c.Tags.Contains("bdsm")).ToList();
            }

            // derpyImages = derpyImages.Where(search => !AlreadyContainsHash.Contains(search.DerpyImageId)).ToList();

                if (derpyImages.Count == 0)
            {
                return "";
            }

            /*if (Configuration.Instance.ImageWidth > 0)
                derpyImages = derpyImages.Where(search => search.Width >= Configuration.Instance.ImageWidth).ToList();

            if (Configuration.Instance.ImageHeight > 0)
                derpyImages = derpyImages.Where(search => search.Height >= Configuration.Instance.ImageHeight).ToList();

            if (Configuration.Instance.MinRating > 0)
                derpyImages = derpyImages.Where(search => search.Score >= Configuration.Instance.MinRating).ToList();

            switch (Configuration.Instance.OrderingSelectedIndex)
            {
                case 0: // ratings
                    derpyImages = derpyImages.OrderByDescending(search => search.Score).ToList();
                    break;
                case 1: // newest
                    derpyImages = derpyImages.OrderByDescending(search => search.DerpyImageId).ToList();
                    break;
                case 2: // oldest
                    derpyImages = derpyImages.OrderBy(search => search.DerpyImageId).ToList();
                    break;
                case 3: // Favorites
                    derpyImages = derpyImages.OrderByDescending(search => search.Favourites).ToList();
                    break;
                case 4: // Random
                    derpyImages.Shuffle();
                    break;

            }

            //restrict the images last
            if (Configuration.Instance.NumOfPicsTotal != 0)
            {
                while (derpyImages.Count > Configuration.Instance.NumOfPicsTotal)
                {
                    derpyImages.RemoveAt(derpyImages.Count - 1);
                }
            }*/

            var random = new LunaRandom();

            var randomImage = derpyImages[random.Next(derpyImages.Count)];

            return randomImage.GetImageUri().ToString();
        }
예제 #7
0
        public static string GetRandomImageSearch(string terms)
        {
            var        derpyImages = new List <DerpyImage>();
            DerpyImage derpyImage;

            var searchTags = terms.ToLowerInvariant().Split(',').ToList();

            /* for (int i = searchTags.Count - 1; i >= 0; i--)
             * {
             *   searchTags[i] = searchTags[i] + ",";
             * }*/

            if (ConfigManager.Config.SFWOnly)
            {
                if (!searchTags.Contains("safe"))
                {
                    searchTags.Add(", safe,");
                }
            }

            using (var db = new DerpyDbContext())
            {
                derpyImages = db.DerpyImages.Where(c => searchTags.All(tag => c.Tags.Contains(tag)) && c.Score >= ConfigManager.Config.MinSearchScore).ToList();

                /* var sql = "SELECT * FROM DerpyImages WHERE Id = 1";
                 *
                 * var queryManual = db.DerpyImages.SqlQuery(sql).FirstOrDefault();
                 *
                 * var query =
                 *   from x in db.DerpyImages
                 *   orderby Guid.NewGuid()
                 *   select new
                 *   {
                 *       bool1 = searchTags.All(tag => x.Tags.Contains(tag)),
                 *       bool2 = x.Score >= ConfigManager.Config.MinSearchScore
                 *   };
                 *
                 * Debug.WriteLine(query);
                 *
                 *
                 *
                 * derpyImage =
                 *   db.DerpyImages.Where(
                 *       c =>
                 *           searchTags.All(tag => c.Tags.Contains(tag)) &&
                 *           c.Score >= ConfigManager.Config.MinSearchScore)
                 *       .OrderBy(x => Guid.NewGuid())
                 *       .FirstOrDefault();
                 *
                 * int bob = 1;*/
            }

            if (ConfigManager.Config.SFWOnly)
            {
                derpyImages = derpyImages.Where(c => !c.Tags.Contains("explicit") && !c.Tags.Contains("suggestive") && !c.Tags.Contains("grimdark") && !c.Tags.Contains("bdsm")).ToList();
            }

            // derpyImages = derpyImages.Where(search => !AlreadyContainsHash.Contains(search.DerpyImageId)).ToList();


            if (derpyImages.Count == 0)
            {
                return("");
            }


            /*if (Configuration.Instance.ImageWidth > 0)
             *  derpyImages = derpyImages.Where(search => search.Width >= Configuration.Instance.ImageWidth).ToList();
             *
             * if (Configuration.Instance.ImageHeight > 0)
             *  derpyImages = derpyImages.Where(search => search.Height >= Configuration.Instance.ImageHeight).ToList();
             *
             *
             * if (Configuration.Instance.MinRating > 0)
             *  derpyImages = derpyImages.Where(search => search.Score >= Configuration.Instance.MinRating).ToList();
             *
             *
             * switch (Configuration.Instance.OrderingSelectedIndex)
             * {
             *  case 0: // ratings
             *      derpyImages = derpyImages.OrderByDescending(search => search.Score).ToList();
             *      break;
             *  case 1: // newest
             *      derpyImages = derpyImages.OrderByDescending(search => search.DerpyImageId).ToList();
             *      break;
             *  case 2: // oldest
             *      derpyImages = derpyImages.OrderBy(search => search.DerpyImageId).ToList();
             *      break;
             *  case 3: // Favorites
             *      derpyImages = derpyImages.OrderByDescending(search => search.Favourites).ToList();
             *      break;
             *  case 4: // Random
             *      derpyImages.Shuffle();
             *      break;
             *
             * }
             *
             * //restrict the images last
             * if (Configuration.Instance.NumOfPicsTotal != 0)
             * {
             *  while (derpyImages.Count > Configuration.Instance.NumOfPicsTotal)
             *  {
             *      derpyImages.RemoveAt(derpyImages.Count - 1);
             *  }
             * }*/


            var random = new LunaRandom();

            var randomImage = derpyImages[random.Next(derpyImages.Count)];


            return(randomImage.GetImageUri().ToString());
        }