moves bot config for non docker to their own folder

this will allow you to setup adverts/relays per bot vs sharing for all bots
This commit is contained in:
Madpeterz 2021-05-18 06:22:19 +01:00
parent fd066cc5bd
commit 258f180009
7 changed files with 31 additions and 18 deletions

View file

@ -44,12 +44,13 @@ namespace BetterSecondbot.Adverts
demoAdvert.hour = "12";
demoAdvert.min = "30";
demoAdvert.notice = "false";
demoAdvert.enabled = "true";
demoAdvert.enabled = "false";
loadedAdverts.adverts = new advertConfig[] { demoAdvert };
string targetfile = "adverts.json";
SimpleIO io = new SimpleIO();
io.ChangeRoot(controler.getFolderUsed());
if (SimpleIO.FileType(targetfile, "json") == false)
{
LogFormater.Status("Creating new adverts file", true);
@ -75,7 +76,7 @@ namespace BetterSecondbot.Adverts
}
catch
{
io.makeOld(targetfile);
io.MarkOld(targetfile);
io.WriteJsonAdverts(loadedAdverts, targetfile);
}
return;

View file

@ -115,6 +115,7 @@ namespace BetterSecondBot.BetterRelayService
};
string targetfile = "customrelays.json";
SimpleIO io = new SimpleIO();
io.ChangeRoot(controler.getFolderUsed());
if (SimpleIO.FileType(targetfile, "json") == false)
{
io.WriteJsonRelays(LoadedRelays, targetfile);
@ -138,7 +139,7 @@ namespace BetterSecondBot.BetterRelayService
}
catch
{
io.makeOld(targetfile);
io.MarkOld(targetfile);
io.WriteJsonRelays(LoadedRelays, targetfile);
}
return;

View file

@ -16,6 +16,7 @@ namespace BetterSecondBot
{
public bool Exited { get { return exitBot; } }
protected bool exitBot = false;
protected string use_folder = "";
protected SecondBot Bot = null;
protected BetterAtHome betterAtHomeService;
protected BetterTracking betterTracking;
@ -27,6 +28,11 @@ namespace BetterSecondBot
return Bot;
}
public string getFolderUsed()
{
return use_folder;
}
protected void keep_alive()
{
while (Bot.KillMe == false)
@ -66,9 +72,10 @@ namespace BetterSecondBot
betterTracking = new BetterTracking(this);
datastorage = new Datastorage(this);
}
public Cli(JsonConfig Config, bool as_docker, bool use_self_keep_alive)
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)
{

View file

@ -18,7 +18,7 @@ namespace BetterSecondBot
LogFormater.Status("-> Getting config from Docker");
JsonConfig Config = MakeJsonConfig.FromENV();
Config = MakeJsonConfig.Http_config_check(Config);
new Discord_super(Config,true);
new Discord_super(Config,true,"");
}
}
}

View file

@ -15,24 +15,26 @@ namespace BetterSecondBot
{
SimpleIO io = new SimpleIO();
JsonConfig Config = new JsonConfig();
string json_file = "";
string loadFolder = "debug";
string json_file = "bot.json";
#if DEBUG
LogFormater.Status("Hardware/Debug version");
json_file = "debug.json";
LogFormater.Debug("!! RUNNING IN DEBUG !!");
#else
LogFormater.Status("Hardware/Live version");
LogFormater.Status("Hardware config");
if(args.Length == 1)
{
json_file = ""+args[0]+".json";
loadFolder = args[0];
}
else
{
json_file = "mybot.json";
LogFormater.Warn("Using: mybot.json as the config");
loadFolder = "default";
io.ChangeRoot("default");
LogFormater.Warn("Using: using default folder");
}
#endif
if (SimpleIO.dir_exists("wiki") == false)
io.ChangeRoot(loadFolder);
if (SimpleIO.DirExists("wiki") == false)
{
LogFormater.Info("Basic Wiki [Creating]");
new DebugModeCreateWiki(AssemblyInfo.GetGitHash(), io);
@ -55,7 +57,7 @@ namespace BetterSecondBot
catch (Exception e)
{
LogFormater.Warn("Unable to read config file\n moving config to " + json_file + ".old and creating a empty config\nError was: " + e.Message + "");
io.makeOld(json_file);
io.MarkOld(json_file);
Config = new JsonConfig();
io.WriteJsonConfig(MakeJsonConfig.GetDefault(), json_file);
}
@ -79,7 +81,7 @@ namespace BetterSecondBot
if(ok_to_try_start == true)
{
Config = MakeJsonConfig.Http_config_check(Config);
new Discord_super(Config, false);
new Discord_super(Config, false, loadFolder);
}
}
}

View file

@ -50,10 +50,11 @@ namespace BetterSecondBot.DiscordSupervisor
Thread.Sleep(1500);
}
}
public Discord_super(JsonConfig configfile, bool as_docker)
public Discord_super(JsonConfig configfile, bool as_docker, string readfromfolder)
{
myconfig = configfile;
running_as_docker = as_docker;
use_folder = readfromfolder;
startService();
}
@ -83,7 +84,7 @@ namespace BetterSecondBot.DiscordSupervisor
controler.getBot().KillMePlease();
controler = null;
}
controler = new Cli(myconfig, running_as_docker, self_keep_alive);
controler = new Cli(myconfig, running_as_docker, self_keep_alive, use_folder);
controler.getBot().setDiscordClient(DiscordClient);
relayService = new BetterRelay(controler, this, running_as_docker);
attach_events();

View file

@ -11,6 +11,7 @@ namespace BetterSecondBot.DiscordSupervisor
protected bool exit_super = false;
protected Cli controler;
protected bool running_as_docker = false;
protected string use_folder = "";
protected bool discord_group_relay;
protected DiscordSocketClient DiscordClient;