The "permchannels" Module (v4)
Description
This module adds channel mode P
(permanent) which prevents the channel from being deleted when the last user leaves.
Configuration
To load this module use the following <module>
tag:
<module name="permchannels">
<permchanneldb>
The <permchanneldb>
tag defines settings about how the permchannels module should behave. This tag can only be defined once.
Name | Type | Default Value | Description |
---|---|---|---|
filename | Text | None | If defined then the location to write a permchannels configuration file to. |
listmodes | Boolean | Yes | Whether to save list modes to the permchannels configuration file. |
operonly | Boolean | Yes | Whether channel mode P (permanent) can only be set by server operators. Changing this is not recommended. |
saveperiod | Duration | 5s | The time period between attempts to check whether the permchannel database needs to be written. |
backoff | Number | 0 | The value to multiply the saveperiod by every time a save fails. When the save succeeds the period will be reset. |
maxbackoff | Duration | 120 * <permchanneldb:backoff> | The maximum write period that should be allowed even if incremental backoff is enabled. |
writeversion | Number | 2 | The version of the permchannel database format to write. |
The format field should be set to one of the following values:
Value | Description |
---|---|
1 | Write a database compatible with v2 or newer. |
2 | Write a database compatible with v4 or newer. This preserves the setter and set time of list modes by moving list modes to their own field. |
Example Usage
<permchanneldb filename="permchannels.conf"
listmodes="yes"
operonly="yes"
saveperiod="5s"
backoff="2"
maxbackoff="5m"
writeversion="2">
<permchannels>
The <permchannels>
tag defines a permanent channel. This tag can be defined as many times as required.
Name | Type | Default Value | Description |
---|---|---|---|
channel | Text | None | Required! The name of the channel. |
modes | Text | None | If defined then the modes set on the channel. |
topic | Text | None | If defined then the topic of the channel. |
topicsetby | Text | The server name | The nickname of the user who set the channel topic. |
topicts | Number | The current UNIX time | The UNIX time at which the channel topic was set. |
ts | Number | The current UNIX time | The UNIX time at which the channel was created. |
Example Usage
<permchannels channel="#example"
modes="+bnt *!*@example.com"
topic="Welcome to the Example channel!"
topicsetby="Sadie"
topicts="956188800"
ts="726192000">
Channel Modes
Name | Character | Type | Parameter Syntax | Usable By | Description |
---|---|---|---|---|---|
permanent | P | Switch | None | Server operators | Prevents the channel from being deleted when the last user leaves. |
Special Notes
You should remember to <include>
the file specified in <permchannels:filename>
in your server configuration.
It is recommended that you set channel mode +P (permanent) on channels and let InspIRCd write a configuration file rather than manually defining permanent channels in your server configuration.