Add channel::admin_on_channel_create, which gives users creating new channels +ao instead of +o, if enabled.
This commit is contained in:
parent
7af1b8d223
commit
d7a3d23cdd
|
@ -377,6 +377,7 @@ exempt {
|
||||||
|
|
||||||
channel {
|
channel {
|
||||||
autochanmodes = "nt";
|
autochanmodes = "nt";
|
||||||
|
admin_on_channel_create = no;
|
||||||
exemptchanops = "NT";
|
exemptchanops = "NT";
|
||||||
use_halfop = yes;
|
use_halfop = yes;
|
||||||
use_admin = yes;
|
use_admin = yes;
|
||||||
|
|
|
@ -770,6 +770,11 @@ channel {
|
||||||
*/
|
*/
|
||||||
autochanmodes = "nt";
|
autochanmodes = "nt";
|
||||||
|
|
||||||
|
/* admin_on_channel_create: If set to yes, users joining new channels
|
||||||
|
* will be given +ao instead of just +o. Requires use_admin.
|
||||||
|
*/
|
||||||
|
admin_on_channel_create = no;
|
||||||
|
|
||||||
/* exemptchanops: Channel modes that any form of channel ops (+aoh)
|
/* exemptchanops: Channel modes that any form of channel ops (+aoh)
|
||||||
* will be exempt from. Even if the mode is set, it will not apply to the
|
* will be exempt from. Even if the mode is set, it will not apply to the
|
||||||
* channel ops if it is listed in this option. Valid modes are cCDTNGK.
|
* channel ops if it is listed in this option. Valid modes are cCDTNGK.
|
||||||
|
|
|
@ -239,6 +239,7 @@ struct config_channel_entry
|
||||||
{
|
{
|
||||||
char * autochanmodes;
|
char * autochanmodes;
|
||||||
char * exemptchanops;
|
char * exemptchanops;
|
||||||
|
int admin_on_channel_create;
|
||||||
int use_halfop;
|
int use_halfop;
|
||||||
int use_admin;
|
int use_admin;
|
||||||
int use_except;
|
int use_except;
|
||||||
|
|
|
@ -625,6 +625,12 @@ static struct InfoStruct info_table[] = {
|
||||||
&ConfigChannel.host_in_topic,
|
&ConfigChannel.host_in_topic,
|
||||||
"Defines whether a topicsetters host or just nick is shown on TOPIC",
|
"Defines whether a topicsetters host or just nick is shown on TOPIC",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"admin_on_channel_create",
|
||||||
|
OUTPUT_BOOLEAN_YN,
|
||||||
|
&ConfigChannel.admin_on_channel_create,
|
||||||
|
"Give users +ao on channel create",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"use_halfop",
|
"use_halfop",
|
||||||
OUTPUT_BOOLEAN_YN,
|
OUTPUT_BOOLEAN_YN,
|
||||||
|
|
|
@ -1873,7 +1873,10 @@ void user_join(struct Client * client_p, struct Client * source_p, const char *
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
flags = CHFL_CHANOP;
|
if(ConfigChannel.admin_on_channel_create)
|
||||||
|
flags = CHFL_ADMIN | CHFL_CHANOP;
|
||||||
|
else
|
||||||
|
flags = CHFL_CHANOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((rb_dlink_list_length(&source_p->user->channel) >=
|
if((rb_dlink_list_length(&source_p->user->channel) >=
|
||||||
|
|
|
@ -2279,6 +2279,7 @@ static struct ConfEntry conf_channel_table[] =
|
||||||
{ "only_ascii_channels", CF_YESNO, NULL, 0, &ConfigChannel.only_ascii_channels },
|
{ "only_ascii_channels", CF_YESNO, NULL, 0, &ConfigChannel.only_ascii_channels },
|
||||||
{ "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change },
|
{ "cycle_host_change", CF_YESNO, NULL, 0, &ConfigChannel.cycle_host_change },
|
||||||
{ "host_in_topic", CF_YESNO, NULL, 0, &ConfigChannel.host_in_topic },
|
{ "host_in_topic", CF_YESNO, NULL, 0, &ConfigChannel.host_in_topic },
|
||||||
|
{ "admin_on_channel_create", CF_YESNO, NULL, 0, &ConfigChannel.admin_on_channel_create },
|
||||||
{ "use_halfop", CF_YESNO, NULL, 0, &ConfigChannel.use_halfop },
|
{ "use_halfop", CF_YESNO, NULL, 0, &ConfigChannel.use_halfop },
|
||||||
{ "use_admin", CF_YESNO, NULL, 0, &ConfigChannel.use_admin },
|
{ "use_admin", CF_YESNO, NULL, 0, &ConfigChannel.use_admin },
|
||||||
{ "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except },
|
{ "use_except", CF_YESNO, NULL, 0, &ConfigChannel.use_except },
|
||||||
|
|
|
@ -764,6 +764,7 @@ set_default_conf(void)
|
||||||
|
|
||||||
ConfigChannel.autochanmodes = rb_strdup("nt");
|
ConfigChannel.autochanmodes = rb_strdup("nt");
|
||||||
ConfigChannel.exemptchanops = rb_strdup("");
|
ConfigChannel.exemptchanops = rb_strdup("");
|
||||||
|
ConfigChannel.admin_on_channel_create = NO;
|
||||||
ConfigChannel.use_halfop = YES;
|
ConfigChannel.use_halfop = YES;
|
||||||
ConfigChannel.use_admin = YES;
|
ConfigChannel.use_admin = YES;
|
||||||
ConfigChannel.use_except = YES;
|
ConfigChannel.use_except = YES;
|
||||||
|
|
Loading…
Reference in New Issue