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"); }
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); } } }
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); } } }
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"; }