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.