예제 #1
0
        public Cli(JsonConfig Config, bool as_docker, bool use_self_keep_alive, string loadingFromFolder)
        {
            exitBot    = false;
            use_folder = loadingFromFolder;
            LogFormater.Info("Starting cli");
            if (helpers.botRequired(Config) == true)
            {
                Bot = new SecondBot();
                Bot.setFolder(use_folder);
                Bot.Setup(Config, AssemblyInfo.GetGitHash());

                if (as_docker == true)
                {
                    Bot.AsDocker();
                }

                Bot.Start(false);

                attachEventListenerObjects(Config, as_docker);
                if (use_self_keep_alive == true)
                {
                    keep_alive();
                }
            }
            else
            {
                LogFormater.Warn("Required settings missing");
            }
            if (use_self_keep_alive == true)
            {
                exitBot = true;
            }
        }
예제 #2
0
 public HTTPCommandsInterface(SecondBot linktobot, SecondBotHttpServer sethttpserver)
 {
     bot        = linktobot;
     httpserver = sethttpserver;
     API_type   = typeof(HTTP_commands);
     LoadCommandsList();
 }
예제 #3
0
 public CliExitOnLogout(JsonConfig Config)
 {
     ConsoleLog.Status("Mode: Cli [Basic]");
     if (helpers.botRequired(Config) == true)
     {
         SecondBot Bot = new SecondBot();
         Bot.Setup(Config, AssemblyInfo.GetGitHash());
         Bot.Start();
         if (Config.EnableHttp == true)
         {
             http_server my_http_server = null;
             my_http_server = new http_server();
             my_http_server.start_http_server(Bot, Config);
         }
         while (Bot.KillMe == false)
         {
             string NewStatusMessage = Bot.GetStatus();
             if (NewStatusMessage != Bot.LastStatusMessage)
             {
                 Bot.LastStatusMessage = NewStatusMessage;
                 ConsoleLog.Status(Bot.LastStatusMessage);
             }
             Thread.Sleep(5000);
         }
         Bot.GetClient.Network.Logout();
     }
     else
     {
         ConsoleLog.Warn("Required settings missing");
     }
 }
예제 #4
0
        protected void start_http_server(JsonConfig setConfig, SecondBot LinkBot)
        {
            Config = setConfig;
            require_signed_commands = Config.HttpRequireSigned;
            Bot = LinkBot;
            int port = Math.Abs(Config.Httpport);

            if (Config.Httpkey.Length < 12)
            {
                Config.Httpkey = helpers.GetSHA1("" + helpers.UnixTimeNow().ToString() + "" + new Random().Next(4, 9999).ToString()).Substring(0, 12);
            }
            if (Config.HttpHost == "docker")
            {
                url = "http://*:" + port.ToString() + "/";
            }
            else
            {
                if (url.StartsWith("http://") == false)
                {
                    url = "http://localhost:" + port.ToString() + "";
                }
                if (url.EndsWith("/") == false)
                {
                    url = "" + url + "/";
                }
            }
            open_http_service();
        }
        public void SecondBotMakeBetTest(int balance, int result)
        {
            Game game = new Game();

            SecondBot bot = new SecondBot(game, balance);

            bot.MakeBet();
            Assert.AreEqual(bot.Balance, result);

            Assert.Pass();
        }
예제 #6
0
        public HttpAsService(SecondBot MainBot, JsonConfig BotConfig, bool running_in_docker)
        {
            Bot    = MainBot;
            Config = BotConfig;

            Tokens = new TokenStorage();
            // Load scoped tokens
            if (running_in_docker == true)
            {
                // using ENV values
                loadScopedTokensFromENV();
            }
            else
            {
                // from file
                loadScopedTokensFromFile();
            }

            // Our web server is disposable
            try
            {
                if (killedLogger == false)
                {
                    killedLogger = true;
                    Swan.Logging.Logger.UnregisterLogger <ConsoleLogger>();
                }
                WebServer server = CreateWebServer(Config.Http_Host);
                // Once we've registered our modules and configured them, we call the RunAsync() method.
                LogFormater.Info("Starting HTTP service: " + Config.Http_Host);
                server.RunAsync();
                while (Bot.KillMe == false)
                {
                    Thread.Sleep(3000);
                }
            }
            catch (Exception e)
            {
                LogFormater.Info("HTTP service has ended because: " + e.Message);
            }
        }
예제 #7
0
        protected void StartHttpServer(JsonConfig setConfig, SecondBot LinkBot)
        {
            Config = setConfig;
            Bot    = LinkBot;
            int port = Math.Abs(Config.Http_Port);

            if (Config.Http_Host == "docker")
            {
                url = "http://*:" + port.ToString() + "/";
            }
            else
            {
                if (url.StartsWith("http://") == false)
                {
                    url = "http://localhost:" + port.ToString() + "";
                }
                if (url.EndsWith("/") == false)
                {
                    url = "" + url + "/";
                }
            }
            OpenHttpService();
        }
예제 #8
0
        public BetterTracking(Cli setcontroler)
        {
            controler = setcontroler;
            if (controler.getBot() == null)
            {
                LogFormater.Info("Tracker - error no bot");
                return;
            }
            SecondBot bot = controler.getBot();

            if (bot.getMyConfig.Setting_Tracker.ToLowerInvariant() == "false")
            {
                LogFormater.Info("Tracker - Disabled because set to false");
                return;
            }
            if (int.TryParse(controler.getBot().getMyConfig.Setting_Tracker, out output_channel) == true)
            {
                output_to_channel = true;
                LogFormater.Info("Tracker - Running as EventDriver + Channel output");
                attachEvents();
            }
            else if (controler.getBot().getMyConfig.Setting_Tracker.StartsWith("http") == true)
            {
                output_to_url = true;
                LogFormater.Info("Tracker - Running as EventDriver + HTTP output");
                attachEvents();
            }
            else if (controler.getBot().getMyConfig.Setting_Tracker != "Event")
            {
                LogFormater.Info("Tracker - Disabled not a vaild channel,http address or EventDriver");
            }
            else
            {
                LogFormater.Info("Tracker - Running as EventDriver");
                attachEvents();
            }
        }
예제 #9
0
 protected void keep_alive()
 {
     while (Bot.KillMe == false)
     {
         string NewStatusMessage = Bot.GetStatus();
         NewStatusMessage = NewStatusMessage.Trim();
         if (NewStatusMessage != Bot.LastStatusMessage)
         {
             if (NewStatusMessage.Replace(" ", "") != "")
             {
                 Bot.LastStatusMessage = NewStatusMessage;
                 Bot.Log2File(LogFormater.Status(Bot.LastStatusMessage, false), ConsoleLogLogLevel.Status);
             }
         }
         Thread.Sleep(1500);
     }
     Adverts             = null;
     Events              = null;
     betterAtHomeService = null;
     betterTracking      = null;
     datastorage         = null;
     Bot     = null;
     exitBot = true;
 }
예제 #10
0
 public HTTP_Dialogs(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #11
0
 public HTTP_Avatars(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #12
0
 public HTTP_Animation(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #13
0
 public Http_Funds(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #14
0
 public HTTP_Friends(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #15
0
 public void StartHttpServer(SecondBot LinkBot, JsonConfig setConfig)
 {
     StartHttpServer(setConfig, LinkBot);
 }
예제 #16
0
 protected HTTPCommandsInterface(SecondBot linktobot, http_server sethttpserver)
 {
     bot        = linktobot;
     httpserver = sethttpserver;
 }
예제 #17
0
 public HTTP_Estate(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #18
0
 public void Setup(SecondBot setBot, SecondBotHttpServer Sethttpserver)
 {
     bot        = setBot;
     httpserver = Sethttpserver;
 }
예제 #19
0
 public HTTPCommandsInterfacePost(SecondBot linktobot, http_server sethttpserver) : base(linktobot, sethttpserver)
 {
     API_type = typeof(HTTP_commands_post);
     LoadCommandsList();
 }
예제 #20
0
 public HTTP_Movement(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #21
0
 public void NewBot()
 {
     Bot = new SecondBot();
 }
예제 #22
0
파일: webui.cs 프로젝트: Tikuf42/SecondBot
 public webui(JsonConfig setconfig, SecondBot setbot)
 {
     bot        = setbot;
     siteconfig = setconfig;
 }
예제 #23
0
 public void KillBot()
 {
     Bot.GetClient.Network.Logout();
     Bot.GetClient.Network.Shutdown(OpenMetaverse.NetworkManager.DisconnectType.ClientInitiated);
     Bot = null;
 }
예제 #24
0
 public HTTP_StreamAdmin(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #25
0
 public HTTP_Parcel(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #26
0
 public HTTP_Notecard(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #27
0
 public HTTP_Inventory(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }
예제 #28
0
 public void start_http_server(SecondBot LinkBot, JsonConfig setConfig)
 {
     start_http_server(setConfig, LinkBot);
 }
예제 #29
0
 public WebApiControllerWithTokens(SecondBot mainbot, TokenStorage setuptokens)
 {
     bot    = mainbot;
     tokens = setuptokens;
 }
예제 #30
0
 public HTTP_Group(SecondBot mainbot, TokenStorage setuptokens) : base(mainbot, setuptokens)
 {
 }