public void SetUser(string user) { string setUser; DLRConsole.DebugWriteLine("<- SetUser="******" lastKnownUser="******"THEREFORE Same persom with still unknown name (make one up)"); setUser = lastKnownUser = UNKNOWN_PARTENER; } else { DLRConsole.DebugWriteLine("THEREFORE New Person with unknown name"); setUser = lastKnownUser = user; } } else { if (AltBot.UnknowableName(lastKnownUser)) { DLRConsole.DebugWriteLine("THEREFORE Same Person now known name"); WorldSystemModule.RenameUser(lastKnownUser, user); setUser = lastKnownUser = user; } else { if (WorldSystemModule.SameUser(lastKnownUser, user)) { DLRConsole.DebugWriteLine("THEREFORE Different Person with known name"); setUser = user; lastKnownUser = user; } else { DLRConsole.DebugWriteLine("THEREFORE New Person with known name"); setUser = user; lastKnownUser = user; } } } user = setUser; DLRConsole.DebugWriteLine("-> SetUser="******" lastKnownUser=" + lastKnownUser); WorldSystemModule.SetDefaultUser(user); }
private CmdResult Execute0(string[] args, UUID fromAgentID, OutputDelegate WriteLine) { string defaultAIMLUser; if (args.Length == 0) { return(Failure(Details)); } string s = args[0].ToLower(); string joined = String.Join(" ", args); bool legacyCmd = " on off help reload ".Contains(" " + s + " "); if (s == "@user" || s == "@chuser") { defaultAIMLUser = String.Join(" ", args, 1, args.Length - 1); int lastIndex = defaultAIMLUser.IndexOf("-"); if (lastIndex > 0) { string oldUser = defaultAIMLUser.Substring(lastIndex + 1).Trim(); defaultAIMLUser = defaultAIMLUser.Substring(0, lastIndex - 1); } if (!IsBotLoaded) { return(Failure("AIML Module Not ready yet")); } SetUser(defaultAIMLUser); if (s == "@chuser") { bool res = WorldSystemModule.DoBotDirective(args, fromAgentID, WriteLine); if (!res) { Failure("ERROR from AIML " + joined); } return(Success("REAL WORLD returned: " + joined)); } return(Success("WorldObjects.SetDefaultUser = "******";")); } if (s == "@") { joined = joined.TrimStart(new[] { '@', ' ' }); int lastIndex = joined.IndexOf("-"); defaultAIMLUser = joined.Substring(0, lastIndex).Trim(); s = "-"; SetUser(defaultAIMLUser); } else if (s.StartsWith("@") || (args.Length == 1 && legacyCmd)) { try { if (!IsBotLoaded) { return(Failure("AIML Module Not ready yet")); } if (legacyCmd) { args[0] = "@" + s; } bool res = WorldSystemModule.DoBotDirective(args, fromAgentID, WriteLine); if (!res) { Failure("WARN from AIML " + joined); } return(Success("aiml returned: " + joined)); } catch (Exception e) { return(Failure("" + e)); } } if (s == "-") { int lastIndex = joined.IndexOf("-"); joined = joined.Substring(lastIndex + 1).Trim(); } double ratng; if (!IsBotLoaded) { return(Failure("AIML Module Not ready yet")); } var MyBot = WorldSystemModule.MyBot; var myUser = MyBot.FindOrCreateUser(lastKnownUser); //lock (myUser.QueryLock) { myUser.CurrentRequest = null; String useOut = WorldSystemModule.AIMLInterpScored(joined, myUser, out ratng, RequestKind.ChatForString); double scored = ratng; WorldSystemModule.MyBot.writeToLog("REALWORLD AIMLTRACE! '" + joined + "' " + scored + " '" + useOut + "'"); if (String.IsNullOrEmpty(useOut)) { useOut = "Interesting."; } if (!useOut.Contains("menevalue=")) { useOut = string.Format("{0} (menevalue= {1:1} )", useOut.Replace(" _", " "), (int)scored); } return(Success(useOut)); } }