Exemplo n.º 1
0
        public string TrackManifestFile(IrcBotFramework.IrcCommand command)
        {
            if (command.Destination != "#reside_priv")
            {
                return("You cannot use this command");
            }

            if (command.Parameters.Length != 2)
            {
                return(".trackmanifest <name> <manifesturl>");
            }

            string name = command.Parameters[0];

            if (ManifestTrackList.Where(x => x.Name == name).DefaultIfEmpty(null).FirstOrDefault() != null)
            {
                return("Already tracking that!");
            }

            string url   = command.Parameters[1];
            string owner = command.Source.Nick;

            TrackData dat = new TrackData()
            {
                Name        = name,
                Manifest    = url,
                TrackedBy   = owner,
                LastUpdated = DateTime.MinValue,
            };

            ManifestTrackList.Add(dat);

            using (JsonTextWriter wr = new JsonTextWriter(new System.IO.StreamWriter(TrackedManifestFile)))
            {
                JsonSerializer ser = new JsonSerializer();
                wr.Formatting = Formatting.Indented;
                ser.Serialize(wr, ManifestTrackList);
            }


            return("Done");
        }
Exemplo n.º 2
0
        void DetectChange(TrackData d)
        {
            HttpWebRequest request = WebRequest.Create(d.Manifest) as HttpWebRequest;

            request.Method    = "HEAD";
            request.UserAgent = Constants.LauncherUserAgent;

            HttpWebResponse r = request.GetResponse() as HttpWebResponse;

            if (r.LastModified > d.LastUpdated)
            {
                d.LastUpdated = r.LastModified;

                string ev = "";
                try
                {
                    //Do the events
                    foreach (string e in d.Events)
                    {
                        EventTypes[e](d);
                        ev = e;
                    }
                }
                catch (Exception e)
                {
                    SendMessage("#reside_priv", "Error while doing event " + ev + " error: " + e.ToString().Haste());
                }


                using (JsonTextWriter wr = new JsonTextWriter(new System.IO.StreamWriter(TrackedManifestFile)))
                {
                    JsonSerializer ser = new JsonSerializer();
                    wr.Formatting = Formatting.Indented;
                    ser.Serialize(wr, ManifestTrackList);
                }
            }
        }
Exemplo n.º 3
0
        void DetectChange(TrackData d)
        {
            HttpWebRequest request = WebRequest.Create(d.Manifest) as HttpWebRequest;
            request.Method = "HEAD";
            request.UserAgent = Constants.LauncherUserAgent;

            HttpWebResponse r = request.GetResponse() as HttpWebResponse;

            if (r.LastModified > d.LastUpdated)
            {
                d.LastUpdated = r.LastModified;

                string ev = "";
                try
                {
                    //Do the events
                    foreach (string e in d.Events)
                    {
                        EventTypes[e](d);
                        ev = e;
                    }

                }
                catch(Exception e)
                {
                    SendMessage("#reside_priv", "Error while doing event " + ev + " error: " + e.ToString().Haste());
                }

                using (JsonTextWriter wr = new JsonTextWriter(new System.IO.StreamWriter(TrackedManifestFile)))
                {
                    JsonSerializer ser = new JsonSerializer();
                    wr.Formatting = Formatting.Indented;
                    ser.Serialize(wr, ManifestTrackList);
                }
            }
        }
Exemplo n.º 4
0
        public string TrackManifestFile(IrcBotFramework.IrcCommand command)
        {
            if (command.Destination != "#reside_priv") return "You cannot use this command";

            if (command.Parameters.Length != 2) return ".trackmanifest <name> <manifesturl>";

            string name = command.Parameters[0];
            if (ManifestTrackList.Where(x => x.Name == name).DefaultIfEmpty(null).FirstOrDefault() != null)
            {
                return "Already tracking that!";
            }

            string url = command.Parameters[1];
            string owner = command.Source.Nick;

            TrackData dat = new TrackData()
            {
                Name = name,
                Manifest = url,
                TrackedBy = owner,
                LastUpdated = DateTime.MinValue,
            };

            ManifestTrackList.Add(dat);

            using (JsonTextWriter wr = new JsonTextWriter(new System.IO.StreamWriter(TrackedManifestFile)))
            {
                JsonSerializer ser = new JsonSerializer();
                wr.Formatting = Formatting.Indented;
                ser.Serialize(wr, ManifestTrackList);
            }

            return "Done";
        }