private Service GetDriveSpaceService() { //Low drive space service. var driveSpaceServiceId = Guid.NewGuid(); var driveSpaceReminderService = new VA.Service("Drive-Space-Reminder-Service", () => { //Recheck drive space every 1 Minute if (SynUtility.Timing.Delay(driveSpaceServiceId, 60)) { Bot.MainUser.Vars["Drive-Name"].Clear(); foreach (var drive in DriveInfo.GetDrives()) { var percentFree = 100 * (double)drive.TotalFreeSpace / drive.TotalSize; var driveName = drive.Name.Substring(0, 1); if (percentFree < 10 && !_knownLowDrives.Contains(driveName)) { Bot.MainUser.Vars["Drive-Name"].Add(driveName); _knownLowDrives.Add(driveName); } else if (percentFree > 10 && _knownLowDrives.Contains(driveName)) { _knownLowDrives.Remove(driveName); } } if (Bot.MainUser.Vars["Drive-Name"].Count > 0) { Bot.Trigger("Drive-Space-Reminder-Event"); } } }); driveSpaceReminderService.Interval = TimeSpan.FromSeconds(1); driveSpaceReminderService.Description = StringResource.ServicePlugin_DriveSpaceReminderServiceDescription; return(driveSpaceReminderService); }
private Service GetTimeReminderService() { //Time Reminder Service var timeReminderService = new VA.Service("Time-Reminder-Service", () => { if (DateTime.Now.Minute == 0 && DateTime.Now.Second == 0) { Bot.Trigger("Time-Reminder-Service-Event"); } }); timeReminderService.Interval = TimeSpan.FromSeconds(1); timeReminderService.Description = StringResource.ServicePlugin_TimeReminderServiceDescription; return(timeReminderService); }
private Service GetSystemUptimeService() { //System Uptime Service var systemUptimeService = new VA.Service("System-Uptime-Service", () => { var systemUptimeVariable = new PerformanceCounter("System", "System Up Time"); systemUptimeVariable.NextValue(); var nextValue = TimeSpan.FromSeconds(systemUptimeVariable.NextValue()); if (nextValue.Minutes == 0 && nextValue.Seconds == 0) { //Only raise when the uptime is 1 or more if (nextValue.Hours > 0) { Bot.MainUser.Vars["system-uptime"].Value = nextValue.Hours.ToString(CultureInfo.InvariantCulture); Bot.Trigger("System-Uptime-Service-Event"); } } }); systemUptimeService.Interval = TimeSpan.FromSeconds(1); systemUptimeService.Description = StringResource.ServicePlugin_SystemUptimeReminderServiceDescription; return(systemUptimeService); }