summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/example_new.conf6
-rw-r--r--src/config.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/data/example_new.conf b/data/example_new.conf
index f84283bc1..ebb07cdc5 100644
--- a/data/example_new.conf
+++ b/data/example_new.conf
@@ -507,4 +507,10 @@ botserv
* name) of the client.
*/
description = "Bot Service"
+
+ /*
+ * The filename of the BotServ database. The path is relative to the services
+ * executable. If not given, defaults to "bot.db".
+ */
+ database = "bot.db"
}
diff --git a/src/config.c b/src/config.c
index 63f969d4a..c822ec990 100644
--- a/src/config.c
+++ b/src/config.c
@@ -486,7 +486,7 @@ bool ValidateBantype(ServerConfig *, const char *, const char *, ValueItem &data
bool ValidateBotServ(ServerConfig *, const char *tag, const char *value, ValueItem &data)
{
if (s_BotServ) {
- if (static_cast<std::string>(value) == "description") {
+ if (static_cast<std::string>(value) == "description" || static_cast<std::string>(value) == "database") {
if (!*data.GetString()) throw ConfigException(static_cast<std::string>("The value for <") + tag + ":" + value + "> cannot be empty when BotServ is enabled!");
}
}
@@ -612,6 +612,7 @@ int ServerConfig::Read(bool bail)
{"memoserv", "memoreceipt", "0", new ValueContainerInt(&MSMemoReceipt), DT_INTEGER, NoValidation},
{"botserv", "nick", "", new ValueContainerChar(&s_BotServ), DT_CHARPTR, NoValidation},
{"botserv", "description", "Bot Service", new ValueContainerChar(&desc_BotServ), DT_CHARPTR, ValidateBotServ},
+ {"botserv", "database", "bot.db", new ValueContainerChar(&BotDBName), DT_CHARPTR, ValidateBotServ},
{NULL, NULL, NULL, NULL, DT_NOTHING, NoValidation}
};
/* These tags can occur multiple times, and therefore they have special code to read them
@@ -1192,7 +1193,6 @@ Directive directives[] = {
{"BadPassLimit", {{PARAM_POSINT, PARAM_RELOAD, &BadPassLimit}}},
{"BadPassTimeout", {{PARAM_TIME, PARAM_RELOAD, &BadPassTimeout}}},
{"BotCoreModules", {{PARAM_STRING, PARAM_RELOAD, &BotCoreModules}}},
- {"BotServDB", {{PARAM_STRING, PARAM_RELOAD, &BotDBName}}},
{"BSBadWordsMax", {{PARAM_POSINT, PARAM_RELOAD, &BSBadWordsMax}}},
{"BSDefDontKickOps", {{PARAM_SET, PARAM_RELOAD, &BSDefDontKickOps}}},
{"BSDefDontKickVoices",
@@ -1899,7 +1899,6 @@ int read_config(int reload)
}
if (s_BotServ) {
- CHEK2(BotDBName, BotServDB);
CHECK(BSBadWordsMax);
CHECK(BSMinUsers);
CHECK(BSKeepData);