protected override void OnStop() { JRobbot.Stop(); }
public override bool Exec(Message msg) { if (!context.IsAuth()) { return(false); } var pp = GetCmdParts(msg); if (pp.Length == 0 || pp[0] != "UP") { return(false); } var fromJid = msg.From; var comp = context.IsAdmin() && pp.Length > 1 ? pp[1] : context.GetAs("comp", ""); if (string.IsNullOrEmpty(comp)) { JRobbot.Send(fromJid, "computer name is not set"); return(true); } var ok = false; var fileName = CompCfgName.ConfigName(); var computerList = fileName.LoadFromFile <ComputerList>(); foreach (var ci in computerList) { if (ci.Name.ToLower() != comp.ToLower()) { continue; } ok = true; var macAddress = ci.Mac.Trim().ToUpper(); if (string.IsNullOrEmpty(macAddress)) { JRobbot.Send(fromJid, "the MAC address not set for computer <" + comp + ">"); break; } if (macAddress.Length != 12) { JRobbot.Send(fromJid, "the MAC address must be 12 chars"); break; } // var corr = macAddress.All(ch => ((ch >= '0') && (ch <= '9')) || ((ch >= 'A') && (ch <= 'F'))); if (!corr) { JRobbot.Send(fromJid, "the MAC address must be hex humber"); break; } WakeFunction(macAddress); JRobbot.Send(fromJid, "wake up packed sended to <" + comp + ">"); } if (!ok) { JRobbot.Send(fromJid, "computer with name <" + comp + "> not in list"); } return(true); }
protected override void OnStart(string[] args) { JRobbot.Start(); }