summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/example_new.conf9
-rw-r--r--include/extern.h2
-rw-r--r--src/config.c4
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}}},