!752 !include #1004681 // Concepts //include #1004848 // AIJob custom class static S dbName = "AI Jobs."; sbool doIt = true; p { DialogIO db = findBot(dbName); for (PassRef job : (L) rpc(db, "xlist", "AIJob")) { S desc = cast rpc(db, "xget", job, "description"); bool hot = cast rpc(db, "xget", job, "hot"); bool doing = cast rpc(db, "xget", job, "doing"); bool done = cast rpc(db, "xget", job, "done"); S type = done ? "DONE Job" : doing ? "Job being done" : hot ? "HOT JOB" : "Non-hot Job"; print(type + " >> " + desc); if (hot && !done && !doing && match("show a clapping audience", desc)) { print("I can do this!!"); if (doIt) { print("Doing the job!!"); PassRef doingObj = cast rpc(db, "xnew", "Doing", new O[] {"theJob", job, "programDoingIt", programID(), "vmID", vmID()}); rpc(db, "xset", job, "doing", true); applaud(); // show the animation! rpc(db, "xset", job, "done", true); } } } db.close(); }