diff options
-rw-r--r-- | data/example_new.conf | 9 | ||||
-rw-r--r-- | include/extern.h | 2 | ||||
-rw-r--r-- | src/config.c | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/data/example_new.conf b/data/example_new.conf index 2329b7ef1..e1ba52176 100644 --- a/data/example_new.conf +++ b/data/example_new.conf @@ -551,4 +551,13 @@ botserv * resources will be slightly affected. */ keepdata = 10m + + /* + * The bots are currently not affected by any modes or bans when they try to join a channel. + * But some people may want to make it act like a real bot, that is, for example, remove all + * the bans affecting the bot before joining the channel, remove a ban that affects the bot + * set by an user when it is in the channel, and so on. Since it consumes a bit more CPU + * time, you should not enable this on larger networks. This directive is optional. + */ + #smartjoin = yes } diff --git a/include/extern.h b/include/extern.h index 33fdba240..423e93926 100644 --- a/include/extern.h +++ b/include/extern.h @@ -363,7 +363,7 @@ E int BSDefFlags; E time_t BSKeepData; E int BSMinUsers; E int BSBadWordsMax; -E int BSSmartJoin; +E bool BSSmartJoin; E int BSGentleBWReason; E int BSCaseSensitive; E char *BSFantasyCharacter; diff --git a/src/config.c b/src/config.c index a0e80e61b..2cc3220fd 100644 --- a/src/config.c +++ b/src/config.c @@ -166,7 +166,7 @@ int BSDefFlags; time_t BSKeepData; int BSMinUsers; int BSBadWordsMax; -int BSSmartJoin; +bool BSSmartJoin; int BSGentleBWReason; int BSCaseSensitive; char *BSFantasyCharacter; @@ -616,6 +616,7 @@ int ServerConfig::Read(bool bail) {"botserv", "minusers", "0", new ValueContainerInt(&BSMinUsers), DT_INTEGER, ValidateBotServ}, {"botserv", "badwordsmax", "0", new ValueContainerInt(&BSBadWordsMax), DT_INTEGER, ValidateBotServ}, {"botserv", "keepdata", "0", new ValueContainerTime(&BSKeepData), DT_TIME, ValidateBotServ}, + {"botserv", "smartjoin", "no", new ValueContainerBool(&BSSmartJoin), DT_BOOLEAN, NoValidation}, {NULL, NULL, NULL, NULL, DT_NOTHING, NoValidation} }; /* These tags can occur multiple times, and therefore they have special code to read them @@ -1200,7 +1201,6 @@ Directive directives[] = { {"BSFantasyCharacter", {{PARAM_STRING, PARAM_RELOAD, &BSFantasyCharacter}}}, {"BSGentleBWReason", {{PARAM_SET, PARAM_RELOAD, &BSGentleBWReason}}}, - {"BSSmartJoin", {{PARAM_SET, PARAM_RELOAD, &BSSmartJoin}}}, {"HostServDB", {{PARAM_STRING, PARAM_RELOAD, &HostDBName}}}, {"HostServName", {{PARAM_STRING, 0, &s_HostServ}, {PARAM_STRING, 0, &desc_HostServ}}}, |