Beispiel #1
0
 protected override void OnStop()
 {
     JRobbot.Stop();
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 protected override void OnStart(string[] args)
 {
     JRobbot.Start();
 }