From f2bdf3a3995b379eb1bfa62c9c3700c842a56f54 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 27 Aug 2024 19:41:49 +0100 Subject: [PATCH] Swap the symlinked v3 and v4 docs around. --- docs/3/channel-modes.md | 88 +------------------- docs/3/commands/_admin.yml | 17 +--- docs/3/commands/_away.yml | 17 +--- docs/3/commands/_commands.yml | 5 +- docs/3/commands/_die.yml | 12 +-- docs/3/commands/_eline.yml | 22 +---- docs/3/commands/_gline.yml | 22 +---- docs/3/commands/_info.yml | 5 +- docs/3/commands/_invite.yml | 27 +----- docs/3/commands/_ison.yml | 11 +-- docs/3/commands/_join.yml | 19 +---- docs/3/commands/_kick.yml | 21 +---- docs/3/commands/_kill.yml | 16 +--- docs/3/commands/_kline.yml | 22 +---- docs/3/commands/_list.yml | 55 +------------ docs/3/commands/_loadmodule.yml | 12 +-- docs/3/commands/_lusers.yml | 5 +- docs/3/commands/_mode.yml | 45 +--------- docs/3/commands/_modules.yml | 5 +- docs/3/commands/_motd.yml | 17 +--- docs/3/commands/_names.yml | 11 +-- docs/3/commands/_nick.yml | 17 +--- docs/3/commands/_notice.yml | 19 +---- docs/3/commands/_oper.yml | 11 +-- docs/3/commands/_part.yml | 23 +----- docs/3/commands/_pass.yml | 11 +-- docs/3/commands/_ping.yml | 15 +--- docs/3/commands/_pong.yml | 15 +--- docs/3/commands/_privmsg.yml | 19 +---- docs/3/commands/_qline.yml | 22 +---- docs/3/commands/_quit.yml | 15 +--- docs/3/commands/_rehash.yml | 26 +----- docs/3/commands/_reloadmodule.yml | 12 +-- docs/3/commands/_restart.yml | 12 +-- docs/3/commands/_servlist.yml | 11 +-- docs/3/commands/_squery.yml | 11 +-- docs/3/commands/_stats.yml | 46 +---------- docs/3/commands/_time.yml | 17 +--- docs/3/commands/_topic.yml | 17 +--- docs/3/commands/_unloadmodule.yml | 12 +-- docs/3/commands/_user.yml | 11 +-- docs/3/commands/_userhost.yml | 15 +--- docs/3/commands/_version.yml | 17 +--- docs/3/commands/_wallops.yml | 12 +-- docs/3/commands/_who.yml | 55 +------------ docs/3/commands/_whois.yml | 25 +----- docs/3/commands/_whowas.yml | 13 +-- docs/3/commands/_zline.yml | 22 +---- docs/3/commands/index.md | 43 +--------- docs/3/configuration/_badhost.yml | 23 +----- docs/3/configuration/_badip.yml | 23 +----- docs/3/configuration/_badnick.yml | 23 +----- docs/3/configuration/_cidr.yml | 23 +----- docs/3/configuration/_exception.yml | 23 +----- docs/3/configuration/_execfiles.yml | 21 +---- docs/3/configuration/_insane.yml | 37 +-------- docs/3/configuration/_maxlist.yml | 33 +------- docs/3/configuration/_module.yml | 16 +--- docs/3/configuration/_performance.yml | 44 +--------- docs/3/configuration/_pid.yml | 16 +--- docs/3/configuration/_server.yml | 37 +-------- docs/3/configuration/_whowas.yml | 30 +------ docs/3/configuration/index.md | 104 +----------------------- docs/3/extended-bans.md | 22 +---- docs/3/module-manager.md | 36 +------- docs/3/modules/abbreviation.yml | 10 +-- docs/3/modules/allowinvite.yml | 29 +------ docs/3/modules/alltime.yml | 13 +-- docs/3/modules/anticaps.yml | 48 +---------- docs/3/modules/auditorium.yml | 53 +----------- docs/3/modules/banredirect.yml | 22 +---- docs/3/modules/bcrypt.yml | 22 +---- docs/3/modules/blockcolor.yml | 35 +------- docs/3/modules/callerid.yml | 83 +------------------ docs/3/modules/cap.yml | 28 +------ docs/3/modules/chancreate.yml | 11 +-- docs/3/modules/chanlog.yml | 31 +------ docs/3/modules/channames.yml | 39 +-------- docs/3/modules/channelban.yml | 23 +----- docs/3/modules/chghost.yml | 40 +-------- docs/3/modules/chgident.yml | 18 +--- docs/3/modules/chgname.yml | 18 +--- docs/3/modules/classban.yml | 19 +---- docs/3/modules/clearchan.yml | 36 +------- docs/3/modules/conn_join.yml | 58 +------------ docs/3/modules/conn_umodes.yml | 30 +------ docs/3/modules/customprefix.yml | 109 +------------------------ docs/3/modules/customtitle.yml | 76 +---------------- docs/3/modules/cycle.yml | 21 +---- docs/3/modules/dccallow.yml | 113 +------------------------- docs/3/modules/delayjoin.yml | 16 +--- docs/3/modules/denychans.yml | 68 +--------------- docs/3/modules/disable.yml | 70 +--------------- docs/3/modules/geo_maxmind.yml | 26 +----- docs/3/modules/geoban.yml | 23 +----- docs/3/modules/geoclass.yml | 31 +------ docs/3/modules/globalload.yml | 52 +----------- docs/3/modules/globops.yml | 24 +----- docs/3/modules/haproxy.yml | 36 +------- docs/3/modules/hidechans.yml | 33 +------- docs/3/modules/hidelist.yml | 45 +--------- docs/3/modules/hidemode.yml | 38 +-------- docs/3/modules/hideoper.yml | 16 +--- docs/3/modules/hostcycle.yml | 5 +- docs/3/modules/httpd.yml | 49 +---------- docs/3/modules/httpd_acl.yml | 81 +----------------- docs/3/modules/httpd_config.yml | 8 +- docs/3/modules/ircv3.yml | 58 +------------ docs/3/modules/ircv3_accounttag.yml | 10 +-- docs/3/modules/ircv3_batch.yml | 10 +-- docs/3/modules/ircv3_capnotify.yml | 10 +-- docs/3/modules/ircv3_chghost.yml | 10 +-- docs/3/modules/ircv3_echomessage.yml | 10 +-- docs/3/modules/ircv3_invitenotify.yml | 10 +-- docs/3/modules/ircv3_servertime.yml | 10 +-- docs/3/modules/kicknorejoin.yml | 20 +---- docs/3/modules/knock.yml | 53 +----------- docs/3/modules/ldap.yml | 77 +----------------- docs/3/modules/ldapoper.yml | 36 +------- docs/3/modules/maphide.yml | 24 +----- docs/3/modules/monitor.yml | 59 +------------- docs/3/modules/muteban.yml | 32 +------- docs/3/modules/namedmodes.yml | 64 +-------------- docs/3/modules/nickflood.yml | 41 +--------- docs/3/modules/nicklock.yml | 30 +------ docs/3/modules/noctcp.yml | 85 +------------------ docs/3/modules/nonicks.yml | 49 +---------- docs/3/modules/nonotice.yml | 34 +------- docs/3/modules/ojoin.yml | 65 +-------------- docs/3/modules/operjoin.yml | 59 +------------- docs/3/modules/operlevels.yml | 43 +--------- docs/3/modules/opermodes.yml | 35 +------- docs/3/modules/operprefix.yml | 38 +-------- docs/3/modules/password_hash.yml | 40 +-------- docs/3/modules/pbkdf2.yml | 58 +------------ docs/3/modules/randquote.yml | 62 +------------- docs/3/modules/redirect.yml | 35 +------- docs/3/modules/regex_glob.yml | 5 +- docs/3/modules/regex_re2.yml | 10 +-- docs/3/modules/restrictchans.yml | 62 +------------- docs/3/modules/restrictmsg.yml | 5 +- docs/3/modules/rline.yml | 72 +--------------- docs/3/modules/sajoin.yml | 42 +--------- docs/3/modules/sakick.yml | 18 +--- docs/3/modules/samode.yml | 42 +--------- docs/3/modules/sanick.yml | 18 +--- docs/3/modules/sapart.yml | 18 +--- docs/3/modules/saquit.yml | 18 +--- docs/3/modules/satopic.yml | 18 +--- docs/3/modules/seenicks.yml | 11 +-- docs/3/modules/serverban.yml | 19 +---- docs/3/modules/sethost.yml | 40 +-------- docs/3/modules/setident.yml | 18 +--- docs/3/modules/setidle.yml | 18 +--- docs/3/modules/setname.yml | 42 +--------- docs/3/modules/sha1.yml | 5 +- docs/3/modules/showfile.yml | 75 +---------------- docs/3/modules/sqlite3.yml | 41 +--------- docs/3/modules/sslrehashsignal.yml | 55 +------------ docs/3/modules/starttls.yml | 27 +----- docs/3/modules/stripcolor.yml | 45 +--------- docs/3/modules/swhois.yml | 40 +-------- docs/3/modules/tline.yml | 18 +--- docs/3/modules/uninvite.yml | 17 +--- docs/3/modules/vhost.yml | 62 +------------- docs/3/modules/watch.yml | 54 +----------- docs/3/user-modes.md | 47 +---------- docs/4/channel-modes.md | 88 +++++++++++++++++++- docs/4/commands/_admin.yml | 17 +++- docs/4/commands/_away.yml | 17 +++- docs/4/commands/_commands.yml | 5 +- docs/4/commands/_die.yml | 12 ++- docs/4/commands/_eline.yml | 22 ++++- docs/4/commands/_gline.yml | 22 ++++- docs/4/commands/_info.yml | 5 +- docs/4/commands/_invite.yml | 27 +++++- docs/4/commands/_ison.yml | 11 ++- docs/4/commands/_join.yml | 19 ++++- docs/4/commands/_kick.yml | 21 ++++- docs/4/commands/_kill.yml | 16 +++- docs/4/commands/_kline.yml | 22 ++++- docs/4/commands/_list.yml | 55 ++++++++++++- docs/4/commands/_loadmodule.yml | 12 ++- docs/4/commands/_lusers.yml | 5 +- docs/4/commands/_mode.yml | 45 +++++++++- docs/4/commands/_modules.yml | 5 +- docs/4/commands/_motd.yml | 17 +++- docs/4/commands/_names.yml | 11 ++- docs/4/commands/_nick.yml | 17 +++- docs/4/commands/_notice.yml | 19 ++++- docs/4/commands/_oper.yml | 11 ++- docs/4/commands/_part.yml | 23 +++++- docs/4/commands/_pass.yml | 11 ++- docs/4/commands/_ping.yml | 15 +++- docs/4/commands/_pong.yml | 15 +++- docs/4/commands/_privmsg.yml | 19 ++++- docs/4/commands/_qline.yml | 22 ++++- docs/4/commands/_quit.yml | 15 +++- docs/4/commands/_rehash.yml | 26 +++++- docs/4/commands/_reloadmodule.yml | 12 ++- docs/4/commands/_restart.yml | 12 ++- docs/4/commands/_servlist.yml | 11 ++- docs/4/commands/_squery.yml | 11 ++- docs/4/commands/_stats.yml | 46 ++++++++++- docs/4/commands/_time.yml | 17 +++- docs/4/commands/_topic.yml | 17 +++- docs/4/commands/_unloadmodule.yml | 12 ++- docs/4/commands/_user.yml | 11 ++- docs/4/commands/_userhost.yml | 15 +++- docs/4/commands/_version.yml | 17 +++- docs/4/commands/_wallops.yml | 12 ++- docs/4/commands/_who.yml | 55 ++++++++++++- docs/4/commands/_whois.yml | 25 +++++- docs/4/commands/_whowas.yml | 13 ++- docs/4/commands/_zline.yml | 22 ++++- docs/4/commands/index.md | 43 +++++++++- docs/4/configuration/_badhost.yml | 23 +++++- docs/4/configuration/_badip.yml | 23 +++++- docs/4/configuration/_badnick.yml | 23 +++++- docs/4/configuration/_cidr.yml | 23 +++++- docs/4/configuration/_exception.yml | 23 +++++- docs/4/configuration/_execfiles.yml | 21 ++++- docs/4/configuration/_insane.yml | 37 ++++++++- docs/4/configuration/_maxlist.yml | 33 +++++++- docs/4/configuration/_module.yml | 16 +++- docs/4/configuration/_performance.yml | 44 +++++++++- docs/4/configuration/_pid.yml | 16 +++- docs/4/configuration/_server.yml | 37 ++++++++- docs/4/configuration/_whowas.yml | 30 ++++++- docs/4/configuration/index.md | 104 +++++++++++++++++++++++- docs/4/extended-bans.md | 22 ++++- docs/4/module-manager.md | 36 +++++++- docs/4/modules/abbreviation.yml | 10 ++- docs/4/modules/allowinvite.yml | 29 ++++++- docs/4/modules/alltime.yml | 13 ++- docs/4/modules/anticaps.yml | 48 ++++++++++- docs/4/modules/auditorium.yml | 53 +++++++++++- docs/4/modules/banredirect.yml | 22 ++++- docs/4/modules/bcrypt.yml | 22 ++++- docs/4/modules/blockcolor.yml | 35 +++++++- docs/4/modules/callerid.yml | 83 ++++++++++++++++++- docs/4/modules/cap.yml | 28 ++++++- docs/4/modules/chancreate.yml | 11 ++- docs/4/modules/chanlog.yml | 31 ++++++- docs/4/modules/channames.yml | 39 ++++++++- docs/4/modules/channelban.yml | 23 +++++- docs/4/modules/chghost.yml | 40 ++++++++- docs/4/modules/chgident.yml | 18 +++- docs/4/modules/chgname.yml | 18 +++- docs/4/modules/classban.yml | 19 ++++- docs/4/modules/clearchan.yml | 36 +++++++- docs/4/modules/conn_join.yml | 58 ++++++++++++- docs/4/modules/conn_umodes.yml | 30 ++++++- docs/4/modules/customprefix.yml | 109 ++++++++++++++++++++++++- docs/4/modules/customtitle.yml | 76 ++++++++++++++++- docs/4/modules/cycle.yml | 21 ++++- docs/4/modules/dccallow.yml | 113 +++++++++++++++++++++++++- docs/4/modules/delayjoin.yml | 16 +++- docs/4/modules/denychans.yml | 68 +++++++++++++++- docs/4/modules/disable.yml | 70 +++++++++++++++- docs/4/modules/geo_maxmind.yml | 26 +++++- docs/4/modules/geoban.yml | 23 +++++- docs/4/modules/geoclass.yml | 31 ++++++- docs/4/modules/globalload.yml | 52 +++++++++++- docs/4/modules/globops.yml | 24 +++++- docs/4/modules/haproxy.yml | 36 +++++++- docs/4/modules/hidechans.yml | 33 +++++++- docs/4/modules/hidelist.yml | 45 +++++++++- docs/4/modules/hidemode.yml | 38 ++++++++- docs/4/modules/hideoper.yml | 16 +++- docs/4/modules/hostcycle.yml | 5 +- docs/4/modules/httpd.yml | 49 ++++++++++- docs/4/modules/httpd_acl.yml | 81 +++++++++++++++++- docs/4/modules/httpd_config.yml | 8 +- docs/4/modules/ircv3.yml | 58 ++++++++++++- docs/4/modules/ircv3_accounttag.yml | 10 ++- docs/4/modules/ircv3_batch.yml | 10 ++- docs/4/modules/ircv3_capnotify.yml | 10 ++- docs/4/modules/ircv3_chghost.yml | 10 ++- docs/4/modules/ircv3_echomessage.yml | 10 ++- docs/4/modules/ircv3_invitenotify.yml | 10 ++- docs/4/modules/ircv3_servertime.yml | 10 ++- docs/4/modules/kicknorejoin.yml | 20 ++++- docs/4/modules/knock.yml | 53 +++++++++++- docs/4/modules/ldap.yml | 77 +++++++++++++++++- docs/4/modules/ldapoper.yml | 36 +++++++- docs/4/modules/maphide.yml | 24 +++++- docs/4/modules/monitor.yml | 59 +++++++++++++- docs/4/modules/muteban.yml | 32 +++++++- docs/4/modules/namedmodes.yml | 64 ++++++++++++++- docs/4/modules/nickflood.yml | 41 +++++++++- docs/4/modules/nicklock.yml | 30 ++++++- docs/4/modules/noctcp.yml | 85 ++++++++++++++++++- docs/4/modules/nonicks.yml | 49 ++++++++++- docs/4/modules/nonotice.yml | 34 +++++++- docs/4/modules/ojoin.yml | 65 ++++++++++++++- docs/4/modules/operjoin.yml | 59 +++++++++++++- docs/4/modules/operlevels.yml | 43 +++++++++- docs/4/modules/opermodes.yml | 35 +++++++- docs/4/modules/operprefix.yml | 38 ++++++++- docs/4/modules/password_hash.yml | 40 ++++++++- docs/4/modules/pbkdf2.yml | 58 ++++++++++++- docs/4/modules/randquote.yml | 62 +++++++++++++- docs/4/modules/redirect.yml | 35 +++++++- docs/4/modules/regex_glob.yml | 5 +- docs/4/modules/regex_re2.yml | 10 ++- docs/4/modules/restrictchans.yml | 62 +++++++++++++- docs/4/modules/restrictmsg.yml | 5 +- docs/4/modules/rline.yml | 72 +++++++++++++++- docs/4/modules/sajoin.yml | 42 +++++++++- docs/4/modules/sakick.yml | 18 +++- docs/4/modules/samode.yml | 42 +++++++++- docs/4/modules/sanick.yml | 18 +++- docs/4/modules/sapart.yml | 18 +++- docs/4/modules/saquit.yml | 18 +++- docs/4/modules/satopic.yml | 18 +++- docs/4/modules/seenicks.yml | 11 ++- docs/4/modules/serverban.yml | 19 ++++- docs/4/modules/sethost.yml | 40 ++++++++- docs/4/modules/setident.yml | 18 +++- docs/4/modules/setidle.yml | 18 +++- docs/4/modules/setname.yml | 42 +++++++++- docs/4/modules/sha1.yml | 5 +- docs/4/modules/showfile.yml | 75 ++++++++++++++++- docs/4/modules/sqlite3.yml | 41 +++++++++- docs/4/modules/sslrehashsignal.yml | 55 ++++++++++++- docs/4/modules/starttls.yml | 27 +++++- docs/4/modules/stripcolor.yml | 45 +++++++++- docs/4/modules/swhois.yml | 40 ++++++++- docs/4/modules/tline.yml | 18 +++- docs/4/modules/uninvite.yml | 17 +++- docs/4/modules/vhost.yml | 62 +++++++++++++- docs/4/modules/watch.yml | 54 +++++++++++- docs/4/user-modes.md | 47 ++++++++++- 334 files changed, 5244 insertions(+), 5244 deletions(-) mode change 100644 => 120000 docs/3/channel-modes.md mode change 100644 => 120000 docs/3/commands/_admin.yml mode change 100644 => 120000 docs/3/commands/_away.yml mode change 100644 => 120000 docs/3/commands/_commands.yml mode change 100644 => 120000 docs/3/commands/_die.yml mode change 100644 => 120000 docs/3/commands/_eline.yml mode change 100644 => 120000 docs/3/commands/_gline.yml mode change 100644 => 120000 docs/3/commands/_info.yml mode change 100644 => 120000 docs/3/commands/_invite.yml mode change 100644 => 120000 docs/3/commands/_ison.yml mode change 100644 => 120000 docs/3/commands/_join.yml mode change 100644 => 120000 docs/3/commands/_kick.yml mode change 100644 => 120000 docs/3/commands/_kill.yml mode change 100644 => 120000 docs/3/commands/_kline.yml mode change 100644 => 120000 docs/3/commands/_list.yml mode change 100644 => 120000 docs/3/commands/_loadmodule.yml mode change 100644 => 120000 docs/3/commands/_lusers.yml mode change 100644 => 120000 docs/3/commands/_mode.yml mode change 100644 => 120000 docs/3/commands/_modules.yml mode change 100644 => 120000 docs/3/commands/_motd.yml mode change 100644 => 120000 docs/3/commands/_names.yml mode change 100644 => 120000 docs/3/commands/_nick.yml mode change 100644 => 120000 docs/3/commands/_notice.yml mode change 100644 => 120000 docs/3/commands/_oper.yml mode change 100644 => 120000 docs/3/commands/_part.yml mode change 100644 => 120000 docs/3/commands/_pass.yml mode change 100644 => 120000 docs/3/commands/_ping.yml mode change 100644 => 120000 docs/3/commands/_pong.yml mode change 100644 => 120000 docs/3/commands/_privmsg.yml mode change 100644 => 120000 docs/3/commands/_qline.yml mode change 100644 => 120000 docs/3/commands/_quit.yml mode change 100644 => 120000 docs/3/commands/_rehash.yml mode change 100644 => 120000 docs/3/commands/_reloadmodule.yml mode change 100644 => 120000 docs/3/commands/_restart.yml mode change 100644 => 120000 docs/3/commands/_servlist.yml mode change 100644 => 120000 docs/3/commands/_squery.yml mode change 100644 => 120000 docs/3/commands/_stats.yml mode change 100644 => 120000 docs/3/commands/_time.yml mode change 100644 => 120000 docs/3/commands/_topic.yml mode change 100644 => 120000 docs/3/commands/_unloadmodule.yml mode change 100644 => 120000 docs/3/commands/_user.yml mode change 100644 => 120000 docs/3/commands/_userhost.yml mode change 100644 => 120000 docs/3/commands/_version.yml mode change 100644 => 120000 docs/3/commands/_wallops.yml mode change 100644 => 120000 docs/3/commands/_who.yml mode change 100644 => 120000 docs/3/commands/_whois.yml mode change 100644 => 120000 docs/3/commands/_whowas.yml mode change 100644 => 120000 docs/3/commands/_zline.yml mode change 100644 => 120000 docs/3/commands/index.md mode change 100644 => 120000 docs/3/configuration/_badhost.yml mode change 100644 => 120000 docs/3/configuration/_badip.yml mode change 100644 => 120000 docs/3/configuration/_badnick.yml mode change 100644 => 120000 docs/3/configuration/_cidr.yml mode change 100644 => 120000 docs/3/configuration/_exception.yml mode change 100644 => 120000 docs/3/configuration/_execfiles.yml mode change 100644 => 120000 docs/3/configuration/_insane.yml mode change 100644 => 120000 docs/3/configuration/_maxlist.yml mode change 100644 => 120000 docs/3/configuration/_module.yml mode change 100644 => 120000 docs/3/configuration/_performance.yml mode change 100644 => 120000 docs/3/configuration/_pid.yml mode change 100644 => 120000 docs/3/configuration/_server.yml mode change 100644 => 120000 docs/3/configuration/_whowas.yml mode change 100644 => 120000 docs/3/configuration/index.md mode change 100644 => 120000 docs/3/extended-bans.md mode change 100644 => 120000 docs/3/module-manager.md mode change 100644 => 120000 docs/3/modules/abbreviation.yml mode change 100644 => 120000 docs/3/modules/allowinvite.yml mode change 100644 => 120000 docs/3/modules/alltime.yml mode change 100644 => 120000 docs/3/modules/anticaps.yml mode change 100644 => 120000 docs/3/modules/auditorium.yml mode change 100644 => 120000 docs/3/modules/banredirect.yml mode change 100644 => 120000 docs/3/modules/bcrypt.yml mode change 100644 => 120000 docs/3/modules/blockcolor.yml mode change 100644 => 120000 docs/3/modules/callerid.yml mode change 100644 => 120000 docs/3/modules/cap.yml mode change 100644 => 120000 docs/3/modules/chancreate.yml mode change 100644 => 120000 docs/3/modules/chanlog.yml mode change 100644 => 120000 docs/3/modules/channames.yml mode change 100644 => 120000 docs/3/modules/channelban.yml mode change 100644 => 120000 docs/3/modules/chghost.yml mode change 100644 => 120000 docs/3/modules/chgident.yml mode change 100644 => 120000 docs/3/modules/chgname.yml mode change 100644 => 120000 docs/3/modules/classban.yml mode change 100644 => 120000 docs/3/modules/clearchan.yml mode change 100644 => 120000 docs/3/modules/conn_join.yml mode change 100644 => 120000 docs/3/modules/conn_umodes.yml mode change 100644 => 120000 docs/3/modules/customprefix.yml mode change 100644 => 120000 docs/3/modules/customtitle.yml mode change 100644 => 120000 docs/3/modules/cycle.yml mode change 100644 => 120000 docs/3/modules/dccallow.yml mode change 100644 => 120000 docs/3/modules/delayjoin.yml mode change 100644 => 120000 docs/3/modules/denychans.yml mode change 100644 => 120000 docs/3/modules/disable.yml mode change 100644 => 120000 docs/3/modules/geo_maxmind.yml mode change 100644 => 120000 docs/3/modules/geoban.yml mode change 100644 => 120000 docs/3/modules/geoclass.yml mode change 100644 => 120000 docs/3/modules/globalload.yml mode change 100644 => 120000 docs/3/modules/globops.yml mode change 100644 => 120000 docs/3/modules/haproxy.yml mode change 100644 => 120000 docs/3/modules/hidechans.yml mode change 100644 => 120000 docs/3/modules/hidelist.yml mode change 100644 => 120000 docs/3/modules/hidemode.yml mode change 100644 => 120000 docs/3/modules/hideoper.yml mode change 100644 => 120000 docs/3/modules/hostcycle.yml mode change 100644 => 120000 docs/3/modules/httpd.yml mode change 100644 => 120000 docs/3/modules/httpd_acl.yml mode change 100644 => 120000 docs/3/modules/httpd_config.yml mode change 100644 => 120000 docs/3/modules/ircv3.yml mode change 100644 => 120000 docs/3/modules/ircv3_accounttag.yml mode change 100644 => 120000 docs/3/modules/ircv3_batch.yml mode change 100644 => 120000 docs/3/modules/ircv3_capnotify.yml mode change 100644 => 120000 docs/3/modules/ircv3_chghost.yml mode change 100644 => 120000 docs/3/modules/ircv3_echomessage.yml mode change 100644 => 120000 docs/3/modules/ircv3_invitenotify.yml mode change 100644 => 120000 docs/3/modules/ircv3_servertime.yml mode change 100644 => 120000 docs/3/modules/kicknorejoin.yml mode change 100644 => 120000 docs/3/modules/knock.yml mode change 100644 => 120000 docs/3/modules/ldap.yml mode change 100644 => 120000 docs/3/modules/ldapoper.yml mode change 100644 => 120000 docs/3/modules/maphide.yml mode change 100644 => 120000 docs/3/modules/monitor.yml mode change 100644 => 120000 docs/3/modules/muteban.yml mode change 100644 => 120000 docs/3/modules/namedmodes.yml mode change 100644 => 120000 docs/3/modules/nickflood.yml mode change 100644 => 120000 docs/3/modules/nicklock.yml mode change 100644 => 120000 docs/3/modules/noctcp.yml mode change 100644 => 120000 docs/3/modules/nonicks.yml mode change 100644 => 120000 docs/3/modules/nonotice.yml mode change 100644 => 120000 docs/3/modules/ojoin.yml mode change 100644 => 120000 docs/3/modules/operjoin.yml mode change 100644 => 120000 docs/3/modules/operlevels.yml mode change 100644 => 120000 docs/3/modules/opermodes.yml mode change 100644 => 120000 docs/3/modules/operprefix.yml mode change 100644 => 120000 docs/3/modules/password_hash.yml mode change 100644 => 120000 docs/3/modules/pbkdf2.yml mode change 100644 => 120000 docs/3/modules/randquote.yml mode change 100644 => 120000 docs/3/modules/redirect.yml mode change 100644 => 120000 docs/3/modules/regex_glob.yml mode change 100644 => 120000 docs/3/modules/regex_re2.yml mode change 100644 => 120000 docs/3/modules/restrictchans.yml mode change 100644 => 120000 docs/3/modules/restrictmsg.yml mode change 100644 => 120000 docs/3/modules/rline.yml mode change 100644 => 120000 docs/3/modules/sajoin.yml mode change 100644 => 120000 docs/3/modules/sakick.yml mode change 100644 => 120000 docs/3/modules/samode.yml mode change 100644 => 120000 docs/3/modules/sanick.yml mode change 100644 => 120000 docs/3/modules/sapart.yml mode change 100644 => 120000 docs/3/modules/saquit.yml mode change 100644 => 120000 docs/3/modules/satopic.yml mode change 100644 => 120000 docs/3/modules/seenicks.yml mode change 100644 => 120000 docs/3/modules/serverban.yml mode change 100644 => 120000 docs/3/modules/sethost.yml mode change 100644 => 120000 docs/3/modules/setident.yml mode change 100644 => 120000 docs/3/modules/setidle.yml mode change 100644 => 120000 docs/3/modules/setname.yml mode change 100644 => 120000 docs/3/modules/sha1.yml mode change 100644 => 120000 docs/3/modules/showfile.yml mode change 100644 => 120000 docs/3/modules/sqlite3.yml mode change 100644 => 120000 docs/3/modules/sslrehashsignal.yml mode change 100644 => 120000 docs/3/modules/starttls.yml mode change 100644 => 120000 docs/3/modules/stripcolor.yml mode change 100644 => 120000 docs/3/modules/swhois.yml mode change 100644 => 120000 docs/3/modules/tline.yml mode change 100644 => 120000 docs/3/modules/uninvite.yml mode change 100644 => 120000 docs/3/modules/vhost.yml mode change 100644 => 120000 docs/3/modules/watch.yml mode change 100644 => 120000 docs/3/user-modes.md mode change 120000 => 100644 docs/4/channel-modes.md mode change 120000 => 100644 docs/4/commands/_admin.yml mode change 120000 => 100644 docs/4/commands/_away.yml mode change 120000 => 100644 docs/4/commands/_commands.yml mode change 120000 => 100644 docs/4/commands/_die.yml mode change 120000 => 100644 docs/4/commands/_eline.yml mode change 120000 => 100644 docs/4/commands/_gline.yml mode change 120000 => 100644 docs/4/commands/_info.yml mode change 120000 => 100644 docs/4/commands/_invite.yml mode change 120000 => 100644 docs/4/commands/_ison.yml mode change 120000 => 100644 docs/4/commands/_join.yml mode change 120000 => 100644 docs/4/commands/_kick.yml mode change 120000 => 100644 docs/4/commands/_kill.yml mode change 120000 => 100644 docs/4/commands/_kline.yml mode change 120000 => 100644 docs/4/commands/_list.yml mode change 120000 => 100644 docs/4/commands/_loadmodule.yml mode change 120000 => 100644 docs/4/commands/_lusers.yml mode change 120000 => 100644 docs/4/commands/_mode.yml mode change 120000 => 100644 docs/4/commands/_modules.yml mode change 120000 => 100644 docs/4/commands/_motd.yml mode change 120000 => 100644 docs/4/commands/_names.yml mode change 120000 => 100644 docs/4/commands/_nick.yml mode change 120000 => 100644 docs/4/commands/_notice.yml mode change 120000 => 100644 docs/4/commands/_oper.yml mode change 120000 => 100644 docs/4/commands/_part.yml mode change 120000 => 100644 docs/4/commands/_pass.yml mode change 120000 => 100644 docs/4/commands/_ping.yml mode change 120000 => 100644 docs/4/commands/_pong.yml mode change 120000 => 100644 docs/4/commands/_privmsg.yml mode change 120000 => 100644 docs/4/commands/_qline.yml mode change 120000 => 100644 docs/4/commands/_quit.yml mode change 120000 => 100644 docs/4/commands/_rehash.yml mode change 120000 => 100644 docs/4/commands/_reloadmodule.yml mode change 120000 => 100644 docs/4/commands/_restart.yml mode change 120000 => 100644 docs/4/commands/_servlist.yml mode change 120000 => 100644 docs/4/commands/_squery.yml mode change 120000 => 100644 docs/4/commands/_stats.yml mode change 120000 => 100644 docs/4/commands/_time.yml mode change 120000 => 100644 docs/4/commands/_topic.yml mode change 120000 => 100644 docs/4/commands/_unloadmodule.yml mode change 120000 => 100644 docs/4/commands/_user.yml mode change 120000 => 100644 docs/4/commands/_userhost.yml mode change 120000 => 100644 docs/4/commands/_version.yml mode change 120000 => 100644 docs/4/commands/_wallops.yml mode change 120000 => 100644 docs/4/commands/_who.yml mode change 120000 => 100644 docs/4/commands/_whois.yml mode change 120000 => 100644 docs/4/commands/_whowas.yml mode change 120000 => 100644 docs/4/commands/_zline.yml mode change 120000 => 100644 docs/4/commands/index.md mode change 120000 => 100644 docs/4/configuration/_badhost.yml mode change 120000 => 100644 docs/4/configuration/_badip.yml mode change 120000 => 100644 docs/4/configuration/_badnick.yml mode change 120000 => 100644 docs/4/configuration/_cidr.yml mode change 120000 => 100644 docs/4/configuration/_exception.yml mode change 120000 => 100644 docs/4/configuration/_execfiles.yml mode change 120000 => 100644 docs/4/configuration/_insane.yml mode change 120000 => 100644 docs/4/configuration/_maxlist.yml mode change 120000 => 100644 docs/4/configuration/_module.yml mode change 120000 => 100644 docs/4/configuration/_performance.yml mode change 120000 => 100644 docs/4/configuration/_pid.yml mode change 120000 => 100644 docs/4/configuration/_server.yml mode change 120000 => 100644 docs/4/configuration/_whowas.yml mode change 120000 => 100644 docs/4/configuration/index.md mode change 120000 => 100644 docs/4/extended-bans.md mode change 120000 => 100644 docs/4/module-manager.md mode change 120000 => 100644 docs/4/modules/abbreviation.yml mode change 120000 => 100644 docs/4/modules/allowinvite.yml mode change 120000 => 100644 docs/4/modules/alltime.yml mode change 120000 => 100644 docs/4/modules/anticaps.yml mode change 120000 => 100644 docs/4/modules/auditorium.yml mode change 120000 => 100644 docs/4/modules/banredirect.yml mode change 120000 => 100644 docs/4/modules/bcrypt.yml mode change 120000 => 100644 docs/4/modules/blockcolor.yml mode change 120000 => 100644 docs/4/modules/callerid.yml mode change 120000 => 100644 docs/4/modules/cap.yml mode change 120000 => 100644 docs/4/modules/chancreate.yml mode change 120000 => 100644 docs/4/modules/chanlog.yml mode change 120000 => 100644 docs/4/modules/channames.yml mode change 120000 => 100644 docs/4/modules/channelban.yml mode change 120000 => 100644 docs/4/modules/chghost.yml mode change 120000 => 100644 docs/4/modules/chgident.yml mode change 120000 => 100644 docs/4/modules/chgname.yml mode change 120000 => 100644 docs/4/modules/classban.yml mode change 120000 => 100644 docs/4/modules/clearchan.yml mode change 120000 => 100644 docs/4/modules/conn_join.yml mode change 120000 => 100644 docs/4/modules/conn_umodes.yml mode change 120000 => 100644 docs/4/modules/customprefix.yml mode change 120000 => 100644 docs/4/modules/customtitle.yml mode change 120000 => 100644 docs/4/modules/cycle.yml mode change 120000 => 100644 docs/4/modules/dccallow.yml mode change 120000 => 100644 docs/4/modules/delayjoin.yml mode change 120000 => 100644 docs/4/modules/denychans.yml mode change 120000 => 100644 docs/4/modules/disable.yml mode change 120000 => 100644 docs/4/modules/geo_maxmind.yml mode change 120000 => 100644 docs/4/modules/geoban.yml mode change 120000 => 100644 docs/4/modules/geoclass.yml mode change 120000 => 100644 docs/4/modules/globalload.yml mode change 120000 => 100644 docs/4/modules/globops.yml mode change 120000 => 100644 docs/4/modules/haproxy.yml mode change 120000 => 100644 docs/4/modules/hidechans.yml mode change 120000 => 100644 docs/4/modules/hidelist.yml mode change 120000 => 100644 docs/4/modules/hidemode.yml mode change 120000 => 100644 docs/4/modules/hideoper.yml mode change 120000 => 100644 docs/4/modules/hostcycle.yml mode change 120000 => 100644 docs/4/modules/httpd.yml mode change 120000 => 100644 docs/4/modules/httpd_acl.yml mode change 120000 => 100644 docs/4/modules/httpd_config.yml mode change 120000 => 100644 docs/4/modules/ircv3.yml mode change 120000 => 100644 docs/4/modules/ircv3_accounttag.yml mode change 120000 => 100644 docs/4/modules/ircv3_batch.yml mode change 120000 => 100644 docs/4/modules/ircv3_capnotify.yml mode change 120000 => 100644 docs/4/modules/ircv3_chghost.yml mode change 120000 => 100644 docs/4/modules/ircv3_echomessage.yml mode change 120000 => 100644 docs/4/modules/ircv3_invitenotify.yml mode change 120000 => 100644 docs/4/modules/ircv3_servertime.yml mode change 120000 => 100644 docs/4/modules/kicknorejoin.yml mode change 120000 => 100644 docs/4/modules/knock.yml mode change 120000 => 100644 docs/4/modules/ldap.yml mode change 120000 => 100644 docs/4/modules/ldapoper.yml mode change 120000 => 100644 docs/4/modules/maphide.yml mode change 120000 => 100644 docs/4/modules/monitor.yml mode change 120000 => 100644 docs/4/modules/muteban.yml mode change 120000 => 100644 docs/4/modules/namedmodes.yml mode change 120000 => 100644 docs/4/modules/nickflood.yml mode change 120000 => 100644 docs/4/modules/nicklock.yml mode change 120000 => 100644 docs/4/modules/noctcp.yml mode change 120000 => 100644 docs/4/modules/nonicks.yml mode change 120000 => 100644 docs/4/modules/nonotice.yml mode change 120000 => 100644 docs/4/modules/ojoin.yml mode change 120000 => 100644 docs/4/modules/operjoin.yml mode change 120000 => 100644 docs/4/modules/operlevels.yml mode change 120000 => 100644 docs/4/modules/opermodes.yml mode change 120000 => 100644 docs/4/modules/operprefix.yml mode change 120000 => 100644 docs/4/modules/password_hash.yml mode change 120000 => 100644 docs/4/modules/pbkdf2.yml mode change 120000 => 100644 docs/4/modules/randquote.yml mode change 120000 => 100644 docs/4/modules/redirect.yml mode change 120000 => 100644 docs/4/modules/regex_glob.yml mode change 120000 => 100644 docs/4/modules/regex_re2.yml mode change 120000 => 100644 docs/4/modules/restrictchans.yml mode change 120000 => 100644 docs/4/modules/restrictmsg.yml mode change 120000 => 100644 docs/4/modules/rline.yml mode change 120000 => 100644 docs/4/modules/sajoin.yml mode change 120000 => 100644 docs/4/modules/sakick.yml mode change 120000 => 100644 docs/4/modules/samode.yml mode change 120000 => 100644 docs/4/modules/sanick.yml mode change 120000 => 100644 docs/4/modules/sapart.yml mode change 120000 => 100644 docs/4/modules/saquit.yml mode change 120000 => 100644 docs/4/modules/satopic.yml mode change 120000 => 100644 docs/4/modules/seenicks.yml mode change 120000 => 100644 docs/4/modules/serverban.yml mode change 120000 => 100644 docs/4/modules/sethost.yml mode change 120000 => 100644 docs/4/modules/setident.yml mode change 120000 => 100644 docs/4/modules/setidle.yml mode change 120000 => 100644 docs/4/modules/setname.yml mode change 120000 => 100644 docs/4/modules/sha1.yml mode change 120000 => 100644 docs/4/modules/showfile.yml mode change 120000 => 100644 docs/4/modules/sqlite3.yml mode change 120000 => 100644 docs/4/modules/sslrehashsignal.yml mode change 120000 => 100644 docs/4/modules/starttls.yml mode change 120000 => 100644 docs/4/modules/stripcolor.yml mode change 120000 => 100644 docs/4/modules/swhois.yml mode change 120000 => 100644 docs/4/modules/tline.yml mode change 120000 => 100644 docs/4/modules/uninvite.yml mode change 120000 => 100644 docs/4/modules/vhost.yml mode change 120000 => 100644 docs/4/modules/watch.yml mode change 120000 => 100644 docs/4/user-modes.md diff --git a/docs/3/channel-modes.md b/docs/3/channel-modes.md deleted file mode 100644 index 72e96648e..000000000 --- a/docs/3/channel-modes.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: v{{ version }} Channel Modes ---- - -## Channel Modes - -!!! note "" - This page documents channel modes. For user modes see [the user mode page](/{{ version }}/user-modes). - -{% include "3/_mode_types_table.md" %} - -### Core - -Core channel modes are channel modes which are always available. For details on the channel modes provided by modules, see the modules section below. - -Name | Character | Type | Parameter Syntax | Usable By | Description ----------- | --------- | --------- | ---------------- | ----------------- | ----------- -ban | b | List | `` | Channel operators | Bans users matching <mask> from joining the channel. -inviteonly | i | Switch | *None* | Channel operators | Prevents users from joining the channel without an invite. -key | k | ParamBoth | `` | Channel operators | Prevents users from joining the channel who have not specified the <key> password. -limit | l | Parameter | `` | Channel operators | Allows no more than <count> users to join the channel. -moderated | m | Switch | *None* | Channel operators | Prevents users without a prefix rank from messaging the channel. -noextmsg | n | Switch | *None* | Channel operators | Prevents users who are not in the channel from messaging the channel. -op | o | Prefix | `` | Channel operators | Grants channel operator status to <nick>. -private | p | Switch | *None* | Channel operators | Hides the channel in `/WHOIS` from people who are not a member. You probably want channel mode `s` (secret) rather than this. -secret | s | Switch | *None* | Channel operators | Hides the channel in `/WHOIS` and `/LIST` from people who are not a member. -topiclock | t | Switch | *None* | Channel operators | Prevents non-channel operators from changing the channel topic. -voice | v | Prefix | `` | Channel operators | Grants channel voice status to <nick>. - -#### Example Usage - -Bans users matching `*!*@example.com` from joining \#channel: - -```plaintext -/MODE #channel +b *!*@example.com -``` - -Sets the channel key for \#cheese to "cheddar": - -```plaintext -/MODE #cheese +k cheddar -``` - -Removes the channel key for \#cheese: - -```plaintext -/MODE #cheese -k cheddar -``` - -Limits \#channel to 100 users: - -```plaintext -/MODE #channel +l 100 -``` - -Grants channel operator status to Sadie in \#channel: - -```plaintext -/MODE #channel +o Sadie -``` - -Removes channel operator status from Sadie in \#channel: - -```plaintext -/MODE #channel -o Sadie -``` - -Grants channel voice status to Sadie in \#channel: - -```plaintext -/MODE #channel +v Sadie -``` - -Removes channel voice status from Sadie in \#channel: - -```plaintext -/MODE #channel -v Sadie -``` - -### Modules - -{% set modes = module_chmodes %} -{% include "3/_modes_table.md" %} - -### Configuration-defined modes - -Server administrators can also define custom prefix modes for channel privileges, such as channel modes `q` (founder), `a` (admin), or `h` (halfop), using the [customprefix](/{{ version }}/modules/customprefix) module. diff --git a/docs/3/channel-modes.md b/docs/3/channel-modes.md new file mode 120000 index 000000000..9de2b7cb6 --- /dev/null +++ b/docs/3/channel-modes.md @@ -0,0 +1 @@ +../4/channel-modes.md \ No newline at end of file diff --git a/docs/3/commands/_admin.yml b/docs/3/commands/_admin.yml deleted file mode 100644 index 37d30ef9c..000000000 --- a/docs/3/commands/_admin.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: ADMIN -syntax: >- - [] -description: |- - Requests the contact details for the administrator of the specified server. - - If `` is not specified then it defaults to the local server. -example: -- description: |- - Requests the contact details for the local server administrator - text: |- - /ADMIN -- description: |- - Requests the contact details for the server administrator of irc.example.com - text: |- - /ADMIN irc.example.com diff --git a/docs/3/commands/_admin.yml b/docs/3/commands/_admin.yml new file mode 120000 index 000000000..be827446a --- /dev/null +++ b/docs/3/commands/_admin.yml @@ -0,0 +1 @@ +../../4/commands/_admin.yml \ No newline at end of file diff --git a/docs/3/commands/_away.yml b/docs/3/commands/_away.yml deleted file mode 100644 index 47656e95d..000000000 --- a/docs/3/commands/_away.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: AWAY -syntax: >- - [] -description: |- - If `` is specified marks yourself as being away with the specified message. - - Otherwise, marks yourself as being no longer away. -example: -- description: |- - Marks yourself away with the message "Washing my hair" - text: |- - /AWAY :Washing my hair -- description: |- - Marks yourself as no longer being away - text: |- - /AWAY diff --git a/docs/3/commands/_away.yml b/docs/3/commands/_away.yml new file mode 120000 index 000000000..06246e3fc --- /dev/null +++ b/docs/3/commands/_away.yml @@ -0,0 +1 @@ +../../4/commands/_away.yml \ No newline at end of file diff --git a/docs/3/commands/_commands.yml b/docs/3/commands/_commands.yml deleted file mode 100644 index 4a74cd2d5..000000000 --- a/docs/3/commands/_commands.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: COMMANDS -syntax: "" -description: |- - Lists all commands that exist on the local server. diff --git a/docs/3/commands/_commands.yml b/docs/3/commands/_commands.yml new file mode 120000 index 000000000..628e283bb --- /dev/null +++ b/docs/3/commands/_commands.yml @@ -0,0 +1 @@ +../../4/commands/_commands.yml \ No newline at end of file diff --git a/docs/3/commands/_die.yml b/docs/3/commands/_die.yml deleted file mode 100644 index 3caaa022d..000000000 --- a/docs/3/commands/_die.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: DIE -oper_only: true -syntax: >- - -description: |- - Shuts down the local server. The `` parameter MUST match the name of the local server. -example: -- description: |- - Shuts down the local server - text: |- - /DIE irc2.example.com diff --git a/docs/3/commands/_die.yml b/docs/3/commands/_die.yml new file mode 120000 index 000000000..98b10b148 --- /dev/null +++ b/docs/3/commands/_die.yml @@ -0,0 +1 @@ +../../4/commands/_die.yml \ No newline at end of file diff --git a/docs/3/commands/_eline.yml b/docs/3/commands/_eline.yml deleted file mode 100644 index 520e6ac00..000000000 --- a/docs/3/commands/_eline.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: ELINE -oper_only: true -syntax: >- - [,]+ [ ] -description: |- - If `` and `` are specified then exempts an ident@host mask from being affected by other (G, K, Z, etc) X-lines. The `` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the E-line will be permanent. - - Otherwise, if just `` is specified, removes an exemption on an ident@host mask. -example: -- description: |- - E-lines sadie@example.com for one day with the reason "Testing" - text: |- - /ELINE sadie@example.com 1d :Testing -- description: |- - E-lines sadie@example.com for one day with the reason "Testing" - text: |- - /ELINE sadie@example.com 86400 :Testing -- description: |- - Removes an E-line on sadie@example.com - text: |- - /ELINE sadie@example.com diff --git a/docs/3/commands/_eline.yml b/docs/3/commands/_eline.yml new file mode 120000 index 000000000..cd3984746 --- /dev/null +++ b/docs/3/commands/_eline.yml @@ -0,0 +1 @@ +../../4/commands/_eline.yml \ No newline at end of file diff --git a/docs/3/commands/_gline.yml b/docs/3/commands/_gline.yml deleted file mode 100644 index 2103a1d1d..000000000 --- a/docs/3/commands/_gline.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: GLINE -oper_only: true -syntax: >- - [,]+ [ ] -description: |- - If `` and `` are specified then bans an ident@host mask from connecting to the network. The `` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the G-line will be permanent. - - Otherwise, if just `` is specified, removes a network-wide ban on an ident@host mask. -example: -- description: |- - G-lines sadie@example.com for one day with the reason "Testing" - text: |- - /GLINE sadie@example.com 1d :Testing -- description: |- - G-lines sadie@example.com for one day with the reason "Testing" - text: |- - /GLINE sadie@example.com 86400 :Testing -- description: |- - Removes a G-line on sadie@example.com - text: |- - /GLINE sadie@example.com diff --git a/docs/3/commands/_gline.yml b/docs/3/commands/_gline.yml new file mode 120000 index 000000000..6d61fb698 --- /dev/null +++ b/docs/3/commands/_gline.yml @@ -0,0 +1 @@ +../../4/commands/_gline.yml \ No newline at end of file diff --git a/docs/3/commands/_info.yml b/docs/3/commands/_info.yml deleted file mode 100644 index 58278e9dd..000000000 --- a/docs/3/commands/_info.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: INFO -syntax: "" -description: |- - Requests information on the developers and supporters who made the creation and continued development of this IRC server possible. diff --git a/docs/3/commands/_info.yml b/docs/3/commands/_info.yml new file mode 120000 index 000000000..5eec7f79e --- /dev/null +++ b/docs/3/commands/_info.yml @@ -0,0 +1 @@ +../../4/commands/_info.yml \ No newline at end of file diff --git a/docs/3/commands/_invite.yml b/docs/3/commands/_invite.yml deleted file mode 100644 index c1aa93f7d..000000000 --- a/docs/3/commands/_invite.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: INVITE -syntax: >- - [ []] -description: |- - If `` and `` are specified then sends an invite to `` inviting them to join ``. - - If `` is specified then the invite will expire after the specified duration passes. This duration can be given as a number of seconds or as a duration in the format 1y2w3d4h5m6s. - - Otherwise, if no parameters are specified, then lists the invites which you have been sent that haven't been acted on yet. -example: -- description: |- - Lists all pending invites that you have been sent - text: |- - /INVITE -- description: |- - Invites Sadie to #example - text: |- - /INVITE Sadie #example -- description: |- - Invites Sadie to #example with a five minute invite expiry - text: |- - /INVITE Sadie #example 5m -- description: |- - Invites Sadie to #example with a five minute invite expiry - text: |- - /INVITE Sadie #example 300 diff --git a/docs/3/commands/_invite.yml b/docs/3/commands/_invite.yml new file mode 120000 index 000000000..66acf1baf --- /dev/null +++ b/docs/3/commands/_invite.yml @@ -0,0 +1 @@ +../../4/commands/_invite.yml \ No newline at end of file diff --git a/docs/3/commands/_ison.yml b/docs/3/commands/_ison.yml deleted file mode 100644 index 57bd97aa1..000000000 --- a/docs/3/commands/_ison.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: ISON -syntax: >- - []+ -description: |- - Determines whether the specified nicknames are currently connected to the network. -example: -- description: |- - Checks whether Adam, Attila, and Sadie are currently connected to the network - text: |- - /ISON Adam Attila Sadie diff --git a/docs/3/commands/_ison.yml b/docs/3/commands/_ison.yml new file mode 120000 index 000000000..c8f7c3e3a --- /dev/null +++ b/docs/3/commands/_ison.yml @@ -0,0 +1 @@ +../../4/commands/_ison.yml \ No newline at end of file diff --git a/docs/3/commands/_join.yml b/docs/3/commands/_join.yml deleted file mode 100644 index f59d4f1d2..000000000 --- a/docs/3/commands/_join.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: JOIN -syntax: >- - [,]+ [][,[]+] -description: |- - Joins one or more channels using the specified channel keys if required. -example: -- description: |- - Joins #channel - text: |- - /JOIN #channel -- description: |- - Joins #channel with the key hunter2 - text: |- - /JOIN #channel hunter2 -- description: |- - Joins #channel-one with no key and #channel-two with the key hunter2 - text: |- - /JOIN #channel-one,#channel-two ,hunter2 diff --git a/docs/3/commands/_join.yml b/docs/3/commands/_join.yml new file mode 120000 index 000000000..b02588ef5 --- /dev/null +++ b/docs/3/commands/_join.yml @@ -0,0 +1 @@ +../../4/commands/_join.yml \ No newline at end of file diff --git a/docs/3/commands/_kick.yml b/docs/3/commands/_kick.yml deleted file mode 100644 index 07952e333..000000000 --- a/docs/3/commands/_kick.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: KICK -syntax: >- - [,]+ [] -description: |- - Kicks one or more users from the specified channel. - - You must be at least a channel half-operator, or channel operator if that channel mode is not enabled, and must be an equal or higher rank to the user you are kicking. -example: -- description: |- - Kicks Soni from #channel with no reason - text: |- - /KICK #channel Soni -- description: |- - Kicks Soni from #channel - text: |- - /KICK #channel Soni :Disruptive behaviour is not allowed -- description: |- - Kicks opal and Soni from #channel - text: |- - /KICK #channel opal,Soni :Disruptive behaviour is not allowed diff --git a/docs/3/commands/_kick.yml b/docs/3/commands/_kick.yml new file mode 120000 index 000000000..3077ac41f --- /dev/null +++ b/docs/3/commands/_kick.yml @@ -0,0 +1 @@ +../../4/commands/_kick.yml \ No newline at end of file diff --git a/docs/3/commands/_kill.yml b/docs/3/commands/_kill.yml deleted file mode 100644 index 21a0f476b..000000000 --- a/docs/3/commands/_kill.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: KILL -oper_only: true -syntax: >- - [,]+ -description: |- - Forcibly disconnects one or more specified users from the network with the specified reason. -example: -- description: |- - Forcibly disconnects opal from the network - text: |- - /KILL opal :Disruptive behaviour is not allowed -- description: |- - Forcibly disconnects Soni and opal from the network - text: |- - /KILL Soni,opal :Disruptive behaviour is not allowed diff --git a/docs/3/commands/_kill.yml b/docs/3/commands/_kill.yml new file mode 120000 index 000000000..19631729e --- /dev/null +++ b/docs/3/commands/_kill.yml @@ -0,0 +1 @@ +../../4/commands/_kill.yml \ No newline at end of file diff --git a/docs/3/commands/_kline.yml b/docs/3/commands/_kline.yml deleted file mode 100644 index 53b326411..000000000 --- a/docs/3/commands/_kline.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: KLINE -oper_only: true -syntax: >- - [,]+ [ ] -description: |- - If `` and `` are specified then bans an ident@host mask from connecting to the local server. The `` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the K-line will be permanent. - - Otherwise, if just `` is specified, removes a local server ban on an ident@host mask. -example: -- description: |- - K-lines sadie@example.com for one day with the reason "Testing" - text: |- - /KLINE sadie@example.com 1d :Testing -- description: |- - K-lines sadie@example.com for one day with the reason "Testing" - text: |- - /KLINE sadie@example.com 86400 :Testing -- description: |- - Removes a K-line on sadie@example.com - text: |- - /KLINE sadie@example.com diff --git a/docs/3/commands/_kline.yml b/docs/3/commands/_kline.yml new file mode 120000 index 000000000..25130b352 --- /dev/null +++ b/docs/3/commands/_kline.yml @@ -0,0 +1 @@ +../../4/commands/_kline.yml \ No newline at end of file diff --git a/docs/3/commands/_list.yml b/docs/3/commands/_list.yml deleted file mode 100644 index a7faf902b..000000000 --- a/docs/3/commands/_list.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: LIST -syntax: >- - [(>|<)|C(>|<)|T(>|<)|[!]]+ -description: |- - Lists all channels visible to the requesting user which match the specified criteria. If no criteria is specified then all visible channels are listed. - - If `>` is specified then only lists channels which contain more than `` users. - - If `<` is specified then only lists channels which contain less than `` users. - - If `C>` is specified then only lists channels which were created more than `` minutes ago. - - If `C<` is specified then only lists channels which were created less than `` minutes ago. - - If `T>` is specified then only lists channels which have had the topic changed more than `` minutes ago. - - If `T<` is specified then only lists channels which have had the topic changed less than `` minutes ago. - - If `` is specified then only lists channels with a name or a topic matching ``. - - If `!` is specified then only lists channels with a name or a topic not matching ``. -example: -- description: |- - Lists channels with more than five users - text: |- - /LIST >5 -- description: |- - Lists channels with less than five users - text: |- - /LIST <5 -- description: |- - Lists channels which were created more than ten minutes ago - text: |- - /LIST C>10 -- description: |- - Lists channels which were created less than ten minutes ago - text: |- - /LIST C<10 -- description: |- - Lists channels which had the topic changed more than ten minutes ago - text: |- - /LIST T>10 -- description: |- - Lists channels which had the topic changed less than ten minutes ago - text: |- - /LIST T<10 -- description: |- - Lists all channels with a name or topic matching `*support*` - text: |- - /LIST *support* -- description: |- - Lists all channels with a name or topic not matching `*support*` - text: |- - /LIST !*support* diff --git a/docs/3/commands/_list.yml b/docs/3/commands/_list.yml new file mode 120000 index 000000000..641f3ee84 --- /dev/null +++ b/docs/3/commands/_list.yml @@ -0,0 +1 @@ +../../4/commands/_list.yml \ No newline at end of file diff --git a/docs/3/commands/_loadmodule.yml b/docs/3/commands/_loadmodule.yml deleted file mode 100644 index 75a800994..000000000 --- a/docs/3/commands/_loadmodule.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: LOADMODULE -oper_only: true -syntax: >- - -description: |- - Loads the specified module on the local server. -example: -- description: |- - Loads the botmode module - text: |- - /LOADMODULE botmode diff --git a/docs/3/commands/_loadmodule.yml b/docs/3/commands/_loadmodule.yml new file mode 120000 index 000000000..d41398664 --- /dev/null +++ b/docs/3/commands/_loadmodule.yml @@ -0,0 +1 @@ +../../4/commands/_loadmodule.yml \ No newline at end of file diff --git a/docs/3/commands/_lusers.yml b/docs/3/commands/_lusers.yml deleted file mode 100644 index f220a96b1..000000000 --- a/docs/3/commands/_lusers.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: LUSERS -syntax: "" -description: |- - Requests information about the current and total number of servers, server operators, and users. diff --git a/docs/3/commands/_lusers.yml b/docs/3/commands/_lusers.yml new file mode 120000 index 000000000..550f1d7a2 --- /dev/null +++ b/docs/3/commands/_lusers.yml @@ -0,0 +1 @@ +../../4/commands/_lusers.yml \ No newline at end of file diff --git a/docs/3/commands/_mode.yml b/docs/3/commands/_mode.yml deleted file mode 100644 index 13070369f..000000000 --- a/docs/3/commands/_mode.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: MODE -syntax: >- - | []+ -description: |- - Changes the modes which are set on a channel or a user. - - For a list of modes see the [channel modes](/{{ version }}/channel-modes) and [user modes](/{{ version }}/user-modes) pages. -example: -- description: |- - Sets: - - 1. Channel mode `n` (noextmsg). - 2. Channel parameter-set mode `k` (key) with the value "s3cr3t". - 3. Channel parameter mode `l` (limit) with the value "100". - 4. Channel prefix mode `o` (op) with the user "Sadie". - skip_colon: true - text: |- - /MODE #channel +nklo s3cr3t 100 Sadie -- description: |- - Unsets: - - 1. Channel mode `n` (noextmsg). - 2. Channel parameter-set mode `k` (key) with the value "s3cr3t". - 3. Channel parameter mode `l` (limit). - 4. Channel prefix mode `o` (op) with the user "Sadie". - skip_colon: true - text: |- - /MODE #channel -nklo s3cr3t Sadie -- description: |- - Sets: - - 1. User mode `w` (wallops). - 2. User parameter mode `s` (snomask) with the value "*". - skip_colon: true - text: |- - /MODE Sadie +ws * -- description: |- - Unsets: - - 1. User mode `w` (wallops). - 2. User parameter mode `s` (snomask). - skip_colon: true - text: |- - /MODE Sadie -ws diff --git a/docs/3/commands/_mode.yml b/docs/3/commands/_mode.yml new file mode 120000 index 000000000..fc9266ba6 --- /dev/null +++ b/docs/3/commands/_mode.yml @@ -0,0 +1 @@ +../../4/commands/_mode.yml \ No newline at end of file diff --git a/docs/3/commands/_modules.yml b/docs/3/commands/_modules.yml deleted file mode 100644 index 2042789af..000000000 --- a/docs/3/commands/_modules.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: MODULES -syntax: "" -description: |- - Lists all modules which are loaded on the local server. diff --git a/docs/3/commands/_modules.yml b/docs/3/commands/_modules.yml new file mode 120000 index 000000000..15386f39d --- /dev/null +++ b/docs/3/commands/_modules.yml @@ -0,0 +1 @@ +../../4/commands/_modules.yml \ No newline at end of file diff --git a/docs/3/commands/_motd.yml b/docs/3/commands/_motd.yml deleted file mode 100644 index 612692c7a..000000000 --- a/docs/3/commands/_motd.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: MOTD -syntax: >- - [] -description: |- - If `` is specified then requests the message of the day for the specified server. - - Otherwise, requests the message of the day for the local server. -example: -- description: |- - Requests the MOTD for the local server - text: |- - /MOTD -- description: |- - Requests the MOTD for irc2.example.com - text: |- - /MOTD irc2.example.com diff --git a/docs/3/commands/_motd.yml b/docs/3/commands/_motd.yml new file mode 120000 index 000000000..64627368f --- /dev/null +++ b/docs/3/commands/_motd.yml @@ -0,0 +1 @@ +../../4/commands/_motd.yml \ No newline at end of file diff --git a/docs/3/commands/_names.yml b/docs/3/commands/_names.yml deleted file mode 100644 index 00d29f7a3..000000000 --- a/docs/3/commands/_names.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: NAMES -syntax: >- - [[,]+] -description: |- - Requests a list of users who are in the specified channels. -example: -- description: |- - Requests a list of users on channels #one and #two - text: |- - /NAMES #one,#two diff --git a/docs/3/commands/_names.yml b/docs/3/commands/_names.yml new file mode 120000 index 000000000..042ebcd23 --- /dev/null +++ b/docs/3/commands/_names.yml @@ -0,0 +1 @@ +../../4/commands/_names.yml \ No newline at end of file diff --git a/docs/3/commands/_nick.yml b/docs/3/commands/_nick.yml deleted file mode 100644 index 4aa7e7ce2..000000000 --- a/docs/3/commands/_nick.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: NICK -syntax: >- - -description: |- - Changes your nickname to ``. - - You may also change your nick to your UUID by specifying a nickname of "0". -example: -- description: |- - Changes your nick to Sadie - text: |- - /NICK Sadie -- description: |- - Changes your nick to your UUID - text: |- - /NICK 0 diff --git a/docs/3/commands/_nick.yml b/docs/3/commands/_nick.yml new file mode 120000 index 000000000..a972f31ef --- /dev/null +++ b/docs/3/commands/_nick.yml @@ -0,0 +1 @@ +../../4/commands/_nick.yml \ No newline at end of file diff --git a/docs/3/commands/_notice.yml b/docs/3/commands/_notice.yml deleted file mode 100644 index fee014037..000000000 --- a/docs/3/commands/_notice.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: NOTICE -syntax: >- - [,]+ -description: |- - Sends a notice to the targets specified in ``. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege). -example: -- description: |- - Sends a notice to #channel saying "Hello!" - text: |- - /NOTICE #channel :Hello! -- description: |- - Sends a notice to Sadie saying "Hello!" - text: |- - /NOTICE Sadie :Hello! -- description: |- - Sends a notice to all users on servers matching the glob pattern `*.example.com` saying "Hello!" - text: |- - /NOTICE $*.example.com :Hello! diff --git a/docs/3/commands/_notice.yml b/docs/3/commands/_notice.yml new file mode 120000 index 000000000..a5466c3d9 --- /dev/null +++ b/docs/3/commands/_notice.yml @@ -0,0 +1 @@ +../../4/commands/_notice.yml \ No newline at end of file diff --git a/docs/3/commands/_oper.yml b/docs/3/commands/_oper.yml deleted file mode 100644 index 21167f0bc..000000000 --- a/docs/3/commands/_oper.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: OPER -syntax: >- - -description: |- - Logs into a server operator account with the specified name and password. -example: -- description: |- - Logs into the server operator account "AzureDiamond" with the password "hunter2" - text: |- - /OPER AzureDiamond hunter2 diff --git a/docs/3/commands/_oper.yml b/docs/3/commands/_oper.yml new file mode 120000 index 000000000..fe816c4fd --- /dev/null +++ b/docs/3/commands/_oper.yml @@ -0,0 +1 @@ +../../4/commands/_oper.yml \ No newline at end of file diff --git a/docs/3/commands/_part.yml b/docs/3/commands/_part.yml deleted file mode 100644 index 9e9b0e5a5..000000000 --- a/docs/3/commands/_part.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: PART -syntax: >- - [,]+ [] -description: |- - Leaves one or more channels. If `` is specified then it will be used as the message shown when parting. -example: -- description: |- - Leaves \#channel with no reason - text: |- - /PART #channel -- description: |- - Leaves \#channel-one and \#channel-two with no reason - text: |- - /PART #channel-one,#channel-two -- description: |- - Leaves \#channel with the reason "Going to bed" - text: |- - /PART #channel :Going to bed -- description: |- - Leaves \#channel-one and \#channel-two with the reason "Going to bed" - text: |- - /PART #channel-one,#channel-two :Going to bed diff --git a/docs/3/commands/_part.yml b/docs/3/commands/_part.yml new file mode 120000 index 000000000..d300b6e7e --- /dev/null +++ b/docs/3/commands/_part.yml @@ -0,0 +1 @@ +../../4/commands/_part.yml \ No newline at end of file diff --git a/docs/3/commands/_pass.yml b/docs/3/commands/_pass.yml deleted file mode 100644 index 719f83678..000000000 --- a/docs/3/commands/_pass.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: PASS -syntax: >- - -description: |- - Specifies the password used to log in to the local server. -example: -- description: |- - Specifies "hunter2" as the local server password - text: |- - /PASS hunter2 diff --git a/docs/3/commands/_pass.yml b/docs/3/commands/_pass.yml new file mode 120000 index 000000000..648e37ede --- /dev/null +++ b/docs/3/commands/_pass.yml @@ -0,0 +1 @@ +../../4/commands/_pass.yml \ No newline at end of file diff --git a/docs/3/commands/_ping.yml b/docs/3/commands/_ping.yml deleted file mode 100644 index 0b077bd2e..000000000 --- a/docs/3/commands/_ping.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: PING -syntax: >- - [] -description: |- - Pings `` with the specified ``. If `` is not specified then it defaults to the local server. -example: -- description: |- - Pings the local server with the cookie "wibble" - text: |- - /PING wibble -- description: |- - Pings `irc2.example.com` with the cookie "wobble" - text: |- - /PING wobble irc2.example.com diff --git a/docs/3/commands/_ping.yml b/docs/3/commands/_ping.yml new file mode 120000 index 000000000..3525e86ef --- /dev/null +++ b/docs/3/commands/_ping.yml @@ -0,0 +1 @@ +../../4/commands/_ping.yml \ No newline at end of file diff --git a/docs/3/commands/_pong.yml b/docs/3/commands/_pong.yml deleted file mode 100644 index 7f4e325e8..000000000 --- a/docs/3/commands/_pong.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: PONG -syntax: >- - [] -description: |- - Responds to a ping from `` with the specified ``. If `` is not specified then it defaults to the local server. -example: -- description: |- - Responds to a ping from the local server with the cookie "wibble" - text: |- - /PONG wibble -- description: |- - Responds to a ping from `irc2.example.com` with the cookie "wobble" - text: |- - /PONG wobble irc2.example.com diff --git a/docs/3/commands/_pong.yml b/docs/3/commands/_pong.yml new file mode 120000 index 000000000..7d11219c6 --- /dev/null +++ b/docs/3/commands/_pong.yml @@ -0,0 +1 @@ +../../4/commands/_pong.yml \ No newline at end of file diff --git a/docs/3/commands/_privmsg.yml b/docs/3/commands/_privmsg.yml deleted file mode 100644 index d697f2f9c..000000000 --- a/docs/3/commands/_privmsg.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: PRIVMSG -syntax: >- - [,]+ -description: |- - Sends a message to the targets specified in ``. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege). -example: -- description: |- - Sends a message to #channel saying "Hello!" - text: |- - /PRIVMSG #channel :Hello! -- description: |- - Sends a message to Sadie saying "Hello!" - text: |- - /PRIVMSG Sadie :Hello! -- description: |- - Sends a message to all users on servers matching the glob pattern `*.example.com` saying "Hello!" - text: |- - /PRIVMSG $*.example.com :Hello! diff --git a/docs/3/commands/_privmsg.yml b/docs/3/commands/_privmsg.yml new file mode 120000 index 000000000..e32b0eff1 --- /dev/null +++ b/docs/3/commands/_privmsg.yml @@ -0,0 +1 @@ +../../4/commands/_privmsg.yml \ No newline at end of file diff --git a/docs/3/commands/_qline.yml b/docs/3/commands/_qline.yml deleted file mode 100644 index adb56ad11..000000000 --- a/docs/3/commands/_qline.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: QLINE -oper_only: true -syntax: >- - [,]+ [ ] -description: |- - If `` and `` are specified then prevents a nickname from being used. The `` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Q-line will be permanent. - - Otherwise, if just `` is specified, removes a reservation on a nickname. -example: -- description: |- - Q-lines Adam for one day with the reason "Testing" - text: |- - /QLINE Adam 1d :Testing -- description: |- - Q-lines Sadie for one day with the reason "Testing" - text: |- - /QLINE Sadie 86400 :Testing -- description: |- - Removes a Q-line on Adam - text: |- - /QLINE Adam diff --git a/docs/3/commands/_qline.yml b/docs/3/commands/_qline.yml new file mode 120000 index 000000000..a134a4c03 --- /dev/null +++ b/docs/3/commands/_qline.yml @@ -0,0 +1 @@ +../../4/commands/_qline.yml \ No newline at end of file diff --git a/docs/3/commands/_quit.yml b/docs/3/commands/_quit.yml deleted file mode 100644 index 3077a23ee..000000000 --- a/docs/3/commands/_quit.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: QUIT -syntax: >- - [] -description: |- - Disconnects from the local server. If `` is specified then it will be used as the message shown when quitting. Otherwise, "Client exited" will be used. -example: -- description: |- - Quits with "Client exited" as the quit message - text: |- - /QUIT -- description: |- - Quits with "Time for bed" as the reason - text: |- - /QUIT :Time for bed diff --git a/docs/3/commands/_quit.yml b/docs/3/commands/_quit.yml new file mode 120000 index 000000000..0caec8a00 --- /dev/null +++ b/docs/3/commands/_quit.yml @@ -0,0 +1 @@ +../../4/commands/_quit.yml \ No newline at end of file diff --git a/docs/3/commands/_rehash.yml b/docs/3/commands/_rehash.yml deleted file mode 100644 index 7a7aabcd3..000000000 --- a/docs/3/commands/_rehash.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: REHASH -oper_only: true -syntax: >- - |- -description: |- - Reloads the server configuration. - - If `` is specified then a specific module is rehashed on the local server. - - If `` is specified then the specified server's configuration is reloaded. - - Otherwise, if no parameters are specified, the local server's configuration is reloaded. -example: -- description: |- - Reloads the local server configuration - text: |- - /REHASH -- description: |- - Reloads the server configuration for remote.example.com - text: |- - /REHASH remote.example.com -- description: |- - Reloads the TLS (SSL) certificates (requires [the sslinfo module](/{{ version }}/modules/sslinfo)) - text: |- - /REHASH -ssl diff --git a/docs/3/commands/_rehash.yml b/docs/3/commands/_rehash.yml new file mode 120000 index 000000000..a86b040ea --- /dev/null +++ b/docs/3/commands/_rehash.yml @@ -0,0 +1 @@ +../../4/commands/_rehash.yml \ No newline at end of file diff --git a/docs/3/commands/_reloadmodule.yml b/docs/3/commands/_reloadmodule.yml deleted file mode 100644 index 281ef3146..000000000 --- a/docs/3/commands/_reloadmodule.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: RELOADMODULE -oper_only: true -syntax: >- - -description: |- - Reloads the specified module on the local server. -example: -- description: |- - Reloads the alias module - text: |- - /RELOADMODULE alias diff --git a/docs/3/commands/_reloadmodule.yml b/docs/3/commands/_reloadmodule.yml new file mode 120000 index 000000000..a2d267f5b --- /dev/null +++ b/docs/3/commands/_reloadmodule.yml @@ -0,0 +1 @@ +../../4/commands/_reloadmodule.yml \ No newline at end of file diff --git a/docs/3/commands/_restart.yml b/docs/3/commands/_restart.yml deleted file mode 100644 index c99762ded..000000000 --- a/docs/3/commands/_restart.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: RESTART -oper_only: true -syntax: >- - -description: |- - Restarts the local server. The `` parameter MUST match the name of the local server. -example: -- description: |- - Restarts the local server - text: |- - /RESTART irc2.example.com diff --git a/docs/3/commands/_restart.yml b/docs/3/commands/_restart.yml new file mode 120000 index 000000000..25473e9e9 --- /dev/null +++ b/docs/3/commands/_restart.yml @@ -0,0 +1 @@ +../../4/commands/_restart.yml \ No newline at end of file diff --git a/docs/3/commands/_servlist.yml b/docs/3/commands/_servlist.yml deleted file mode 100644 index e32eeecd8..000000000 --- a/docs/3/commands/_servlist.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: SERVLIST -syntax: >- - [ []] -description: |- - List network services that are currently connected to the network and visible to you. The optional glob-based nick and oper-type parameters match against the nickname of the network service and the oper type of the network service. -example: -- description: |- - Lists all visible network services with a nickname ending in "Serv" - text: |- - /SERVLIST *Serv diff --git a/docs/3/commands/_servlist.yml b/docs/3/commands/_servlist.yml new file mode 120000 index 000000000..c03bfe417 --- /dev/null +++ b/docs/3/commands/_servlist.yml @@ -0,0 +1 @@ +../../4/commands/_servlist.yml \ No newline at end of file diff --git a/docs/3/commands/_squery.yml b/docs/3/commands/_squery.yml deleted file mode 100644 index b81f434d5..000000000 --- a/docs/3/commands/_squery.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: SQUERY -syntax: >- - -description: |- - Sends a message to the service specified in ``. This target must be on a U-lined server. -example: -- description: |- - Sends a message to NickServ saying "HELP" - text: |- - /SQUERY NickServ HELP diff --git a/docs/3/commands/_squery.yml b/docs/3/commands/_squery.yml new file mode 120000 index 000000000..e724e4a8d --- /dev/null +++ b/docs/3/commands/_squery.yml @@ -0,0 +1 @@ +../../4/commands/_squery.yml \ No newline at end of file diff --git a/docs/3/commands/_stats.yml b/docs/3/commands/_stats.yml deleted file mode 100644 index 40d1f2023..000000000 --- a/docs/3/commands/_stats.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: STATS -syntax: >- - [] -description: |- - Requests the specified server statistics. - - If `` is specified then requests the server statistics for the specified server. - - Otherwise, requests the server statistics for the local server. - - #### Statistics Characters - - This page only lists core statistics characters. Modules which provide additional characters will list the characters on the specific module page. - - Character | Description - --------- | ----------- - e | Show E-lines (global user@host ban exceptions). - g | Show G-lines (global user@host bans). - k | Show K-lines (local user@host bans). - q | Show Q-lines (global nick bans). - Z | Show Z-lines (global IP mask bans). - i | Show connect class permissions. - Y | Show connection classes. - l | Show all client connections with information (sendq, commands, bytes, time connected). - L | Show all client connections with information and IP address. - m | Show command statistics, number of times commands have been used. - o | Show a list of all valid oper usernames and hostmasks. - O | Show opertypes and the allowed user and channel modes it can set. - p | Show open client ports, and the port type (ssl, plaintext, etc). - P | Show online opers and their idle times. - u | Show server uptime. - z | Show memory usage statistics. - E | Show socket engine events. - T | Show bandwidth/socket statistics. - U | Show U-lined servers. - -example: -- description: |- - Requests `p` (ports) statistics for the local server - text: |- - /STATS p -- description: |- - Requests `p` (ports) statistics for the remote server irc.eu.example.com - text: |- - /STATS p irc.eu.example.com diff --git a/docs/3/commands/_stats.yml b/docs/3/commands/_stats.yml new file mode 120000 index 000000000..75d601e79 --- /dev/null +++ b/docs/3/commands/_stats.yml @@ -0,0 +1 @@ +../../4/commands/_stats.yml \ No newline at end of file diff --git a/docs/3/commands/_time.yml b/docs/3/commands/_time.yml deleted file mode 100644 index dbf3646dc..000000000 --- a/docs/3/commands/_time.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: TIME -syntax: >- - [] -description: |- - If `` is specified then requests the time on the specified server. - - Otherwise, requests the time on the local server. -example: -- description: |- - Requests the time on the local server - text: |- - /TIME -- description: |- - Requests the time on remote server irc.eu.example.com - text: |- - /STATS p irc.eu.example.com diff --git a/docs/3/commands/_time.yml b/docs/3/commands/_time.yml new file mode 120000 index 000000000..f9b89063f --- /dev/null +++ b/docs/3/commands/_time.yml @@ -0,0 +1 @@ +../../4/commands/_time.yml \ No newline at end of file diff --git a/docs/3/commands/_topic.yml b/docs/3/commands/_topic.yml deleted file mode 100644 index 7248ce3b5..000000000 --- a/docs/3/commands/_topic.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: TOPIC -syntax: >- - [] -description: |- - If `` is specified then changes the topic for `` to the specified value. - - Otherwise, requests the topic for the specified channel. -example: -- description: |- - Changes the topic for #trains to "choo choo" - text: |- - /TOPIC #trains :choo choo -- description: |- - Requests the topic for #trains - text: |- - /TOPIC #trains diff --git a/docs/3/commands/_topic.yml b/docs/3/commands/_topic.yml new file mode 120000 index 000000000..b6c7031b6 --- /dev/null +++ b/docs/3/commands/_topic.yml @@ -0,0 +1 @@ +../../4/commands/_topic.yml \ No newline at end of file diff --git a/docs/3/commands/_unloadmodule.yml b/docs/3/commands/_unloadmodule.yml deleted file mode 100644 index a59b1e342..000000000 --- a/docs/3/commands/_unloadmodule.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: UNLOADMODULE -oper_only: true -syntax: >- - -description: |- - Unloads the specified module on the local server. -example: -- description: |- - Unloads the alias module - text: |- - /UNLOADMODULE alias diff --git a/docs/3/commands/_unloadmodule.yml b/docs/3/commands/_unloadmodule.yml new file mode 120000 index 000000000..f6c3abb1a --- /dev/null +++ b/docs/3/commands/_unloadmodule.yml @@ -0,0 +1 @@ +../../4/commands/_unloadmodule.yml \ No newline at end of file diff --git a/docs/3/commands/_user.yml b/docs/3/commands/_user.yml deleted file mode 100644 index 50f6f252e..000000000 --- a/docs/3/commands/_user.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: USER -syntax: >- - -description: |- - Specifies a username (ident) and real name (gecos) when connecting to the server. -example: -- description: |- - Specifies the username (ident) "jsmith" and the real name "John Smith <jsmith@example.com>" - text: |- - /USER jsmith * * :John Smith diff --git a/docs/3/commands/_user.yml b/docs/3/commands/_user.yml new file mode 120000 index 000000000..2aab34cfa --- /dev/null +++ b/docs/3/commands/_user.yml @@ -0,0 +1 @@ +../../4/commands/_user.yml \ No newline at end of file diff --git a/docs/3/commands/_userhost.yml b/docs/3/commands/_userhost.yml deleted file mode 100644 index 013a28ede..000000000 --- a/docs/3/commands/_userhost.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: USERHOST -syntax: >- - []+ -description: |- - Requests the hostname of the specified users. -example: -- description: |- - Requests the hostname of Adam - text: |- - /USERHOST Adam -- description: |- - Requests the hostname of Adam and Sadie - text: |- - /USERHOST Adam Sadie diff --git a/docs/3/commands/_userhost.yml b/docs/3/commands/_userhost.yml new file mode 120000 index 000000000..4038a4305 --- /dev/null +++ b/docs/3/commands/_userhost.yml @@ -0,0 +1 @@ +../../4/commands/_userhost.yml \ No newline at end of file diff --git a/docs/3/commands/_version.yml b/docs/3/commands/_version.yml deleted file mode 100644 index 195e643cf..000000000 --- a/docs/3/commands/_version.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: VERSION -syntax: >- - [] -description: |- - If `` is specified then requests the version of the specified server. - - Otherwise, requests the version of the local server. -example: -- description: |- - Requests the version of the local server - text: |- - /VERSION -- description: |- - Requests the version of the remote server irc.eu.example.com - text: |- - /VERSION irc.eu.example.com diff --git a/docs/3/commands/_version.yml b/docs/3/commands/_version.yml new file mode 120000 index 000000000..627212529 --- /dev/null +++ b/docs/3/commands/_version.yml @@ -0,0 +1 @@ +../../4/commands/_version.yml \ No newline at end of file diff --git a/docs/3/commands/_wallops.yml b/docs/3/commands/_wallops.yml deleted file mode 100644 index fab6039e5..000000000 --- a/docs/3/commands/_wallops.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: WALLOPS -oper_only: true -syntax: >- - -description: |- - Sends a message to all users with user mode `w` (wallops) enabled: -example: -- description: |- - Sends "Rebooting for updates at 20:00 UTC" to all users with user mode `w` (wallops) enabled - text: |- - /WALLOPS :Rebooting for updates at 20:00 UTC diff --git a/docs/3/commands/_wallops.yml b/docs/3/commands/_wallops.yml new file mode 120000 index 000000000..8a84dba0f --- /dev/null +++ b/docs/3/commands/_wallops.yml @@ -0,0 +1 @@ +../../4/commands/_wallops.yml \ No newline at end of file diff --git a/docs/3/commands/_who.yml b/docs/3/commands/_who.yml deleted file mode 100644 index f651878ce..000000000 --- a/docs/3/commands/_who.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: WHO -syntax: >- - [][%[[,]]] -description: |- - Requests information about users who match the specified condition. - - One or more of the following flags may be used: - - Character | Description - --------- | ----------- - A | Show users who have an away message matching ``. - a | Show users who have an account name matching ``. - d | Also show users who have been delay joined (requires [the delayjoin module](/{{ version }}/modules/delayjoin)). - f | Only show users on remote (far) servers. - G | Show users who are connecting from a country with an alpha-2 code matching `` (requires [the geoban module](/{{ version }}/modules/geoban)). - h | Show users who have a hostname matching ``. If the 'x' modifier is specified then this will match against the real hostname instead of the display hostname. - i | Show users who have an IP address matching ``. - l | Only show users on the local server. - m | Show users who have the modes listed in ``. The pattern should be in the same format as a mode change e.g. +ow-i (server operators only). - n | Show users who have a nickname matching ``. - o | Only show server operators. - p | Show users who are connected to a port in the `` range (server operators only). - r | Show users who have a real name matching ``. - s | Show users who are on a server with a name matching ``. If the 'x' modifier is specified then this will match against the real server name instead of the masked server name. - t | Show users who have connected in the last `` seconds. - u | Show users who have an ident (username) matching ``. - x | Show sensitive data like real user hostnames and, when hideserver is enabled, real server hostnames. - - One or more of the following fields may be used: - - Character | Description - --------- | ----------- - a | Include the user's account name in the response. - c | Include the first common channel name in the response. - d | Include the user's server distance from you in the response. - f | Include the user's away status, oper status, and highest channel prefix in the response. - h | Include the user's hostname in the response. If the 'x' flag was specified then this is the real host rather than the display host. - i | Include the user's IP address in the response. - l | Include the user's idle time in the response. - n | Include the user's nickname in the response. - o | Include the user's channel operator rank level in the response. - r | Include the user's real name in the response. - s | Include the user's server name in the response. If the 'x' flag was specified then this is the real server name rather than the masked servername. - t | Include the query type in the response. - u | Include the user's username in the response. -example: -- description: |- - Requests all users on the local server who have an away message matching `*brb*` - text: |- - /WHO *brb* Al -- description: |- - Requests the account name, hostname, and username of Sadie - text: |- - /WHO Sadie n%ahu diff --git a/docs/3/commands/_who.yml b/docs/3/commands/_who.yml new file mode 120000 index 000000000..2803b75f0 --- /dev/null +++ b/docs/3/commands/_who.yml @@ -0,0 +1 @@ +../../4/commands/_who.yml \ No newline at end of file diff --git a/docs/3/commands/_whois.yml b/docs/3/commands/_whois.yml deleted file mode 100644 index 89ebbf72b..000000000 --- a/docs/3/commands/_whois.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: WHOIS -syntax: >- - [] [,]+ -description: |- - Requests information about users who are currently connected with the specified nicks: - - If the `` parameter is specified then only one `` can be specified and remote information will be fetched about the user if they are not on the local server. -example: -- description: |- - Requests locally available information about Adam - text: |- - /WHOIS Adam -- description: |- - Requests remotely available information about Adam by specifying the server they're on - text: |- - /WHOIS irc.example.com Adam -- description: |- - Requests remotely available information about Adam by repeating their nick - text: |- - /WHOIS Adam Adam -- description: |- - Requests locally available information about Adam and Sadie - text: |- - /WHOIS Adam,Sadie diff --git a/docs/3/commands/_whois.yml b/docs/3/commands/_whois.yml new file mode 120000 index 000000000..8b8a27ccc --- /dev/null +++ b/docs/3/commands/_whois.yml @@ -0,0 +1 @@ +../../4/commands/_whois.yml \ No newline at end of file diff --git a/docs/3/commands/_whowas.yml b/docs/3/commands/_whowas.yml deleted file mode 100644 index 457a1c9c9..000000000 --- a/docs/3/commands/_whowas.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: WHOWAS -syntax: >- - [] -description: |- - Requests information about a user who was previously connected with the specified nick. - - If `` is given, only return the `` most recent entries. -example: -- description: |- - Requests information about who previously used the nick Adam - text: |- - /WHOWAS Adam diff --git a/docs/3/commands/_whowas.yml b/docs/3/commands/_whowas.yml new file mode 120000 index 000000000..23c403b18 --- /dev/null +++ b/docs/3/commands/_whowas.yml @@ -0,0 +1 @@ +../../4/commands/_whowas.yml \ No newline at end of file diff --git a/docs/3/commands/_zline.yml b/docs/3/commands/_zline.yml deleted file mode 100644 index ae8560ed1..000000000 --- a/docs/3/commands/_zline.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: ZLINE -oper_only: true -syntax: >- - [,]+ [ ] -description: |- - If `` and `` are specified then bans an IP address or CIDR range from connecting to the network. The `` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Z-line will be permanent. - - Otherwise, if just `` is specified, removes a network-wide ban on an IP address. -example: -- description: |- - Z-lines 192.0.2.1 for one day with the reason "Testing" - text: |- - /ZLINE 192.0.2.1 1d :Testing -- description: |- - Z-lines 192.0.2.0/24 for one day with the reason "Testing" - text: |- - /ZLINE 192.0.2.0/24 86400 :Testing -- description: |- - Removes a Z-line on 192.0.2.1 - text: |- - /ZLINE 192.0.2.1 diff --git a/docs/3/commands/_zline.yml b/docs/3/commands/_zline.yml new file mode 120000 index 000000000..85f35cdf2 --- /dev/null +++ b/docs/3/commands/_zline.yml @@ -0,0 +1 @@ +../../4/commands/_zline.yml \ No newline at end of file diff --git a/docs/3/commands/index.md b/docs/3/commands/index.md deleted file mode 100644 index 1853e3aa4..000000000 --- a/docs/3/commands/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: v{{ version }} Commands ---- - -## Commands - -This page only lists core commands. For details on the commands of a specific module please refer to [the appropriate page for that module](/{{ version }}/modules). - -{% for cmd in core_commands -%} -### `/{{ cmd.name }} {{ cmd.syntax }}` - - - -{{ cmd.description }} - -{% if cmd.oper_only %} -This command is only usable by server operators with `{{ cmd.name }}` in [one of their `` blocks](/{{ version }}/configuration/#class). -{% endif %} - -{% if cmd.example %} -#### Example Usage - -{% for example in cmd.example %} - -{% if example.note %} -
-{{ example.note }} -
-{% endif %} - -{% if example.description %} -{% if example.added %}New in v{{ example.added }}! {% endif %}{{ example.description }}{% if not example.skip_colon %}:{% endif %} -{% endif %} - -```plaintext -{{ example.text }} -``` - -{% endfor %} -{% endif %} - -{% endfor %} diff --git a/docs/3/commands/index.md b/docs/3/commands/index.md new file mode 120000 index 000000000..5c7dca154 --- /dev/null +++ b/docs/3/commands/index.md @@ -0,0 +1 @@ +../../4/commands/index.md \ No newline at end of file diff --git a/docs/3/configuration/_badhost.yml b/docs/3/configuration/_badhost.yml deleted file mode 100644 index 87ea80353..000000000 --- a/docs/3/configuration/_badhost.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: badhost -description: |- - The `` tag defines a permanent K-line. This tag can be defined as many times as required. -attributes: -- name: host - type: Text - required: true - default: null - description: |- - A user@host to K-line. -- name: reason - type: Text - required: true - default: null - description: |- - The reason for the K-line being added. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_badhost.yml b/docs/3/configuration/_badhost.yml new file mode 120000 index 000000000..f60fc938b --- /dev/null +++ b/docs/3/configuration/_badhost.yml @@ -0,0 +1 @@ +../../4/configuration/_badhost.yml \ No newline at end of file diff --git a/docs/3/configuration/_badip.yml b/docs/3/configuration/_badip.yml deleted file mode 100644 index 86146edef..000000000 --- a/docs/3/configuration/_badip.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: badip -description: |- - The `` tag defines a permanent Z-line. This tag can be defined as many times as required. -attributes: -- name: ipmask - type: Text - required: true - default: null - description: |- - An IP address to Z-line. -- name: reason - type: Text - required: true - default: null - description: |- - The reason for the Z-line being added. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_badip.yml b/docs/3/configuration/_badip.yml new file mode 120000 index 000000000..4491a36a6 --- /dev/null +++ b/docs/3/configuration/_badip.yml @@ -0,0 +1 @@ +../../4/configuration/_badip.yml \ No newline at end of file diff --git a/docs/3/configuration/_badnick.yml b/docs/3/configuration/_badnick.yml deleted file mode 100644 index e4e9440da..000000000 --- a/docs/3/configuration/_badnick.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: badnick -description: |- - The `` tag defines a permanent Q-line. This tag can be defined as many times as required. -attributes: -- name: nick - type: Text - required: true - default: null - description: |- - A nickname to Q-line. -- name: reason - type: Text - required: true - default: null - description: |- - The reason for the Q-line being added. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_badnick.yml b/docs/3/configuration/_badnick.yml new file mode 120000 index 000000000..faf57e404 --- /dev/null +++ b/docs/3/configuration/_badnick.yml @@ -0,0 +1 @@ +../../4/configuration/_badnick.yml \ No newline at end of file diff --git a/docs/3/configuration/_cidr.yml b/docs/3/configuration/_cidr.yml deleted file mode 100644 index dc2d9cae2..000000000 --- a/docs/3/configuration/_cidr.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: cidr -description: |- - The `` tag defines the number of bits of an IP address that should be looked at when locating clones. This tag can only be defined once. -attributes: -- name: ipv4clone - type: Number - required: false - default: '32' - description: |- - The number of bits (0-32) of an IPv4 address that should be looked at when locating clones. -- name: ipv6clone - type: Number - required: false - default: '128' - description: |- - The number of bits (0-128) of an IPv6 address that should be looked at when locating clones. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_cidr.yml b/docs/3/configuration/_cidr.yml new file mode 120000 index 000000000..6cb4f0954 --- /dev/null +++ b/docs/3/configuration/_cidr.yml @@ -0,0 +1 @@ +../../4/configuration/_cidr.yml \ No newline at end of file diff --git a/docs/3/configuration/_exception.yml b/docs/3/configuration/_exception.yml deleted file mode 100644 index 88f1c4611..000000000 --- a/docs/3/configuration/_exception.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: exception -description: |- - The `` tag defines a permanent E-line. This tag can be defined as many times as required. -attributes: -- name: host - type: Text - required: true - default: null - description: |- - A user@host to E-line. -- name: reason - type: Text - required: true - default: null - description: |- - The reason for the E-line being added. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_exception.yml b/docs/3/configuration/_exception.yml new file mode 120000 index 000000000..fa124f6c1 --- /dev/null +++ b/docs/3/configuration/_exception.yml @@ -0,0 +1 @@ +../../4/configuration/_exception.yml \ No newline at end of file diff --git a/docs/3/configuration/_execfiles.yml b/docs/3/configuration/_execfiles.yml deleted file mode 100644 index caeb50fe4..000000000 --- a/docs/3/configuration/_execfiles.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: execfiles -description: |- - The `` tag runs a shell command and reads its output. This tag can only be defined once. The purpose of the output depends on what field commands are defined in. - - Note that commands are only run on rehash, so changes are not automatically detected. -attributes: -- name: motd - type: Text - required: false - default: null - description: |- - A file used as the message of the day, ie. shown to users when they connect or use the `/MOTD` command. -details: |- - The working directory is InspIRCd's configuration directory. -example: |- - Downloads `https://www.example.com/motd.txt` and uses it as the message of the day: - - ```xml - - ``` diff --git a/docs/3/configuration/_execfiles.yml b/docs/3/configuration/_execfiles.yml new file mode 120000 index 000000000..962b3f8f8 --- /dev/null +++ b/docs/3/configuration/_execfiles.yml @@ -0,0 +1 @@ +../../4/configuration/_execfiles.yml \ No newline at end of file diff --git a/docs/3/configuration/_insane.yml b/docs/3/configuration/_insane.yml deleted file mode 100644 index 50d25d7f2..000000000 --- a/docs/3/configuration/_insane.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: insane -description: |- - The `` tag defines limits to protect against overly wide X-lines being created. This tag can only be defined once. -attributes: -- name: hostmasks - type: Boolean - required: false - default: 'No' - description: |- - Whether to bypass the limit for E-lines, G-lines, and K-lines. -- name: ipmasks - type: Boolean - required: false - default: 'No' - description: |- - Whether to bypass the limit for Z-lines. -- name: nickmasks - type: Boolean - required: false - default: 'No' - description: |- - Whether to bypass the limit for Q-lines. -- name: trigger - type: Decimal - required: false - default: '95.5' - description: |- - The percentage of connected users who must match the X-line for it to be rejected as overly wide. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_insane.yml b/docs/3/configuration/_insane.yml new file mode 120000 index 000000000..67215547b --- /dev/null +++ b/docs/3/configuration/_insane.yml @@ -0,0 +1 @@ +../../4/configuration/_insane.yml \ No newline at end of file diff --git a/docs/3/configuration/_maxlist.yml b/docs/3/configuration/_maxlist.yml deleted file mode 100644 index df9ccf6b4..000000000 --- a/docs/3/configuration/_maxlist.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: maxlist -description: |- - The `` tag defines the number of list modes which can be created in a channel. This tag can be defined as many times as required. -attributes: -- name: chan - type: Text - required: true - default: null - description: |- - A glob pattern for channels that this limit applies to. -- name: mode - type: Number - required: false - default: null - description: |- - The character or name for the mode this limit applies to. If not defined then it applies to all modes. -- name: limit - type: Number - required: true - default: null - description: |- - The number of bans which can be created in these channels. -details: "" -example: |- - ```xml - - - - ``` diff --git a/docs/3/configuration/_maxlist.yml b/docs/3/configuration/_maxlist.yml new file mode 120000 index 000000000..8bde60a2d --- /dev/null +++ b/docs/3/configuration/_maxlist.yml @@ -0,0 +1 @@ +../../4/configuration/_maxlist.yml \ No newline at end of file diff --git a/docs/3/configuration/_module.yml b/docs/3/configuration/_module.yml deleted file mode 100644 index 722933e3e..000000000 --- a/docs/3/configuration/_module.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: module -description: |- - The `` tag defines a module to load. This tag can be defined as many times as required. -attributes: -- name: name - type: Text - required: true - default: null - description: |- - The name of a module to load. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_module.yml b/docs/3/configuration/_module.yml new file mode 120000 index 000000000..e8694eee0 --- /dev/null +++ b/docs/3/configuration/_module.yml @@ -0,0 +1 @@ +../../4/configuration/_module.yml \ No newline at end of file diff --git a/docs/3/configuration/_performance.yml b/docs/3/configuration/_performance.yml deleted file mode 100644 index 6ac0db7d2..000000000 --- a/docs/3/configuration/_performance.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: performance -description: |- - The `` tag defines configuration options relating to server performance. This tag can only be defined once. -attributes: -- name: clonesonconnect - type: Boolean - required: false - default: 'Yes' - description: |- - Whether to check for clones when a user connects to the server. -- name: netbuffersize - type: Number - required: false - default: '10240' - description: |- - The size of the buffer used to receive data from users. -- name: softlimit - type: Number - required: false - default: '*Varies*' - description: |- - The maximum number of connections to allow to the IRC server. -- name: somaxconn - type: Number - required: false - default: '*Varies*' - description: |- - The maximum number of connections that may be waiting in the connection accept queue. -- name: timeskipwarn - type: Duration - required: false - default: 2s - description: |- - The amount of time the server clock can skip by before server operators are warned about lag. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_performance.yml b/docs/3/configuration/_performance.yml new file mode 120000 index 000000000..d217d6d73 --- /dev/null +++ b/docs/3/configuration/_performance.yml @@ -0,0 +1 @@ +../../4/configuration/_performance.yml \ No newline at end of file diff --git a/docs/3/configuration/_pid.yml b/docs/3/configuration/_pid.yml deleted file mode 100644 index a89fa1aa1..000000000 --- a/docs/3/configuration/_pid.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: pid -description: |- - The `` tag defines the location of the pidfile. This tag can only be defined once. -attributes: -- name: file - type: Text - required: false - default: inspircd.pid - description: |- - The location of the pidfile. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_pid.yml b/docs/3/configuration/_pid.yml new file mode 120000 index 000000000..cf29a360c --- /dev/null +++ b/docs/3/configuration/_pid.yml @@ -0,0 +1 @@ +../../4/configuration/_pid.yml \ No newline at end of file diff --git a/docs/3/configuration/_server.yml b/docs/3/configuration/_server.yml deleted file mode 100644 index 0480e95f0..000000000 --- a/docs/3/configuration/_server.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: server -description: |- - The `` tag defines settings about the local server. This tag can only be defined once. -attributes: -- name: name - type: Text - required: true - default: null - description: |- - The hostname of the local server. -- name: description - type: Text - required: false - default: Configure Me - description: |- - A description of the local server. -- name: network - type: Text - required: false - default: Network - description: |- - The name of the IRC network the local server is attached to. -- name: id - type: Text - required: false - default: null - description: |- - If defined then a unique server identifier in the format [0-9][0-9A-Z][0-9A-Z]. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_server.yml b/docs/3/configuration/_server.yml new file mode 120000 index 000000000..09fa5879f --- /dev/null +++ b/docs/3/configuration/_server.yml @@ -0,0 +1 @@ +../../4/configuration/_server.yml \ No newline at end of file diff --git a/docs/3/configuration/_whowas.yml b/docs/3/configuration/_whowas.yml deleted file mode 100644 index ba498b68d..000000000 --- a/docs/3/configuration/_whowas.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: whowas -description: |- - The `` tag defines the configuration of the `/WHOWAS` database. This tag can only be defined once. -attributes: -- name: groupsize - type: Number - required: false - default: '10' - description: |- - The maximum number of `/WHOWAS` entries for a nickname. If set to 0 then `/WHOWAS` is disabled. -- name: maxgroups - type: Number - required: false - default: '10240' - description: |- - The maximum number of `/WHOWAS` nickname groups. If set to 0 then `/WHOWAS` is disabled. -- name: maxkeep - type: Duration - required: false - default: 1h - description: |- - The period of time to keep `/WHOWAS` records for. -details: "" -example: |- - ```xml - - ``` diff --git a/docs/3/configuration/_whowas.yml b/docs/3/configuration/_whowas.yml new file mode 120000 index 000000000..ba5734ba4 --- /dev/null +++ b/docs/3/configuration/_whowas.yml @@ -0,0 +1 @@ +../../4/configuration/_whowas.yml \ No newline at end of file diff --git a/docs/3/configuration/index.md b/docs/3/configuration/index.md deleted file mode 100644 index fc88e6093..000000000 --- a/docs/3/configuration/index.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: v{{ version }} Configuration ---- - -## Configuration - -!!! note "" - If you are configuring your server from scratch you might find the example configuration files helpful. - - These are located in: - - - `/usr/share/doc/inspircd` if using our UNIX binary packages. - - `C:\Program Files\InspIRCd\conf\examples` if using our Windows binary package. - - `[ROOT]/run/conf/examples` if you have built in your home directory. - -This page only lists core configuration. For details on the configuration of a specific module please refer to [the appropriate page for that module](/{{ version }}/modules). - -{% for tag in core_config_tags -%} -### `<{{ tag.name }}>` - -{{ tag.description }} - -{% if tag.attributes %} - - - - - - - - - - -{% for attr in tag.attributes %} - -{% if attr.name is string %} - -{% else %} - -{% endif %} - - - - -{% endfor %} - -
NameTypeDefault ValueDescription
{{ attr.name }} -{% for name, version in attr.name.items() %} -{{ name }} *({{ version }})*{% if not loop.last %}
{% endif %} -{% endfor %} -
{{ attr.type }}{% if attr.default is none %}None{% else %}{{ attr.default }}{% endif %}{% if attr.added %}New in v{{ attr.added }}! {% endif %}{% if attr.required %}Required! {% endif %}{{ attr.description }}
-{% endif %} - -{% if extra_tag_fields[tag.name] %} -{% if tag.attributes %} -Additionally, the following fields are provided by modules: -{% else %} -The following fields are provided by modules: -{% endif %} - - - - - - - - - - - - -{% for field_name in extra_tag_fields[tag.name].keys()|sort -%} -{% for field in extra_tag_fields[tag.name][field_name] %} - -{% if loop.first %} -{% if field.name is string %} - -{% else %} - -{% endif %} - - -{% endif %} - - - -{% endfor %} -{% endfor %} - -
NameTypeDefault ValueModuleDescription
{{ field.name }} -{% for name, version in field.name.items() %} -{{ name }} *({{ version }})*{% if not loop.last %}
{% endif %} -{% endfor %} -
{{ field.type }}{% if field.default is none %}None{% else %}{{ field.default }}{% endif %}[{{ field.module }}](/{{ version }}/modules/{{ field.module }}/){% if field.required %}Required! {% endif %}{{ field.description }}
-{% endif %} - -{{ tag.details }} - -#### Example Usage - -{{ tag.example }} - -{% endfor %} diff --git a/docs/3/configuration/index.md b/docs/3/configuration/index.md new file mode 120000 index 000000000..9b2c8b482 --- /dev/null +++ b/docs/3/configuration/index.md @@ -0,0 +1 @@ +../../4/configuration/index.md \ No newline at end of file diff --git a/docs/3/extended-bans.md b/docs/3/extended-bans.md deleted file mode 100644 index 89bbc91b2..000000000 --- a/docs/3/extended-bans.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: v{{ version }} Extended Bans ---- - -## Extended Bans - -Some [list modes](/{{ version }}/channel-modes), such as [channel mode `b` (ban)](/{{ version }}/channel-modes), take a `!@` mask as their parameter. These list modes can be extended to support alternate forms of matching and actions. {% if '4' == version %} If prefixed with an `!` then the behaviour is inverted.{% endif %} - -### Acting - -Acting extended bans allow restricting actions that users can perform. Such actions can include preventing a user from speaking in a channel (requires [the muteban module](/{{ version }}/modules/muteban)) or changing their nickname (requires [the nonicks module](/{{ version }}/modules/nonicks)). Acting extended bans can also be stacked with matching extended bans (see below). - -{% set extbans = acting_module_extbans %} -{% include "3/_extbans_table.md" %} - -### Matching - -Matching extended bans allow matching against extended user attributes such as connect class (requires [the classban module](/{{ version }}/modules/classban)) or TLS (SSL) fingerprint (requires [the sslmodes module](/{{ version }}/modules/sslmodes)). - -{% set extbans = matching_module_extbans %} -{% include "3/_extbans_table.md" %} diff --git a/docs/3/extended-bans.md b/docs/3/extended-bans.md new file mode 120000 index 000000000..cdfa392a7 --- /dev/null +++ b/docs/3/extended-bans.md @@ -0,0 +1 @@ +../4/extended-bans.md \ No newline at end of file diff --git a/docs/3/module-manager.md b/docs/3/module-manager.md deleted file mode 100644 index cec08587d..000000000 --- a/docs/3/module-manager.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: v{{ version }} Module Manager ---- - -## Managing third-party modules with Module Manager - -### Summary - -The InspIRCd community has created many third-party modules and Module Manager is an easy-to-use helper script for finding and installing those modules. - -### Usage - -To see the list of Module Manager subcommands you can run execute `./modulemanager help` in the root of the InspIRCd source directory. - -#### Installing a module - -To install a module use the `./modulemanager install ` command. The module will be downloaded and placed into the `./src/modules` directory. You can then build and install the module by running `make install`. - -#### Upgrading modules - -To upgrade modules use the `./modulemanager upgrade` command. All outdated modules will be updated and you can rebuild them as mentioned above. - -#### Listing available modules - -The `./modulemanager list` command shows the names, versions, and descriptions of all available modules. - -### Other Methods - -If for some reason you are unable to use the Module Manager you can download and install modules manually using the following steps: - -1. Download the module you wish to install from [the inspircd-contrib repository on GitHub](https://github.com/inspircd/inspircd-contrib/tree/master/{{version}}). - -2. Move it to the ./src/modules directory. - -3. Run `make install` to build and install the module. diff --git a/docs/3/module-manager.md b/docs/3/module-manager.md new file mode 120000 index 000000000..ca0334046 --- /dev/null +++ b/docs/3/module-manager.md @@ -0,0 +1 @@ +../4/module-manager.md \ No newline at end of file diff --git a/docs/3/modules/abbreviation.yml b/docs/3/modules/abbreviation.yml deleted file mode 100644 index fac19f66c..000000000 --- a/docs/3/modules/abbreviation.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: abbreviation - -description: |- - This module allows commands to be abbreviated by appending a full stop. For example, executing `/PRIV. #test Hello!` would expand to `/PRIVMSG #test Hello!`. - - If more than one command matches the specified abbreviation the server will respond with a list of commands that the abbreviation could possibly match. - -special_notes: |- - This module will not allow you to abbreviate aliases added by [the alias module](/{{ version }}/modules/alias) as aliases are not real commands. If you wish to shorten an alias you should add a short form version of that alias. diff --git a/docs/3/modules/abbreviation.yml b/docs/3/modules/abbreviation.yml new file mode 120000 index 000000000..57149f73e --- /dev/null +++ b/docs/3/modules/abbreviation.yml @@ -0,0 +1 @@ +../../4/modules/abbreviation.yml \ No newline at end of file diff --git a/docs/3/modules/allowinvite.yml b/docs/3/modules/allowinvite.yml deleted file mode 100644 index 44c6155f9..000000000 --- a/docs/3/modules/allowinvite.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: allowinvite - -description: |- - This module adds channel mode `A` (allowinvite) which allows unprivileged users to use the `/INVITE` command and extended ban `A:` (blockinvite) which bans specific masks from using the `/INVITE` command. - -chmodes: - chars: - - name: allowinvite - char: A - type: Switch - syntax: null - usable_by: Channel operators - description: Allows unprivileged users to use the `/INVITE` command. - - example: "" - -extbans: - chars: - - name: blockinvite - char: A - type: Acting - syntax: - description: Bans <mask> from using the `/INVITE` command. - example: - - description: |- - Bans users matching `*!*@example.com` from using the `/INVITE` command - text: |- - /MODE #channel +b A:*!*@example.com diff --git a/docs/3/modules/allowinvite.yml b/docs/3/modules/allowinvite.yml new file mode 120000 index 000000000..fdefb63ba --- /dev/null +++ b/docs/3/modules/allowinvite.yml @@ -0,0 +1 @@ +../../4/modules/allowinvite.yml \ No newline at end of file diff --git a/docs/3/modules/alltime.yml b/docs/3/modules/alltime.yml deleted file mode 100644 index 86f4f06c1..000000000 --- a/docs/3/modules/alltime.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: alltime - -description: |- - This module adds the `/ALLTIME` command which allows server operators to see the current UTC time on all of the servers on the network. - -commands: -- name: ALLTIME - param_count: 0 - oper_only: true - syntax: null - description: |- - Causes all servers on the network to respond with the current UTC time on the server. diff --git a/docs/3/modules/alltime.yml b/docs/3/modules/alltime.yml new file mode 120000 index 000000000..85cc75d61 --- /dev/null +++ b/docs/3/modules/alltime.yml @@ -0,0 +1 @@ +../../4/modules/alltime.yml \ No newline at end of file diff --git a/docs/3/modules/anticaps.yml b/docs/3/modules/anticaps.yml deleted file mode 100644 index eb9ee11d2..000000000 --- a/docs/3/modules/anticaps.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: anticaps - -description: |- - This module adds channel mode `B` (anticaps) which allows channels to block messages which are excessively capitalised. - -configuration: -- name: anticaps - description: |- - The `` tag defines settings about how the anticaps module should behave. This tag can only be defined once. - attributes: - - name: lowercase - type: Text - required: false - default: abcdefghijklmnopqrstuvwxyz - description: |- - A list of characters to treat as lower case letters. - - name: uppercase - type: Text - required: false - default: ABCDEFGHIJKLMNOPQRSTUVWXYZ - description: |- - A list of characters to treat as upper case letters. - details: "" - example: |- - ```xml - - ``` - -chmodes: - chars: - - name: anticaps - char: B - type: Parameter - syntax: '{ban|block|mute|kick|kickban}::' - usable_by: Channel operators - description: |- - Enables blocking excessively capitalised messages. - example: - - description: |- - Kicks users who send a message which is longer than five characters and is more than 75% capital letters - text: |- - /MODE #channel +B kick:5:75 - -exemptions: -- name: anticaps - description: Allows exempted users to send overly capitalised messages. diff --git a/docs/3/modules/anticaps.yml b/docs/3/modules/anticaps.yml new file mode 120000 index 000000000..a01026fe5 --- /dev/null +++ b/docs/3/modules/anticaps.yml @@ -0,0 +1 @@ +../../4/modules/anticaps.yml \ No newline at end of file diff --git a/docs/3/modules/auditorium.yml b/docs/3/modules/auditorium.yml deleted file mode 100644 index b9fc07dc4..000000000 --- a/docs/3/modules/auditorium.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: auditorium - -description: |- - This module adds channel mode `u` (auditorium) which hides unprivileged users in a channel from each other. This is done by suppressing joins, parts, quits, kicks, `/NAMES` responses, and `/WHO` responses for unprivileged users. - -configuration: -- name: auditorium - description: |- - The `` tag defines settings about how the auditorium module should behave. This tag can only be defined once. - attributes: - - name: opcansee - type: Boolean - required: false - default: 'No' - description: |- - Whether channel operators can see other channel members. - - name: opvisible - type: Boolean - required: false - default: 'No' - description: |- - Whether channel operators can be seen by other channel members. - - name: opercansee - type: Boolean - required: false - default: 'Yes' - description: |- - Whether server operators with the channels/auspex privilege can see other channel members. - details: "" - example: |- - ```xml - - ``` - -chmodes: - chars: - - name: auditorium - char: u - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Enables auditorium mode. - example: "" - -exemptions: -- name: auditorium-see - description: Allows exempted users to see other channel members. -- name: auditorium-vis - description: Allows exempted users to be seen by other channel members. diff --git a/docs/3/modules/auditorium.yml b/docs/3/modules/auditorium.yml new file mode 120000 index 000000000..afe1cc26b --- /dev/null +++ b/docs/3/modules/auditorium.yml @@ -0,0 +1 @@ +../../4/modules/auditorium.yml \ No newline at end of file diff --git a/docs/3/modules/banredirect.yml b/docs/3/modules/banredirect.yml deleted file mode 100644 index 2d15d0bde..000000000 --- a/docs/3/modules/banredirect.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: banredirect - -description: |- - This module allows specifying a channel to redirect a banned user to in the ban mask. - -chmodes: - description: |- - This module does not add any new channel modes but instead extends - channel mode `b` (ban) to allow ban masks to be suffixed with the name of a channel - to redirect users who match the ban to. - chars: [] - example: - - description: |- - Redirects users matching `*!*@example.com` to #banned-channel - text: |- - /MODE #channel +b *!*@example.com#banned-channel - -special_notes: |- - When setting a ban redirect the target channel should exist and the user setting the ban should have channel operator status in it. - - When the banredirect module is unloaded all ban redirects will be converted to normal bans. diff --git a/docs/3/modules/banredirect.yml b/docs/3/modules/banredirect.yml new file mode 120000 index 000000000..5182887b5 --- /dev/null +++ b/docs/3/modules/banredirect.yml @@ -0,0 +1 @@ +../../4/modules/banredirect.yml \ No newline at end of file diff --git a/docs/3/modules/bcrypt.yml b/docs/3/modules/bcrypt.yml deleted file mode 100644 index 02205d8a4..000000000 --- a/docs/3/modules/bcrypt.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: bcrypt - -description: |- - This module allows other modules to generate [bcrypt](https://en.wikipedia.org/wiki/bcrypt) hashes. - -configuration: -- name: bcrypt - description: |- - The `` tag defines settings about how the bcrypt module should behave. This tag can only be defined once. - attributes: - - name: rounds - type: Number - required: false - default: 10 - description: |- - The number of rounds of the EksBlowfishSetup algorithm that should be used. - details: "" - example: |- - ```xml - - ``` diff --git a/docs/3/modules/bcrypt.yml b/docs/3/modules/bcrypt.yml new file mode 120000 index 000000000..4fab7af4a --- /dev/null +++ b/docs/3/modules/bcrypt.yml @@ -0,0 +1 @@ +../../4/modules/bcrypt.yml \ No newline at end of file diff --git a/docs/3/modules/blockcolor.yml b/docs/3/modules/blockcolor.yml deleted file mode 100644 index dcf9cbc9c..000000000 --- a/docs/3/modules/blockcolor.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: blockcolor - -description: |- - This module adds channel mode `c` (blockcolor) which allows channels to block messages which contain IRC formatting codes. - -chmodes: - chars: - - name: blockcolor - char: c - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Enables blocking messages that contain IRC formatting codes. - example: "" - -exemptions: -- name: blockcolor - description: |- - Allows exempted users to send messages that contain IRC formatting codes. - -extbans: - chars: - - name: blockcolor - char: c - type: Acting - syntax: - description: |- - Bans <mask> from sending messages that contain IRC formatting codes. - example: - - description: |- - Bans users matching `*!*@example.com` from sending messages that contain IRC formatting codes - text: |- - /MODE #channel +b c:*!*@example.com diff --git a/docs/3/modules/blockcolor.yml b/docs/3/modules/blockcolor.yml new file mode 120000 index 000000000..e71bc0df1 --- /dev/null +++ b/docs/3/modules/blockcolor.yml @@ -0,0 +1 @@ +../../4/modules/blockcolor.yml \ No newline at end of file diff --git a/docs/3/modules/callerid.yml b/docs/3/modules/callerid.yml deleted file mode 100644 index 86a07c6f1..000000000 --- a/docs/3/modules/callerid.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: callerid - -description: |- - This module provides user mode `g` (callerid) which allows users to require that other users are on their whitelist before messaging them. - -configuration: -- name: callerid - description: |- - The `` tag defines settings about how the callerid module should behave. This tag can only be defined once. - attributes: - - name: cooldown - type: Number - required: false - default: 10 - description: |- - The number of seconds between notifying users of other users that want to message them. - - name: maxaccepts - type: Number - required: false - default: 30 - description: |- - The maximum number of users who can be on a user's callerid whitelist. - - name: tracknick - type: Boolean - required: false - default: 'No' - description: |- - Whether to track nickname changes for users on a callerid whitelist. - details: "" - example: |- - ```xml - - ``` - -- name: class - description: |- - This module extends [the core `` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: users/ignore-callerid - description: |- - Allows server operators to message users using callerid without being on their callerid list. - details: "" - example: |- - Allows server operators with the class named BasicOper to message users using callerid without being on their callerid list. - - ```xml - - ``` - -umodes: - chars: - - name: callerid - char: g - type: Switch - syntax: null - usable_by: Anyone - description: |- - Enables whitelisting of who can message the user. - example: "" - -commands: -- name: ACCEPT - param_count: 1 - syntax: - - '*' - - (+|-)[,(+|-)]+ - description: |- - Allows users to add, remove, and view the users on their callerid whitelist. - example: - - description: |- - Lists all users on your callerid whitelist - text: |- - /ACCEPT * - - description: |- - Adds Sadie to your callerid whitelist and removes Adam from your callerid whitelist - text: |- - /ACCEPT +Sadie,-Adam diff --git a/docs/3/modules/callerid.yml b/docs/3/modules/callerid.yml new file mode 120000 index 000000000..1baafed8b --- /dev/null +++ b/docs/3/modules/callerid.yml @@ -0,0 +1 @@ +../../4/modules/callerid.yml \ No newline at end of file diff --git a/docs/3/modules/cap.yml b/docs/3/modules/cap.yml deleted file mode 100644 index 586502caf..000000000 --- a/docs/3/modules/cap.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: cap - -description: |- - This module provides support for [the IRCv3 Client Capability Negotiation extension](https://ircv3.net/specs/extensions/capability-negotiation.html). - - This is used by clients to allow the use of modern IRC features without breaking compatibility with older clients. - -commands: -- name: CAP - param_count: 1-2 - syntax: - - CLEAR - - END - - LIST - - LS [] - - REQ :[-][ [-]]+ - description: |- - Allows clients to enable capabilities, disable capabilities, and view the capabilities they have enabled. - # CAP is not documented here because it is not intended to be executed by users - -client_caps: -- name: inspircd.org/poison - description: |- - Rejects any attempt to request it to avoid clients requesting all available capabilities rather than the ones they support. - -special_notes: |- - The `/CAP` command should generally not be executed by users. It is intended to be an entirely internal feature which is executed automatically by clients. Adding and removing capabilities manually may break your client. diff --git a/docs/3/modules/cap.yml b/docs/3/modules/cap.yml new file mode 120000 index 000000000..9adf3a82b --- /dev/null +++ b/docs/3/modules/cap.yml @@ -0,0 +1 @@ +../../4/modules/cap.yml \ No newline at end of file diff --git a/docs/3/modules/chancreate.yml b/docs/3/modules/chancreate.yml deleted file mode 100644 index d3b70be51..000000000 --- a/docs/3/modules/chancreate.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: chancreate - -description: |- - This module sends a notice to snomasks `j` (local) and `J` (remote) when a channel is created. - -snomasks: -- char: j - description: Notifications about channels being created on the local server. -- char: J - description: Notifications about channels being created on a remote server. diff --git a/docs/3/modules/chancreate.yml b/docs/3/modules/chancreate.yml new file mode 120000 index 000000000..6c5f9ec99 --- /dev/null +++ b/docs/3/modules/chancreate.yml @@ -0,0 +1 @@ +../../4/modules/chancreate.yml \ No newline at end of file diff --git a/docs/3/modules/chanlog.yml b/docs/3/modules/chanlog.yml deleted file mode 100644 index 471ca346d..000000000 --- a/docs/3/modules/chanlog.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: chanlog - -description: |- - This module allows messages sent to snomasks to be logged to a channel. - -configuration: -- name: chanlog - description: |- - The `` tag defines a channel to log server notices to. This tag can be defined as many times as required. - attributes: - - name: channel - type: Text - required: true - default: null - description: |- - The name of a channel to log server notices to. - - name: snomasks - type: Text - required: true - default: null - description: |- - One or more snomasks to log to the channel. - details: "" - example: |- - Logs the `cq` snomasks (local connections and quits) to #example: - - ```xml - - ``` diff --git a/docs/3/modules/chanlog.yml b/docs/3/modules/chanlog.yml new file mode 120000 index 000000000..cc2016728 --- /dev/null +++ b/docs/3/modules/chanlog.yml @@ -0,0 +1 @@ +../../4/modules/chanlog.yml \ No newline at end of file diff --git a/docs/3/modules/channames.yml b/docs/3/modules/channames.yml deleted file mode 100644 index 1d363b8ff..000000000 --- a/docs/3/modules/channames.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: channames - -description: |- - This module allows the server administrator to define what characters are allowed in channel names. - -configuration: -- name: channames - description: |- - The `` tag defines settings about how the channames module should behave. This tag can only be defined once. - attributes: - - name: allowrange - type: 'No. Range' - required: false - default: null - description: |- - The character ranges to allow in a channel name. This overrides denyrange if they overlap. - - name: denyrange - type: 'No. Range' - required: false - default: null - description: |- - The character ranges to disallow in a channel name. - details: "" - example: |- - Bans characters other than letters, numbers, `#`, `-`, and `.`. - - ```xml - - ``` - -special_notes: |- - The following characters have special meaning in the IRC protocol - and will never be allowed in a channel name: - - - 0x07 (bell) - - 0x20 (space) - - 0x2C (comma) diff --git a/docs/3/modules/channames.yml b/docs/3/modules/channames.yml new file mode 120000 index 000000000..16307c071 --- /dev/null +++ b/docs/3/modules/channames.yml @@ -0,0 +1 @@ +../../4/modules/channames.yml \ No newline at end of file diff --git a/docs/3/modules/channelban.yml b/docs/3/modules/channelban.yml deleted file mode 100644 index 9dea929ff..000000000 --- a/docs/3/modules/channelban.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: channelban - -description: |- - This module adds extended ban `j:` (channel) which checks whether users are in a channel matching the specified glob pattern. - -extbans: - description: "" - chars: - - name: channel - char: j - type: Matching - syntax: - description: Checks whether users are in a channel matching <pattern>. - example: - - description: |- - Bans users in #evil from joining the channel - text: |- - /MODE #channel +b j:#evil - - description: |- - Bans users that have channel operator status in #evil from joining the channel - text: |- - /MODE #channel +b j:@#evil diff --git a/docs/3/modules/channelban.yml b/docs/3/modules/channelban.yml new file mode 120000 index 000000000..0941531a1 --- /dev/null +++ b/docs/3/modules/channelban.yml @@ -0,0 +1 @@ +../../4/modules/channelban.yml \ No newline at end of file diff --git a/docs/3/modules/chghost.yml b/docs/3/modules/chghost.yml deleted file mode 100644 index 02a3a35ec..000000000 --- a/docs/3/modules/chghost.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: chghost - -description: |- - This module adds the `/CHGHOST` command which allows server operators to change the displayed hostname of a user. - -configuration: -- name: hostname - description: |- - The `` tag defines settings about how the chghost module should behave. This tag can only be defined once. - attributes: - - name: charmap - type: Text - required: false - default: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789 - description: |- - The characters which are allowed in a hostname. - details: "" - example: |- - Allows hostnames to contain letters, numbers, `/`, `-`, `.', and `__`. - - ```xml - - ``` - -commands: -- name: CHGHOST - param_count: 2 - oper_only: true - syntax: - description: |- - Changes the displayed hostname of <nickname> to <hostname>. - example: - - description: |- - Changes the hostname of Sadie to wibble.wobble - text: |- - /CHGHOST Sadie wibble.wobble - -special_notes: |- - This command only changes the displayed hostname of a user. Their real hostname will remain intact and still will match against bans. diff --git a/docs/3/modules/chghost.yml b/docs/3/modules/chghost.yml new file mode 120000 index 000000000..2821a766d --- /dev/null +++ b/docs/3/modules/chghost.yml @@ -0,0 +1 @@ +../../4/modules/chghost.yml \ No newline at end of file diff --git a/docs/3/modules/chgident.yml b/docs/3/modules/chgident.yml deleted file mode 100644 index e29d05781..000000000 --- a/docs/3/modules/chgident.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: chgident - -description: |- - This module adds the `/CHGIDENT` command which allows server operators to change the username (ident) of a user. - -commands: -- name: CHGIDENT - param_count: 2 - oper_only: true - syntax: - description: |- - Changes the username (ident) of <nickname> to <username>. - example: - - description: |- - Changes the username (ident) of Sadie to wibble - text: |- - /CHGIDENT Sadie wibble diff --git a/docs/3/modules/chgident.yml b/docs/3/modules/chgident.yml new file mode 120000 index 000000000..99919a4b2 --- /dev/null +++ b/docs/3/modules/chgident.yml @@ -0,0 +1 @@ +../../4/modules/chgident.yml \ No newline at end of file diff --git a/docs/3/modules/chgname.yml b/docs/3/modules/chgname.yml deleted file mode 100644 index 6566bb08b..000000000 --- a/docs/3/modules/chgname.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: chgname - -description: |- - This module adds the `/CHGNAME` command which allows server operators to change the real name (gecos) of a user. - -commands: -- name: CHGNAME - param_count: 2 - oper_only: true - syntax: - description: |- - Changes the real name (gecos) of <nickname> to <realname>. - example: - - description: |- - Changes the real name (gecos) of Sadie to "Wibble Wobble" - text: |- - /CHGNAME Sadie :Wibble Wobble diff --git a/docs/3/modules/chgname.yml b/docs/3/modules/chgname.yml new file mode 120000 index 000000000..3906bf3b3 --- /dev/null +++ b/docs/3/modules/chgname.yml @@ -0,0 +1 @@ +../../4/modules/chgname.yml \ No newline at end of file diff --git a/docs/3/modules/classban.yml b/docs/3/modules/classban.yml deleted file mode 100644 index 31dc72c62..000000000 --- a/docs/3/modules/classban.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: classban - -description: |- - This module adds extended ban `n:` (class) which check whether users are in a connect class matching the specified glob pattern. - -extbans: - description: "" - chars: - - name: class - char: n - type: Matching - syntax: - description: Checks whether users are in a connect class <pattern>. - example: - - description: |- - Bans users in the "webchat" connect class from joining the channel - text: |- - /MODE #channel +b n:webchat diff --git a/docs/3/modules/classban.yml b/docs/3/modules/classban.yml new file mode 120000 index 000000000..30703bea4 --- /dev/null +++ b/docs/3/modules/classban.yml @@ -0,0 +1 @@ +../../4/modules/classban.yml \ No newline at end of file diff --git a/docs/3/modules/clearchan.yml b/docs/3/modules/clearchan.yml deleted file mode 100644 index 04f519c1d..000000000 --- a/docs/3/modules/clearchan.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: clearchan - -description: |- - This module adds the `/CLEARCHAN` command which allows server operators to mass-punish the members of a channel. - -commands: -- name: CLEARCHAN - param_count: 2-3 - oper_only: true - syntax: [] [] - description: |- - Mass punishes the members of the specified channel. - example: - - description: |- - Kills all members of #spam - text: |- - /CLEARCHAN #spam - - description: |- - Kicks all members of #spam - text: |- - /CLEARCHAN #spam KICK - - description: |- - G-lines all members of #spam with the reason "Spamming is bad" - text: |- - /CLEARCHAN #spam G :Spamming is bad - -command_details: |- - The action parameter should be set to one of the following values: - - Value | Description - ----- | ----------- - KILL | Kill all members of the channel (default behaviour). - KICK | Kick all members of the channel. - G | G-line all members of the channel for one hour. - Z | Z-line all members of the channel for one hour. diff --git a/docs/3/modules/clearchan.yml b/docs/3/modules/clearchan.yml new file mode 120000 index 000000000..a8c92ff7a --- /dev/null +++ b/docs/3/modules/clearchan.yml @@ -0,0 +1 @@ +../../4/modules/clearchan.yml \ No newline at end of file diff --git a/docs/3/modules/conn_join.yml b/docs/3/modules/conn_join.yml deleted file mode 100644 index 008c224c4..000000000 --- a/docs/3/modules/conn_join.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: conn_join - -description: |- - This module allows the server administrator to force users to join one or more channels on connect. - -configuration: -- name: connect - description: |- - This module extends [the core `` tags](/{{ version }}/configuration#connect) with the following fields: - extends: true - attributes: - - name: autojoin - type: Text - required: false - default: null - description: |- - A comma-delimited list of channels for users in this connect class to be joined to on connect. - - name: autojoindelay - type: Duration - required: false - default: 15m - description: |- - The duration to wait before joining users to the specified channels. - details: "" - example: |- - Forces all users in the Example class to join #example1 and #example2 30 seconds after connecting: - - ```xml - - ``` -- name: autojoin - description: |- - The `` tag defines settings about how the conn_join module should behave. This tag can only be defined once. - attributes: - - name: channel - type: Text - required: false - default: null - description: |- - A comma-delimited list of channels for users to be joined to on connect. - - name: delay - type: Duration - required: false - default: 15m - description: |- - The duration to wait before joining users to the specified channels. - details: "" - example: |- - Forces all users to join #example on connect 30 seconds after connecting: - - ```xml - - ``` diff --git a/docs/3/modules/conn_join.yml b/docs/3/modules/conn_join.yml new file mode 120000 index 000000000..3af50b0f1 --- /dev/null +++ b/docs/3/modules/conn_join.yml @@ -0,0 +1 @@ +../../4/modules/conn_join.yml \ No newline at end of file diff --git a/docs/3/modules/conn_umodes.yml b/docs/3/modules/conn_umodes.yml deleted file mode 100644 index 29a762dcf..000000000 --- a/docs/3/modules/conn_umodes.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: conn_umodes - -description: |- - This module allows the server administrator to set user modes on connecting users. - -configuration: -- name: connect - description: |- - This module extends [the core `` tags](/{{ version }}/configuration#connect) with the following fields: - extends: true - attributes: - - name: modes - type: Text - required: false - default: null - description: |- - The user modes to set on connecting users. - details: "" - example: |- - Forces all users in the Example class to have user modes `iw` (invisible, wallops): - - ```xml - - ``` - -special_notes: |- - This module can set disabled modes which allows you to set user modes on users which they can not then remove. diff --git a/docs/3/modules/conn_umodes.yml b/docs/3/modules/conn_umodes.yml new file mode 120000 index 000000000..5d84c4b2b --- /dev/null +++ b/docs/3/modules/conn_umodes.yml @@ -0,0 +1 @@ +../../4/modules/conn_umodes.yml \ No newline at end of file diff --git a/docs/3/modules/customprefix.yml b/docs/3/modules/customprefix.yml deleted file mode 100644 index dd4fa8e50..000000000 --- a/docs/3/modules/customprefix.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: customprefix - -description: |- - This module allows the server administrator to configure custom channel prefix modes. - -configuration: -- name: customprefix - description: |- - The `` tag defines a custom channel prefix mode. This tag can be defined as many times as required. - attributes: - - name: name - type: Text - required: true - default: null - description: |- - The unique name of the mode. - - name: letter - type: Text - required: true - default: null - description: |- - The character used for the mode. - - name: prefix - type: Text - required: false - default: null - description: |- - The prefix character used for the mode. - - name: rank - type: Number - required: false - default: null - description: |- - The rank of the mode. Users with higher ranked prefix modes have privileges over users with lower ranks or no rank. - - name: ranktoset - type: Number - required: false - default: null - description: |- - The rank which is required to set this prefix mode. - - name: ranktounset - type: Number - required: false - default: null - description: |- - The rank which is required to unset this prefix mode. - - name: depriv - type: Boolean - required: false - default: 'Yes' - description: |- - Whether a user with this prefix mode can remove it from themself. - - name: change - type: Boolean - required: false - default: 'No' - description: |- - If enabled then allow modifying a channel prefix mode not created by the customprefix module. - details: "" - example: |- - Adds the founder and admin channel prefix modes as seen in other IRC servers: - - ```xml - - - - ``` - - Adds the half-operator channel prefix mode as seen in other IRC servers: - - ```xml - - ``` - - Allows users with channel prefix mode `v` (voice) to remove it: - - ```xml - - ``` - -special_notes: |- - The ranks of the built-in channel prefix modes are: - - - op (+o) — 30000 - - - voice (+v) — 10000 - - You should take note of this when adding new modes. diff --git a/docs/3/modules/customprefix.yml b/docs/3/modules/customprefix.yml new file mode 120000 index 000000000..ea482c18e --- /dev/null +++ b/docs/3/modules/customprefix.yml @@ -0,0 +1 @@ +../../4/modules/customprefix.yml \ No newline at end of file diff --git a/docs/3/modules/customtitle.yml b/docs/3/modules/customtitle.yml deleted file mode 100644 index 0affba0cf..000000000 --- a/docs/3/modules/customtitle.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: customtitle - -description: |- - This module allows the server administrator to define accounts which can grant a custom title in `/WHOIS` and an optional virtual host. - -configuration: -- name: customtitle - description: |- - The `` tag defines a title account. This tag can be defined as many times as required. - attributes: - - name: name - type: Text - required: true - default: null - description: |- - The username used when logging into the account. - - name: password - type: Text - required: true - default: null - description: |- - The password used when logging into the account. - - name: hash - type: Text - required: false - default: null - description: |- - The algorithm that the password is hashed with. - - name: host - type: Text - required: false - default: \*@\* - description: |- - A glob pattern for the user@host mask of users that can log into this account. - - name: title - type: Text - required: true - default: null - description: |- - The custom title shown in `/WHOIS` for users who log into this account. - - name: vhost - type: Text - required: false - default: null - description: |- - The vhost for users who log into this account. - details: |- - !!! warning "" - The `hash` field is currently optional but will be required in the next major version of InspIRCd. - - {! {{ version }}/modules/_hash_table.md !} - - example: |- - Adds a title account with the username Sadie and a hashed password: - - ```xml - - ``` - -commands: -- name: TITLE - param_count: 2 - syntax: <username> <password> - description: |- - Log into the account with the specified username and password. - example: - - description: |- - Logs into the account with the name Sadie and password fl00fyc4pyb4r4 - text: |- - /TITLE Sadie fl00fyc4pyb4r4 diff --git a/docs/3/modules/customtitle.yml b/docs/3/modules/customtitle.yml new file mode 120000 index 000000000..b73810fa5 --- /dev/null +++ b/docs/3/modules/customtitle.yml @@ -0,0 +1 @@ +../../4/modules/customtitle.yml \ No newline at end of file diff --git a/docs/3/modules/cycle.yml b/docs/3/modules/cycle.yml deleted file mode 100644 index 5c3244ffb..000000000 --- a/docs/3/modules/cycle.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: cycle - -description: |- - This module allows channel members to part and rejoin a channel without needing to worry about channel modes such as +i (inviteonly) which might prevent rejoining. - -commands: -- name: CYCLE - param_count: 1-2 - syntax: <channel> [<reason>] - description: |- - Parts and rejoins the specified channel. - example: - - description: |- - Parts and rejoins the #example channel - text: |- - /CYCLE #example - - description: |- - Parts and rejoins the #example channel with "Be right back!" as the reason - text: |- - /CYCLE #example :Be right back! diff --git a/docs/3/modules/cycle.yml b/docs/3/modules/cycle.yml new file mode 120000 index 000000000..6a0c8dec8 --- /dev/null +++ b/docs/3/modules/cycle.yml @@ -0,0 +1 @@ +../../4/modules/cycle.yml \ No newline at end of file diff --git a/docs/3/modules/dccallow.yml b/docs/3/modules/dccallow.yml deleted file mode 100644 index a2220bb4c..000000000 --- a/docs/3/modules/dccallow.yml +++ /dev/null @@ -1,112 +0,0 @@ -name: dccallow - -description: |- - This module allows the server administrator to configure what files are allowed to be sent via DCC SEND and allows users to configure who can send them DCC CHAT and DCC SEND requests. - -configuration: -- name: banfile - description: |- - The `<banfile>` tag defines a rule to use when determining if a file can be sent with `DCC SEND`. This tag can be defined as many times as required. - attributes: - - name: action - type: Text - required: false - default: block - description: |- - The action to take when a file matches the pattern. - - name: pattern - type: Text - required: true - default: null - description: |- - A glob pattern for the filename. - details: |- - The action field should be set to one of the following values: - - Value | Description - ----- | ----------- - allow | Allows files matching the pattern to be sent. - block | Blocks file matching the pattern from being sent. - - example: |- - Bans executables from being sent: - - ```xml - <banfile action="block" - pattern="*.exe"> - ``` - - Allows only text files to be sent: - - ```xml - <banfile action="allow" - pattern="*.txt"> - <banfile action="block" - pattern="*"> - ``` -- name: dccallow - description: |- - The `<dccallow>` tag defines settings about how the dccallow module should behave. This tag can only be defined once. - attributes: - - name: action - type: Text - required: false - default: block - description: |- - The default action to take if a file does not match a `<banfile>` rule. - - name: blockchat - type: Boolean - required: false - default: 'No' - description: |- - Whether DCC CHAT also requires the source to be on the DCC whitelist. - - name: length - type: Number - required: false - default: 0 - description: |- - The default time a DCC whitelist entry is valid for. Setting this to 0 means the entry is permanent. - - name: maxentries - type: Number - required: false - default: 20 - description: |- - The maximum number of entries that a user can have on their DCC whitelist. - details: |- - See the `<banfile>` documentation above for a list of possible values for the action field. - - example: |- - ```xml - <dccallow action="block" - blockchat="no" - length="0" - maxentries="20"> - ``` - -commands: -- name: DCCALLOW - param_count: 1-2 - syntax: - - '[+]<nick> [<time>]' - - '-<nick>' - - HELP - - LIST - description: |- - Allows users to add other users to their DCC whitelist, remove other users from their DCC whitelist, and view the users on their DCC whitelist. - example: - - description: |- - Lists all users on your DCC whitelist - text: |- - /DCCALLOW LIST - - description: |- - Adds Adam to your DCC whitelist until the server expires it - text: |- - /DCCALLOW +Adam - - description: |- - Adds Sadie to your DCC whitelist for two hours - text: |- - /DCCALLOW +Sadie 2h - - description: |- - Removes "Attila" from your DCC whitelist - text: |- - /DCCALLOW -Attila diff --git a/docs/3/modules/dccallow.yml b/docs/3/modules/dccallow.yml new file mode 120000 index 000000000..63ced8201 --- /dev/null +++ b/docs/3/modules/dccallow.yml @@ -0,0 +1 @@ +../../4/modules/dccallow.yml \ No newline at end of file diff --git a/docs/3/modules/delayjoin.yml b/docs/3/modules/delayjoin.yml deleted file mode 100644 index 2afa08606..000000000 --- a/docs/3/modules/delayjoin.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: delayjoin - -description: |- - This module adds channel mode `D` (delayjoin) which hides JOIN messages from users until they speak. - -chmodes: - chars: - - name: delayjoin - char: D - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Prevents users from receiving JOIN messages until the joining user speaks. - example: "" diff --git a/docs/3/modules/delayjoin.yml b/docs/3/modules/delayjoin.yml new file mode 120000 index 000000000..068321401 --- /dev/null +++ b/docs/3/modules/delayjoin.yml @@ -0,0 +1 @@ +../../4/modules/delayjoin.yml \ No newline at end of file diff --git a/docs/3/modules/denychans.yml b/docs/3/modules/denychans.yml deleted file mode 100644 index afc118699..000000000 --- a/docs/3/modules/denychans.yml +++ /dev/null @@ -1,67 +0,0 @@ -name: denychans - -description: |- - This module allows the server administrator to prevent users from joining channels matching a glob. - -configuration: -- name: badchan - description: |- - The `<badchan>` tag defines a channel to prevent users from joining. This tag can be defined as many times as required. - attributes: - - name: allowopers - type: Boolean - required: false - default: 'No' - description: |- - Whether to allow server operators to join channels matching this rule. - - name: name - type: Text - required: true - default: null - description: |- - A glob pattern for a channel name that users should be prevented from joining. - - name: reason - type: Text - required: false - default: null - description: |- - A message to tell a user who tries to join a channel that matches this rule. - - name: redirect - type: Text - required: false - default: null - description: |- - If defined then the name of a channel to join users to who try to join a channel matching this rule. - details: "" - example: |- - Bans channels matching #potato\* from being joined: - - ```xml - <badchan name="#potato*" - reason="Discussion of vegetables is banned on this network!" - allowopers="no"> - ``` - - Redirects users joining channel #eggplant to #aubergine: - - ```xml - <badchan name="#eggplant" - redirect="#aubergine" - reason="This network uses British English." - allowopers="no"> - ``` -- name: goodchan - description: |- - The `<goodchan>` tag defines an exemption to the rules specified with `<badchan>`. This tag can be defined as many times as required. - attributes: - - name: name - type: Text - required: true - default: null - description: |- - A glob pattern for a channel name that users should be allowed to join regardless of any rules banning it. - details: "" - example: |- - ```xml - <goodchan name="#*ircd"> - ``` diff --git a/docs/3/modules/denychans.yml b/docs/3/modules/denychans.yml new file mode 120000 index 000000000..201e55778 --- /dev/null +++ b/docs/3/modules/denychans.yml @@ -0,0 +1 @@ +../../4/modules/denychans.yml \ No newline at end of file diff --git a/docs/3/modules/disable.yml b/docs/3/modules/disable.yml deleted file mode 100644 index 9e9ead859..000000000 --- a/docs/3/modules/disable.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: disable - -description: |- - This module allows commands, channel modes, and user modes to be disabled. - -configuration: -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: servers/use-disabled-commands - description: |- - Allows server operators to use disabled commands. - - name: servers/use-disabled-modes - description: |- - Allows server operators to use disabled modes. - details: "" - example: |- - Allows server operators with the class named BasicOper to use disabled commands and modes. - - ```xml - <class name="BasicOper" - ... - privs="... servers/use-disabled-commands servers/use-disabled-modes ..."> - ``` -- name: disabled - description: |- - The `<disabled>` tag defines commands and modes which normal users can not change. This tag can only be defined once. - attributes: - - name: fakenonexistent - type: Boolean - required: false - default: 'No' - description: |- - Whether to pretend that a disabled command/mode does not exist. - - name: notifyopers - type: Boolean - required: false - default: 'No' - description: |- - Whether to send a notice to snomask `a` when a user is prevented from using a disabled command or mode. - - name: commands - type: Text - required: false - default: null - description: |- - A space-delimited list of commands to disable. - - name: chanmodes - type: Text - required: false - default: null - description: |- - A list of channel modes to disable. - - name: usermodes - type: Text - required: false - default: null - description: |- - A list of user modes to disable. - details: "" - example: |- - ```xml - <disabled fakenonexistent="no" - notifyopers="no" - commands="MODE TOPIC" - chanmodes="kp" - usermodes="iw"> - ``` diff --git a/docs/3/modules/disable.yml b/docs/3/modules/disable.yml new file mode 120000 index 000000000..95ab31983 --- /dev/null +++ b/docs/3/modules/disable.yml @@ -0,0 +1 @@ +../../4/modules/disable.yml \ No newline at end of file diff --git a/docs/3/modules/geo_maxmind.yml b/docs/3/modules/geo_maxmind.yml deleted file mode 100644 index e4a33ed50..000000000 --- a/docs/3/modules/geo_maxmind.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: geo_maxmind - -introduction: "" -depends_on: - what: a third-party library ([libMaxMindDB](https://maxmind.github.io/libmaxminddb/)) - -description: |- - This module allows the server to perform geolocation lookups on both IP addresses and users. - -configuration: -- name: maxmind - description: |- - The `<maxmind>` tag defines settings about how the geo_maxmind module should behave. This tag can only be defined once. - attributes: - - name: file - type: Text - required: false - default: GeoLite2-Country.mmdb - description: |- - The location of the GeoLite2 database to read locations from. - details: "" - example: |- - ```xml - <maxmind file="GeoLite2-Country.mmdb"> - ``` diff --git a/docs/3/modules/geo_maxmind.yml b/docs/3/modules/geo_maxmind.yml new file mode 120000 index 000000000..5702904f7 --- /dev/null +++ b/docs/3/modules/geo_maxmind.yml @@ -0,0 +1 @@ +../../4/modules/geo_maxmind.yml \ No newline at end of file diff --git a/docs/3/modules/geoban.yml b/docs/3/modules/geoban.yml deleted file mode 100644 index 1a6c9bce1..000000000 --- a/docs/3/modules/geoban.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: geoban - -description: |- - This module adds extended ban `G:` (country) which matches against two letter country codes. - -extbans: - description: "" - chars: - - name: country - char: G - type: Matching - syntax: <pattern> - description: Matches against the two letter country code for the country that users are connecting from. - example: - - description: |- - Bans users connecting from the United States of America - text: |- - /MODE #channel +b G:US - - description: |- - Bans users whose country of origin can not be determined - text: |- - /MODE #channel +b G:XX diff --git a/docs/3/modules/geoban.yml b/docs/3/modules/geoban.yml new file mode 120000 index 000000000..eb96d168a --- /dev/null +++ b/docs/3/modules/geoban.yml @@ -0,0 +1 @@ +../../4/modules/geoban.yml \ No newline at end of file diff --git a/docs/3/modules/geoclass.yml b/docs/3/modules/geoclass.yml deleted file mode 100644 index b1ff84354..000000000 --- a/docs/3/modules/geoclass.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: geoclass - -description: |- - This module allows the server administrator to assign users to connect classes by the country they are connecting from. - -configuration: -- name: connect - description: |- - This module extends [the core `<connect>` tags](/{{ version }}/configuration#connect) with the following fields: - extends: true - attributes: - - name: country - type: Text - required: false - default: null - description: |- - A space-delimited list of [ISO 3166-1 alpha-2 country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) that users must be connecting from to be assigned to this class. - details: "" - example: |- - Requires users to be connecting from China or Russia to be assigned to the Example class: - - ```xml - <connect name="Example" - ... - country="CN RU"> - ``` - -stats: -- char: G - description: Lists the number of users currently connected from each country. diff --git a/docs/3/modules/geoclass.yml b/docs/3/modules/geoclass.yml new file mode 120000 index 000000000..136ed8dca --- /dev/null +++ b/docs/3/modules/geoclass.yml @@ -0,0 +1 @@ +../../4/modules/geoclass.yml \ No newline at end of file diff --git a/docs/3/modules/globalload.yml b/docs/3/modules/globalload.yml deleted file mode 100644 index 88a68941a..000000000 --- a/docs/3/modules/globalload.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: globalload - -description: |- - This module adds the `/GLOADMODULE`, `/GRELOADMODULE`, and `/GUNLOADMODULE` commands which allows server operators to load, reload, and unload modules on remote servers. - -commands: -- name: GLOADMODULE - param_count: 1-2 - oper_only: true - syntax: <module> [<server>] - description: |- - Loads <module> on servers matching the <server> glob pattern. If no pattern is given then it is loaded on all servers. - example: - - description: |- - Loads [the botmode module](/{{ version }}/modules/botmode) on all servers - text: |- - /GLOADMODULE botmode - - description: |- - Loads [the botmode module](/{{ version }}/modules/botmode) on servers matching \*.eu.example.com - text: |- - /GLOADMODULE botmode *.eu.example.com -- name: GRELOADMODULE - param_count: 1-2 - oper_only: true - syntax: <module> [<server>] - description: |- - Reloads <module> on servers matching the <server> glob pattern. If no pattern is given then it is reloaded on all servers. - example: - - description: |- - Reloads [the check module](/{{ version }}/modules/check) on all servers - text: |- - /GRELOADMODULE check - - description: |- - Reloads [the check module](/{{ version }}/modules/check) on servers matching \*.na.example.com - text: |- - /GRELOADMODULE check *.na.example.com -- name: GUNLOADMODULE - param_count: 1-2 - oper_only: true - syntax: <module> [<server>] - description: |- - Unloads <module> on servers matching the <server> glob pattern. If no pattern is given then it is unloaded on all servers. - example: - - description: |- - Unloads [the samode module](/{{ version }}/modules/samode) on all servers - text: |- - /GUNLOADMODULE samode - - description: |- - Unloads [the samode module](/{{ version }}/modules/samode) on servers matching \*.sea.example.com - text: |- - /GUNLOADMODULE samode *.sea.example.com diff --git a/docs/3/modules/globalload.yml b/docs/3/modules/globalload.yml new file mode 120000 index 000000000..7ab7eafe1 --- /dev/null +++ b/docs/3/modules/globalload.yml @@ -0,0 +1 @@ +../../4/modules/globalload.yml \ No newline at end of file diff --git a/docs/3/modules/globops.yml b/docs/3/modules/globops.yml deleted file mode 100644 index 673f31c82..000000000 --- a/docs/3/modules/globops.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: globops - -description: |- - This module adds the `/GLOBOPS` command which allows server operators to send messages to all server operators with the `g` (globops) snomask. - -commands: -- name: GLOBOPS - param_count: 1 - oper_only: true - syntax: <message> - description: |- - Sends <message> to all server operators with the `g` (globops) snomask. - example: - - description: |- - Sends a server notice saying "I like turtles." to all server operators with the `g` (globops) snomask - text: |- - /GLOBOPS :I like turtles. - -snomasks: -- char: g - description: Messages from server operators on the local server. -- char: G - description: Messages from server operators on a remote server. diff --git a/docs/3/modules/globops.yml b/docs/3/modules/globops.yml new file mode 120000 index 000000000..eff1f8c5b --- /dev/null +++ b/docs/3/modules/globops.yml @@ -0,0 +1 @@ +../../4/modules/globops.yml \ No newline at end of file diff --git a/docs/3/modules/haproxy.yml b/docs/3/modules/haproxy.yml deleted file mode 100644 index d7f2ab7bc..000000000 --- a/docs/3/modules/haproxy.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: haproxy - -description: |- - This module allows IRC connections to be made using reverse proxies that implement version 2 of the HAProxy PROXY protocol. - -configuration: -- name: bind - description: |- - This module extends [the core `<bind>` tags](/{{ version }}/configuration#bind) with the following hook types: - extends: true - added_values: - - name: haproxy - description: |- - Listens for haproxy connections. - details: "" - example: |- - Listens for plaintext haproxy connections on the /run/inspircd/haproxy.sock UNIX socket endpoint: - - ```xml - <bind path="/run/inspircd/haproxy.sock" - ... - hook="haproxy"> - ``` - - Listens for plaintext haproxy connections on the 127.0.0.1:29583 endpoint: - - ```xml - <bind address="127.0.0.1" - port="29583" - ... - hook="haproxy"> - ``` - -special_notes: |- - If you are using this module you must terminate TLS (SSL) connections at your reverse proxy. diff --git a/docs/3/modules/haproxy.yml b/docs/3/modules/haproxy.yml new file mode 120000 index 000000000..5a7acccbe --- /dev/null +++ b/docs/3/modules/haproxy.yml @@ -0,0 +1 @@ +../../4/modules/haproxy.yml \ No newline at end of file diff --git a/docs/3/modules/hidechans.yml b/docs/3/modules/hidechans.yml deleted file mode 100644 index e5022369c..000000000 --- a/docs/3/modules/hidechans.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: hidechans - -description: |- - This module adds user mode `I` (hidechans) which hides the channels users with it set are in from their `/WHOIS` response. - -configuration: -- name: hidechans - description: |- - The `<hidechans>` tag defines settings about how the hidechans module should behave. This tag can only be defined once. - attributes: - - name: affectsopers - type: Boolean - required: false - default: 'No' - description: |- - Whether server operators are affected by the user mode. - details: "" - example: |- - ```xml - <hidechans affectsopers="no"> - ``` - -umodes: - chars: - - name: hidechans - char: I - type: Switch - syntax: null - usable_by: Anyone - description: |- - Hides the channels the user is in from their `/WHOIS` response. - example: "" diff --git a/docs/3/modules/hidechans.yml b/docs/3/modules/hidechans.yml new file mode 120000 index 000000000..653001269 --- /dev/null +++ b/docs/3/modules/hidechans.yml @@ -0,0 +1 @@ +../../4/modules/hidechans.yml \ No newline at end of file diff --git a/docs/3/modules/hidelist.yml b/docs/3/modules/hidelist.yml deleted file mode 100644 index e3483913d..000000000 --- a/docs/3/modules/hidelist.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: hidelist - -description: |- - This module allows list mode lists to be hidden from users without a prefix mode ranked equal to or higher than a defined level. - -configuration: -- name: hidelist - description: |- - The `<hidelist>` tag defines settings about how the hidelist module should behave. This tag can be defined as many times as required. - attributes: - - name: mode - type: Text - required: false - default: null - description: |- - The name of the mode this rule applies to. - - name: rank - type: Number - required: false - default: 0 - description: |- - The rank to restrict viewing this list mode list to. - details: "" - example: |- - Hides channel mode `g` (filter) from non-channel operators: - - ```xml - <hidelist mode="filter" - rank="30000"> - ``` - - Hides channel mode `I` (invex) from non-channel members: - - ```xml - <hidelist mode="invex" - rank="0"> - ``` - -special_notes: |- - The ranks of the built-in channel prefix modes are: - - - op (+o) — 30000 - - - voice (+v) — 10000 diff --git a/docs/3/modules/hidelist.yml b/docs/3/modules/hidelist.yml new file mode 120000 index 000000000..a4686da41 --- /dev/null +++ b/docs/3/modules/hidelist.yml @@ -0,0 +1 @@ +../../4/modules/hidelist.yml \ No newline at end of file diff --git a/docs/3/modules/hidemode.yml b/docs/3/modules/hidemode.yml deleted file mode 100644 index 34af361a6..000000000 --- a/docs/3/modules/hidemode.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: hidemode - -description: |- - This module allows mode changes to be hidden from users without a prefix mode ranked equal to or higher than a defined level. - -configuration: -- name: hidemode - description: |- - The `<hidemode>` tag defines settings about how the hidemode module should behave. This tag can be defined as many times as required. - attributes: - - name: mode - type: Text - required: false - default: null - description: |- - The name of the mode this rule applies to. - - name: rank - type: Number - required: false - default: 0 - description: |- - The rank to restrict viewing this mode change to. - details: "" - example: |- - Hides channel mode `b` (ban) changes from non-voiced users: - - ```xml - <hidemode mode="ban" - rank="10000"> - ``` - -special_notes: |- - The ranks of the built-in channel prefix modes are: - - - op (+o) — 30000 - - - voice (+v) — 10000 diff --git a/docs/3/modules/hidemode.yml b/docs/3/modules/hidemode.yml new file mode 120000 index 000000000..d41e806bf --- /dev/null +++ b/docs/3/modules/hidemode.yml @@ -0,0 +1 @@ +../../4/modules/hidemode.yml \ No newline at end of file diff --git a/docs/3/modules/hideoper.yml b/docs/3/modules/hideoper.yml deleted file mode 100644 index 3411c9ec7..000000000 --- a/docs/3/modules/hideoper.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: hideoper - -description: |- - This module adds user mode `H` (hideoper) which hides the server operator status of a user from unprivileged users. - -umodes: - chars: - - name: hideoper - char: H - type: Switch - syntax: null - usable_by: Server operators - description: |- - Hides the user's server operator status from unprivileged users. - example: "" diff --git a/docs/3/modules/hideoper.yml b/docs/3/modules/hideoper.yml new file mode 120000 index 000000000..cf3f01810 --- /dev/null +++ b/docs/3/modules/hideoper.yml @@ -0,0 +1 @@ +../../4/modules/hideoper.yml \ No newline at end of file diff --git a/docs/3/modules/hostcycle.yml b/docs/3/modules/hostcycle.yml deleted file mode 100644 index fa27729ec..000000000 --- a/docs/3/modules/hostcycle.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: hostcycle - -description: |- - This module sends a fake disconnection and reconnection when a user's username (ident) or hostname changes to allow clients to update their internal caches. diff --git a/docs/3/modules/hostcycle.yml b/docs/3/modules/hostcycle.yml new file mode 120000 index 000000000..7d01c7992 --- /dev/null +++ b/docs/3/modules/hostcycle.yml @@ -0,0 +1 @@ +../../4/modules/hostcycle.yml \ No newline at end of file diff --git a/docs/3/modules/httpd.yml b/docs/3/modules/httpd.yml deleted file mode 100644 index 935991189..000000000 --- a/docs/3/modules/httpd.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: httpd - -description: |- - This module allows the server administrator to serve various useful resources over HTTP. - -configuration: -- name: bind - description: |- - This module extends [the core `<bind>` tags](/{{ version }}/configuration#bind) with the following listener types: - extends: true - added_values: - - name: httpd - description: |- - Listens for HTTP connections. - details: "" - example: |- - Listens for plaintext HTTP connections on the 127.0.0.1:8080 endpoint: - - ```xml - <bind address="127.0.0.1" - port="8080" - ... - type="httpd"> - ``` -- name: httpd - description: |- - The `<httpd>` tag defines settings about how the httpd module should behave. This tag can only be defined once. - attributes: - - name: timeout - type: Duration - required: false - default: 10s - description: |- - The duration to timeout HTTP connections after. - details: "" - example: |- - ```xml - <httpd timeout="10s"> - ``` - -special_notes: |- - The following HTTP resource modules can be used in conjunction with this module: - - Name | Description - --------------------------------------------------- | ----------- - [httpd_acl](/{{ version }}/modules/httpd_acl) | Allows access to other HTTP resources to be restricted. - [httpd_config](/{{ version }}/modules/httpd_config) | Allows the server configuration to be viewed over HTTP. - [httpd_stats](/{{ version }}/modules/httpd_stats) | Provides statistics about the server and the channels and users on it. diff --git a/docs/3/modules/httpd.yml b/docs/3/modules/httpd.yml new file mode 120000 index 000000000..34c4dec93 --- /dev/null +++ b/docs/3/modules/httpd.yml @@ -0,0 +1 @@ +../../4/modules/httpd.yml \ No newline at end of file diff --git a/docs/3/modules/httpd_acl.yml b/docs/3/modules/httpd_acl.yml deleted file mode 100644 index 0bf7966bf..000000000 --- a/docs/3/modules/httpd_acl.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: httpd_acl - -description: |- - This module allows the server administrator to control who can access resources served over HTTP with [the httpd module](/{{ version }}/modules/httpd). - -configuration: -- name: httpdacl - description: |- - The `<httpdacl>` tag defines settings about how the httpd_acl module should behave. This tag can be defined as many times as required. - attributes: - - name: path - type: Text - required: true - default: null - description: |- - The path to protect with this ACL rule. - - name: types - type: Text - required: true - default: null - description: |- - A comma-delimited list of types which apply to this ACL rule. - - name: blacklist - type: Text - required: false - default: null - description: |- - **Required for the blacklist type!** A comma-delimited list of IP addresses to deny access to this path from. - - name: password - type: Text - required: false - default: null - description: |- - **Required for the password type!** The password that HTTP connections must provide with their request. - - name: username - type: Text - required: false - default: null - description: |- - **Required for the password type!** The username that HTTP connections must provide with their request. - - name: whitelist - type: Text - required: false - default: null - description: |- - **Required for the blacklist type!** A comma-delimited list of IP addresses to allow access to this path from. - details: |- - The types field should be set to one or more of the following values: - - Value | Description - --------- | ----------- - blacklist | Deny connections from the specified IP addresses. - password | Require connections to provide the specified username and password. - whitelist | Allow connections from the specified IP addresses. - - example: |- - Denies access to the /stats\* path from 192.0.2.\* and 192.198.51.100.\*: - - ```xml - <httpdacl path="/stats*" - types="blacklist" - blacklist="192.0.2.*,192.198.51.100.*"> - ``` - - Only allows access to the /config\* path from 203.0.113.\*: - - ```xml - <httpdacl path="/config*" - types="whitelist" - whitelist="203.0.113.*"> - ``` - - Requires requests to provide the username "inspircd" and password "correct horse battery staple": - - ```xml - <httpdacl path="/*" - types="password" - username="inspircd" - password="correct horse battery staple"> - ``` diff --git a/docs/3/modules/httpd_acl.yml b/docs/3/modules/httpd_acl.yml new file mode 120000 index 000000000..e14701530 --- /dev/null +++ b/docs/3/modules/httpd_acl.yml @@ -0,0 +1 @@ +../../4/modules/httpd_acl.yml \ No newline at end of file diff --git a/docs/3/modules/httpd_config.yml b/docs/3/modules/httpd_config.yml deleted file mode 100644 index 1a74e5029..000000000 --- a/docs/3/modules/httpd_config.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: httpd_config - -description: |- - This module allows the server configuration to be viewed over HTTP via the /config path. - -special_notes: |- - Leaking your server configuration over the internet is a privacy and security risk. You should avoid doing this by either configuring [the httpd module](/{{ version }}/modules/httpd) to only listen for local connections or by using [the httpd_acl module](/{{ version }}/modules/httpd_acl) to restrict who can view your server configuration. diff --git a/docs/3/modules/httpd_config.yml b/docs/3/modules/httpd_config.yml new file mode 120000 index 000000000..6467e1914 --- /dev/null +++ b/docs/3/modules/httpd_config.yml @@ -0,0 +1 @@ +../../4/modules/httpd_config.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3.yml b/docs/3/modules/ircv3.yml deleted file mode 100644 index bd312e856..000000000 --- a/docs/3/modules/ircv3.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: ircv3 - -description: |- - This module provides the IRCv3 `account-notify`, `away-notify`, `extended-join`, and `standard-replies` client capabilities. - -configuration: -- name: ircv3 - description: |- - The `<ircv3>` tag defines settings about how the ircv3 module should behave. This tag can only be defined once. - attributes: - - name: accountnotify - type: Boolean - required: false - default: 'Yes' - description: |- - Whether the `account-notify` client capability is enabled. - - name: awaynotify - type: Boolean - required: false - default: 'Yes' - description: |- - Whether the `away-notify` client capability is enabled. - - name: extendedjoin - type: Boolean - required: false - default: 'Yes' - description: |- - Whether the `extended-join` client capability is enabled. - - name: standardreplies - type: Boolean - required: false - default: 'Yes' - description: |- - Whether the `standard-replies` client capability is enabled. - - details: "" - example: |- - ```xml - <ircv3 accountnotify="yes" - awaynotify="yes" - extendedjoin="yes" - standardreplies="yes"> - ``` - -client_caps: -- name: '[account-notify](https://ircv3.net/specs/extensions/account-notify.html)' - description: |- - Allows the client to be notified when a user's account name changes. -- name: '[away-notify](https://ircv3.net/specs/extensions/away-notify.html)' - description: |- - Allows the client to be notified when a user's away status changes. -- name: '[extended-join](https://ircv3.net/specs/extensions/extended-join.html)' - description: |- - Extends the server-to-client JOIN message to include the joining user's account name and real name. -- name: '[standard-replies](https://ircv3.net/specs/extensions/standard-replies)' - description: |- - Allows clients to receive arbitrary standard replies instead of server notices or custom numerics. diff --git a/docs/3/modules/ircv3.yml b/docs/3/modules/ircv3.yml new file mode 120000 index 000000000..8bf38d444 --- /dev/null +++ b/docs/3/modules/ircv3.yml @@ -0,0 +1 @@ +../../4/modules/ircv3.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_accounttag.yml b/docs/3/modules/ircv3_accounttag.yml deleted file mode 100644 index f118645c1..000000000 --- a/docs/3/modules/ircv3_accounttag.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_accounttag - -description: |- - This module provides the IRCv3 `account-tag` client capability. - -client_caps: -- name: '[account-tag](https://ircv3.net/specs/extensions/account-tag.html)' - description: |- - Adds an `account` tag with the services account of the sender to all messages. diff --git a/docs/3/modules/ircv3_accounttag.yml b/docs/3/modules/ircv3_accounttag.yml new file mode 120000 index 000000000..2ebc512cf --- /dev/null +++ b/docs/3/modules/ircv3_accounttag.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_accounttag.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_batch.yml b/docs/3/modules/ircv3_batch.yml deleted file mode 100644 index 94ffaffc9..000000000 --- a/docs/3/modules/ircv3_batch.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_batch - -description: |- - This module provides the IRCv3 `batch` client capability. - -client_caps: -- name: '[batch](https://ircv3.net/specs/extensions/batch.html)' - description: |- - Adds support for batching multiple messages together. diff --git a/docs/3/modules/ircv3_batch.yml b/docs/3/modules/ircv3_batch.yml new file mode 120000 index 000000000..84904d3f7 --- /dev/null +++ b/docs/3/modules/ircv3_batch.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_batch.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_capnotify.yml b/docs/3/modules/ircv3_capnotify.yml deleted file mode 100644 index 29ae2812b..000000000 --- a/docs/3/modules/ircv3_capnotify.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_capnotify - -description: |- - This module provides the IRCv3 `cap-notify` client capability. - -client_caps: -- name: '[cap-notify](https://ircv3.net/specs/extensions/capability-negotiation.html#cap-notify)' - description: |- - Notifies users when client capabilities are added or removed. diff --git a/docs/3/modules/ircv3_capnotify.yml b/docs/3/modules/ircv3_capnotify.yml new file mode 120000 index 000000000..ea5f0a768 --- /dev/null +++ b/docs/3/modules/ircv3_capnotify.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_capnotify.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_chghost.yml b/docs/3/modules/ircv3_chghost.yml deleted file mode 100644 index f5f129e39..000000000 --- a/docs/3/modules/ircv3_chghost.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_chghost - -description: |- - This module provides the IRCv3 `chghost` client capability. - -client_caps: -- name: '[chghost](https://ircv3.net/specs/extensions/chghost.html)' - description: |- - Notifies users when the username (ident) or hostname of a user they share a channel with changes. diff --git a/docs/3/modules/ircv3_chghost.yml b/docs/3/modules/ircv3_chghost.yml new file mode 120000 index 000000000..59ef3c5d8 --- /dev/null +++ b/docs/3/modules/ircv3_chghost.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_chghost.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_echomessage.yml b/docs/3/modules/ircv3_echomessage.yml deleted file mode 100644 index 673011090..000000000 --- a/docs/3/modules/ircv3_echomessage.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_echomessage - -description: |- - This module provides the IRCv3 `echo-message` client capability. - -client_caps: -- name: '[echo-message](https://ircv3.net/specs/extensions/echo-message.html)' - description: |- - Echoes `NOTICE`, `PRIVMSG`, and `TAGMSG` messages back to the sender. diff --git a/docs/3/modules/ircv3_echomessage.yml b/docs/3/modules/ircv3_echomessage.yml new file mode 120000 index 000000000..dc583b315 --- /dev/null +++ b/docs/3/modules/ircv3_echomessage.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_echomessage.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_invitenotify.yml b/docs/3/modules/ircv3_invitenotify.yml deleted file mode 100644 index 90c93a066..000000000 --- a/docs/3/modules/ircv3_invitenotify.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_invitenotify - -description: |- - This module provides the IRCv3 `invite-notify` client capability. - -client_caps: -- name: '[invite-notify](https://ircv3.net/specs/extensions/invite-notify.html)' - description: |- - Notifies users when a user is invited to the channel. diff --git a/docs/3/modules/ircv3_invitenotify.yml b/docs/3/modules/ircv3_invitenotify.yml new file mode 120000 index 000000000..08b1b1159 --- /dev/null +++ b/docs/3/modules/ircv3_invitenotify.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_invitenotify.yml \ No newline at end of file diff --git a/docs/3/modules/ircv3_servertime.yml b/docs/3/modules/ircv3_servertime.yml deleted file mode 100644 index 6ffeb1654..000000000 --- a/docs/3/modules/ircv3_servertime.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ircv3_servertime - -description: |- - This module provides the IRCv3 `server-time` client capability. - -client_caps: -- name: '[server-time](https://ircv3.net/specs/extensions/server-time.html)' - description: |- - Adds a `time` tag with the time the message was sent to all messages. diff --git a/docs/3/modules/ircv3_servertime.yml b/docs/3/modules/ircv3_servertime.yml new file mode 120000 index 000000000..ca34fbd39 --- /dev/null +++ b/docs/3/modules/ircv3_servertime.yml @@ -0,0 +1 @@ +../../4/modules/ircv3_servertime.yml \ No newline at end of file diff --git a/docs/3/modules/kicknorejoin.yml b/docs/3/modules/kicknorejoin.yml deleted file mode 100644 index f650ef0bf..000000000 --- a/docs/3/modules/kicknorejoin.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: kicknorejoin - -description: |- - This module adds channel mode `J` (kicknorejoin) which prevents users from rejoining after being kicked from a channel. - -chmodes: - chars: - - name: kicknorejoin - char: J - type: Parameter - syntax: <seconds> - usable_by: Channel operators - description: |- - Prevents who have been kicked from rejoining until <seconds> seconds have passed. - example: - - description: |- - Prevents kicked users from rejoining for 30 seconds - text: |- - /MODE #channel +J 30 diff --git a/docs/3/modules/kicknorejoin.yml b/docs/3/modules/kicknorejoin.yml new file mode 120000 index 000000000..ae0f7309c --- /dev/null +++ b/docs/3/modules/kicknorejoin.yml @@ -0,0 +1 @@ +../../4/modules/kicknorejoin.yml \ No newline at end of file diff --git a/docs/3/modules/knock.yml b/docs/3/modules/knock.yml deleted file mode 100644 index da9e1175d..000000000 --- a/docs/3/modules/knock.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: knock - -description: |- - This module adds the `/KNOCK` command which allows users to request access to an invite-only channel and channel mode `K` (noknock) which allows channels to disable usage of this command. - -configuration: -- name: knock - description: |- - The `<knock>` tag defines settings about how the knock module should behave. This tag can only be defined once. - attributes: - - name: notify - type: Text - required: false - default: notice - description: |- - How to notify channel members that a user would like to join the channel. - details: |- - The notify field should be set to one of the following values: - - Value | Description - ------- | ----------- - both | Send both numeric `710` (RPL_KNOCK) and a `NOTICE` when a user requests access to an invite-only channel. - notice | Send a `NOTICE` when a user requests access to an invite-only channel. - numeric | Send numeric `710` (RPL_KNOCK) when a user requests access to an invite-only channel. - - example: |- - ```xml - <knock notify="notice"> - ``` - -chmodes: - chars: - - name: noknock - char: K - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Disables the usage of the `/KNOCK` command on this channel. - example: "" - -commands: -- name: KNOCK - param_count: 2 - syntax: <channel> <reason> - description: |- - Requests permission to join <channel> with the reason specified in <reason>. - example: - - description: |- - Knocks on #channel with the reason "Please let me in!" - text: |- - /KNOCK #channel :Please let me in! diff --git a/docs/3/modules/knock.yml b/docs/3/modules/knock.yml new file mode 120000 index 000000000..7c3e5cb0c --- /dev/null +++ b/docs/3/modules/knock.yml @@ -0,0 +1 @@ +../../4/modules/knock.yml \ No newline at end of file diff --git a/docs/3/modules/ldap.yml b/docs/3/modules/ldap.yml deleted file mode 100644 index 0d5e99084..000000000 --- a/docs/3/modules/ldap.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: ldap - -introduction: "" - -depends_on: - what: a third-party library ([OpenLDAP](https://www.openldap.org)) - -description: |- - This module provides the ability for LDAP modules to query a LDAP directory. - -configuration: -- name: database - description: |- - The `<database>` tag defines a PostgreSQL database to connect to. This tag can be defined as many times as required. - attributes: - - name: module - type: Text - required: true - default: null - description: |- - *This MUST be set to "ldap" to connect to an LDAP directory.* - - name: id - type: Text - required: true - default: null - description: |- - The name that LDAP-using modules can refer to this `<database>` tag using. - - name: bindauth - type: Text - required: true - default: null - description: |- - The password for the Distinguished Name specified in the binddn field. - - name: binddn - type: Text - required: true - default: null - description: |- - The Distinguished Name to bind to for searching, - - name: searchscope - type: Text - required: false - default: subtree - description: |- - The scope of the search for the LDAP entry. - - name: server - type: Text - required: false - default: null - description: |- - **Required** The `ldaps://` or `ldap://` URL for your LDAP server. - - name: timeout - type: Duration - required: false - default: 5s - description: |- - The time to wait before expiring an unresponsive LDAP connection. - details: |- - The searchscope field should be set to one of the following values: - - Value | Description - -------- | ----------- - base | Search only the LDAP object itself. - onelevel | Search the LDAP object and its immediate children. - subtree | Search the LDAP object and all descendants. - - example: |- - ```xml - <database module="ldap" - id="users" - bindauth="password" - binddn="cn=Manager,dc=inspircd,dc=org" - searchscope="subtree" - server="ldaps://localhost" - timeout="5s"> - ``` diff --git a/docs/3/modules/ldap.yml b/docs/3/modules/ldap.yml new file mode 120000 index 000000000..1177ee7e0 --- /dev/null +++ b/docs/3/modules/ldap.yml @@ -0,0 +1 @@ +../../4/modules/ldap.yml \ No newline at end of file diff --git a/docs/3/modules/ldapoper.yml b/docs/3/modules/ldapoper.yml deleted file mode 100644 index 46ce24d31..000000000 --- a/docs/3/modules/ldapoper.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: ldapoper - -description: |- - This module allows server operators to be authenticated against an LDAP database. - -configuration: -- name: ldapoper - description: |- - The `<ldapoper>` tag defines settings about how the ldapoper module should behave. This tag can only be defined once. - attributes: - - name: attribute - type: Text - required: true - default: null - description: |- - The attribute which is used to locate an account by name. On POSIX systems this is usually "uid". - - name: baserdn - type: Text - required: true - default: null - description: |- - The base Distinguished Name to search in for users. - - name: dbid - type: Text - required: true - default: null - description: |- - The id of the `<database>` tag that contains the required LDAP configuration. See the docs for [the ldap module](/{{ version }}/modules/ldap) for more information. - details: "" - example: |- - ```xml - <ldapoper attribute="uid" - baserdn="ou=People,dc=example,dc=com" - dbid="ldap-opers"> - ``` diff --git a/docs/3/modules/ldapoper.yml b/docs/3/modules/ldapoper.yml new file mode 120000 index 000000000..6a480a02c --- /dev/null +++ b/docs/3/modules/ldapoper.yml @@ -0,0 +1 @@ +../../4/modules/ldapoper.yml \ No newline at end of file diff --git a/docs/3/modules/maphide.yml b/docs/3/modules/maphide.yml deleted file mode 100644 index 914fd910b..000000000 --- a/docs/3/modules/maphide.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: maphide - -description: |- - This module allows the server administrator to replace the output of a `/MAP` and `/LINKS` with an URL. - -configuration: -- name: security - description: |- - This module extends [the core `<security>` tag](/{{ version }}/configuration#security) with the following fields: - extends: true - attributes: - - name: maphide - type: Text - required: true - default: null - description: |- - The URL to provide to users who run the `/MAP` and `/LINKS` commands. - details: "" - example: |- - ```xml - <security ... - maphide="https://www.example.com/servers"> - ``` diff --git a/docs/3/modules/maphide.yml b/docs/3/modules/maphide.yml new file mode 120000 index 000000000..62c2a218f --- /dev/null +++ b/docs/3/modules/maphide.yml @@ -0,0 +1 @@ +../../4/modules/maphide.yml \ No newline at end of file diff --git a/docs/3/modules/monitor.yml b/docs/3/modules/monitor.yml deleted file mode 100644 index 50a7a0478..000000000 --- a/docs/3/modules/monitor.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: monitor - -description: |- - This module adds the `/MONITOR` command which allows users to find out when their friends are connected to the server. - -configuration: -- name: monitor - description: |- - The `<monitor>` tag defines settings about how the monitor module should behave. This tag can only be defined once. - attributes: - - name: maxentries - type: Number - required: false - default: 30 - description: |- - The maximum number of entries on a user's monitor list. - details: "" - example: |- - ```xml - <monitor maxentries="32"> - ``` - -commands: -- name: MONITOR - param_count: 1, 2 - syntax: - - (+|-) <nick>,[<nick>]+ - - C - - L - - S - description: |- - Manipulates the contents of the executing user's monitor list. - example: - - description: |- - Adds Sadie to the monitor list - text: |- - /MONITOR + Sadie - - description: |- - Removes Sadie from the monitor list - text: |- - /MONITOR - Sadie - - description: |- - Removes all users from the monitor list - text: |- - /MONITOR C - - description: |- - Lists all users on the monitor list - text: |- - /MONITOR L - - description: |- - Shows the status of all monitored users - text: |- - /MONITOR S - -client_caps: -- name: '[extended-monitor](https://ircv3.net/specs/extensions/extended-monitor)' - description: |- - Allows sending state change messages (`AWAY`, `ACCOUNT`, `CHGHOST`, `SETNAME`) for monitored clients without a common channel. diff --git a/docs/3/modules/monitor.yml b/docs/3/modules/monitor.yml new file mode 120000 index 000000000..0703bb59a --- /dev/null +++ b/docs/3/modules/monitor.yml @@ -0,0 +1 @@ +../../4/modules/monitor.yml \ No newline at end of file diff --git a/docs/3/modules/muteban.yml b/docs/3/modules/muteban.yml deleted file mode 100644 index 81db5b23c..000000000 --- a/docs/3/modules/muteban.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: muteban - -description: |- - This module adds extended ban `m:` (mute) which bans specific masks from speaking in a channel. - -configuration: -- name: muteban - description: |- - The `<muteban>` tag defines settings about how the muteban module should behave. This tag can only be defined once. - attributes: - - name: notifyuser - type: Boolean - required: false - default: 'Yes' - description: |- - Whether to notify users who try to message a channel whilst mutebanned. - details: "" - example: |- - ```xml - <muteban notifyuser="yes"> - ``` - -extbans: - description: "" - chars: - - name: mute - char: m - type: Acting - syntax: <mask> - description: Bans <mask> from speaking in the channel. - example: "" diff --git a/docs/3/modules/muteban.yml b/docs/3/modules/muteban.yml new file mode 120000 index 000000000..f1824c180 --- /dev/null +++ b/docs/3/modules/muteban.yml @@ -0,0 +1 @@ +../../4/modules/muteban.yml \ No newline at end of file diff --git a/docs/3/modules/namedmodes.yml b/docs/3/modules/namedmodes.yml deleted file mode 100644 index f8092eaca..000000000 --- a/docs/3/modules/namedmodes.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: namedmodes - -description: |- - This module provides support for adding and removing modes via their long names. - -chmodes: - chars: - - name: namebase - char: Z - type: List - syntax: <name>[=<value>] - usable_by: Depends on the mode in <name> - description: |- - Allows users to add, remove, and view the modes of a specific target. - example: - - description: |- - Lists all channel modes set on #channel - text: |- - /MODE #channel +Z - - description: |- - Sets channel mode `n` (noextmsg) on #channel - text: |- - /MODE #channel +Z noextmsg - - description: |- - Sets channel mode `o` (op) on Sadie in #channel - text: |- - /MODE #channel +Z op=Sadie - - description: |- - Removes channel mode `n` (noextmsg) from #channel - text: |- - /MODE #channel -Z noextmsg - - description: |- - Removes channel mode `o` (op) from Sadie in #channel - text: |- - /MODE #channel -Z op=Sadie - -commands: -- name: PROP - param_count: 1+ - syntax: <target> [(+|-)<name> [<value>]]+ - description: |- - Allows users to add, remove, and view the modes of a specific target. - example: - - description: |- - Lists all channel modes set on #channel - text: |- - /PROP #channel - - description: |- - Sets channel mode `n` (noextmsg) on #channel - text: |- - /PROP #channel +noextmsg - - description: |- - Sets channel mode `o` (op) on Sadie in #channel - text: |- - /PROP #channel +op Sadie - - description: |- - Removes channel mode `n` (noextmsg) from #channel - text: |- - /PROP #channel -noextmsg - - description: |- - Removes channel mode `o` (op) from Sadie in #channel - text: |- - /PROP #channel -op Sadie diff --git a/docs/3/modules/namedmodes.yml b/docs/3/modules/namedmodes.yml new file mode 120000 index 000000000..0e521d153 --- /dev/null +++ b/docs/3/modules/namedmodes.yml @@ -0,0 +1 @@ +../../4/modules/namedmodes.yml \ No newline at end of file diff --git a/docs/3/modules/nickflood.yml b/docs/3/modules/nickflood.yml deleted file mode 100644 index 5b46096cc..000000000 --- a/docs/3/modules/nickflood.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: nickflood - -description: |- - This module adds channel mode `F` (nickflood) which helps protect against spammers which mass-change nicknames. - -configuration: -- name: nickflood - description: |- - The `<nickflood>` tag defines settings about how the nickflood module should behave. This tag can only be defined once. - attributes: - - name: duration - type: Duration - required: false - default: 1m - description: |- - The time period that nick changes should be locked for once a nick flood has been detected. - details: "" - example: |- - ```xml - <nickflood duration="60s"> - ``` - -chmodes: - chars: - - name: nickflood - char: F - type: Parameter - syntax: <changes>:<seconds> - usable_by: Channel operators - description: |- - Prevents more than <changes> nickname changes in the last <seconds> seconds. - example: - - description: |- - Prevents more than three nickname changes in the last five seconds - text: |- - /MODE #channel +F 3:5 - -exemptions: -- name: flood - description: Allows exempted users to change nicknames at a higher rate than channel mode `F` (nickflood) allows. diff --git a/docs/3/modules/nickflood.yml b/docs/3/modules/nickflood.yml new file mode 120000 index 000000000..4f72a4d34 --- /dev/null +++ b/docs/3/modules/nickflood.yml @@ -0,0 +1 @@ +../../4/modules/nickflood.yml \ No newline at end of file diff --git a/docs/3/modules/nicklock.yml b/docs/3/modules/nicklock.yml deleted file mode 100644 index f62613915..000000000 --- a/docs/3/modules/nicklock.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: nicklock - -description: |- - This module adds the `/NICKLOCK` command which allows server operators to change a user's nickname and prevent them from changing it again until they disconnect. - -commands: -- name: NICKLOCK - param_count: 2 - oper_only: true - syntax: <old-nick> <new-nick> - description: |- - Changes the nickname of <old-nick> to <new-nick> and prevents them from changing their nickname. - example: - - description: |- - Changes the nickname of Sadie to Sadie2 and prevents them from changing their nickname - text: |- - /NICKLOCK Sadie Sadie2 - -- name: NICKUNLOCK - param_count: 1 - oper_only: true - syntax: <locked-nick> - description: |- - Allows <locked-nick> to change their nickname. - example: - - description: |- - Allows Sadie2 to change their nickname - text: |- - /NICKUNLOCK Sadie2 diff --git a/docs/3/modules/nicklock.yml b/docs/3/modules/nicklock.yml new file mode 120000 index 000000000..9c4265766 --- /dev/null +++ b/docs/3/modules/nicklock.yml @@ -0,0 +1 @@ +../../4/modules/nicklock.yml \ No newline at end of file diff --git a/docs/3/modules/noctcp.yml b/docs/3/modules/noctcp.yml deleted file mode 100644 index 8d6e5cbc8..000000000 --- a/docs/3/modules/noctcp.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: noctcp - -description: |- - This module adds channel mode `C` (noctcp) which allows channels to block messages which contain CTCPs and user mode `T` (u_noctcp) which allows users to block private messages that contain CTCPs. - -configuration: -- name: noctcp - description: |- - The `<noctcp>` tag defines settings about how the noctcp module should behave. This tag can only be defined once. - attributes: - - name: enableumode - type: Boolean - required: false - default: 'No' - description: |- - Whether user mode `T` (u_noctcp) is enabled. You must restart after changing this setting for it to be applied. - details: "" - example: |- - ```xml - <noctcp enableumode="yes"> - ``` -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: channels/ignore-noctcp - description: |- - Allows server operators to send a CTCP to a channel with the `C` (noctcp) mode set. - - name: users/ignore-noctcp - description: |- - Allows server operators to send a CTCP to a user with the `T` (u_noctcp) mode set. - details: "" - example: |- - Allows server operators with the class named BasicOper to send a CTCP to a channel or user with the respective mode set. - - ```xml - <class name="BasicOper" - ... - privs="... channels/ignore-noctcp users/ignore-noctcp ..."> - ``` - -chmodes: - chars: - - name: noctcp - char: C - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Enables blocking channel messages that contain CTCPs. - example: "" - -umodes: - chars: - - name: u_noctcp - char: T - type: Switch - syntax: null - usable_by: Anyone - description: |- - Enables blocking private messages that contain CTCPs. - example: "" - -exemptions: -- name: noctcp - description: Allows exempted users to send messages that contain CTCPs. - -extbans: - description: "" - chars: - - name: noctcp - char: C - type: Acting - syntax: <mask> - description: Bans <mask> from sending messages that contain CTCPs. - example: - - description: |- - Bans users matching `*!*@example.com` from sending messages that contain CTCPs - text: |- - /MODE #channel +b C:*!*@example.com - -special_notes: |- - Actions (i.e. /ME) use a CTCP internally but are not blocked by this module. diff --git a/docs/3/modules/noctcp.yml b/docs/3/modules/noctcp.yml new file mode 120000 index 000000000..163ad0b0b --- /dev/null +++ b/docs/3/modules/noctcp.yml @@ -0,0 +1 @@ +../../4/modules/noctcp.yml \ No newline at end of file diff --git a/docs/3/modules/nonicks.yml b/docs/3/modules/nonicks.yml deleted file mode 100644 index cf775ca98..000000000 --- a/docs/3/modules/nonicks.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: nonicks - -description: |- - This module adds channel mode `N` (nonick) which prevents users from changing their nickname whilst in the channel. - -configuration: -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: channels/ignore-nonicks - description: |- - Allows server operators to change their nick when on a channel with the `N` (nonick) mode set. - details: "" - example: |- - Allows server operators with the class named BasicOper to change their nick when on a channel with the `N` (nonick) mode set. - - ```xml - <class name="BasicOper" - ... - privs="... channels/ignore-nonicks ..."> - ``` - -chmodes: - chars: - - name: nonick - char: N - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Prevents users from changing their nickname whilst in the channel. - example: "" - -extbans: - description: "" - chars: - - name: nonick - char: N - type: Acting - syntax: <mask> - description: Bans users matching <mask> from changing their nickname whilst in the channel. - example: - - description: |- - Bans users matching `*!*@example.com` from changing their nickname whilst in the channel - text: |- - /MODE #channel +b N:*!*@example.com diff --git a/docs/3/modules/nonicks.yml b/docs/3/modules/nonicks.yml new file mode 120000 index 000000000..dd7942ebf --- /dev/null +++ b/docs/3/modules/nonicks.yml @@ -0,0 +1 @@ +../../4/modules/nonicks.yml \ No newline at end of file diff --git a/docs/3/modules/nonotice.yml b/docs/3/modules/nonotice.yml deleted file mode 100644 index 2ed56f2bf..000000000 --- a/docs/3/modules/nonotice.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nonotice - -description: |- - This module adds channel mode `T` (nonotice) which allows channels to block messages sent with the `/NOTICE` command. - -chmodes: - chars: - - name: nonotice - char: T - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Enables blocking messages sent with the `/NOTICE` command. - example: "" - -exemptions: -- name: nonotice - description: Allows exempted users to send messages with the `/NOTICE` command. - -extbans: - description: "" - chars: - - name: nonotice - char: T - type: Acting - syntax: <mask> - description: Bans <mask> from sending messages with the `/NOTICE` command. - example: - - description: |- - Bans users matching `*!*@example.com` from sending messages with the `/NOTICE` command - text: |- - /MODE #channel +b T:*!*@example.com diff --git a/docs/3/modules/nonotice.yml b/docs/3/modules/nonotice.yml new file mode 120000 index 000000000..33fab6b41 --- /dev/null +++ b/docs/3/modules/nonotice.yml @@ -0,0 +1 @@ +../../4/modules/nonotice.yml \ No newline at end of file diff --git a/docs/3/modules/ojoin.yml b/docs/3/modules/ojoin.yml deleted file mode 100644 index e3137c7b0..000000000 --- a/docs/3/modules/ojoin.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: ojoin - -description: |- - This module adds the `/OJOIN` command which allows server operators to join a channel and receive the server operator-only `Y` (official-join) channel prefix mode. - -configuration: -- name: ojoin - description: |- - The `<ojoin>` tag defines settings about how the ojoin module should behave. This tag can only be defined once. - attributes: - - name: notice - type: Boolean - required: false - default: 'Yes' - description: |- - Whether to inform channel members that a server operator is joining on official network business. - - name: op - type: Boolean - required: false - default: 'Yes' - description: |- - Whether to also give joining server operators the `o` (op) channel prefix mode. - - name: prefix - type: Character - required: false - default: null - description: |- - If defined then the prefix character to use for the `Y` (official-join) channel prefix mode. - details: "" - example: |- - ```xml - <ojoin notice="yes" - op="yes" - prefix="!"> - ``` - -chmodes: - chars: - - name: official-join - char: Y - type: Prefix - syntax: <nick> - usable_by: Server operators - description: |- - Grants channel official-join status to <nick>. - example: "" - -commands: -- name: OJOIN - param_count: 1 - oper_only: true - syntax: <channel> - description: |- - Joins <channel> with the server operator-only `Y` (official-join) channel prefix mode. - example: - - description: |- - Joins #example with the server operator-only `Y` (official-join) channel prefix mode - text: |- - /OJOIN #example - -special_notes: |- - The `Y` (official-join) channel prefix mode can not be directly set by users. To enable this channel prefix mode log into a server operator account and use the `/OJOIN` command. - - If you want the `Y` (official-join) channel prefix mode to be active at all times consider using [the operprefix module](/{{ version }}/modules/operprefix) instead. diff --git a/docs/3/modules/ojoin.yml b/docs/3/modules/ojoin.yml new file mode 120000 index 000000000..ac48e0040 --- /dev/null +++ b/docs/3/modules/ojoin.yml @@ -0,0 +1 @@ +../../4/modules/ojoin.yml \ No newline at end of file diff --git a/docs/3/modules/operjoin.yml b/docs/3/modules/operjoin.yml deleted file mode 100644 index ee03c763f..000000000 --- a/docs/3/modules/operjoin.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: operjoin - -description: |- - This module allows the server administrator to force server operators to join one or more channels when logging into their server operator account. - -configuration: -- name: [oper, type] - description: |- - This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: - extends: true - attributes: - - name: autojoin - type: Text - required: false - default: null - description: |- - A comma-delimited list of channels for server operators to be joined to when logging into their server operator account. - details: "" - example: |- - Forces Sadie to join #example1 and #example2 when logging into their server operator account: - - ```xml - <oper name="Sadie" - ... - autojoin="#example1,#example2"> - ``` - - Forces server operators of type NetAdmin to join #example1 and #example2 when logging into their server operator account: - - ```xml - <type name="NetAdmin" - ... - autojoin="#example1,#example2"> - ``` -- name: operjoin - description: |- - The `<operjoin>` tag defines settings about how the operjoin module should behave. This tag can only be defined once. - attributes: - - name: channel - type: Text - required: false - default: null - description: |- - A comma-delimited list of channels for server operators to be joined to when logging into their server operator account. - - name: override - type: Boolean - required: false - default: 'No' - description: |- - Whether to force server operators into the channel regardless of any channel modes that might normally prevent them from joining. - details: "" - example: |- - Forces all server operators to join #example when logging into their server operator account: - - ```xml - <operjoin channel="#example" - override="yes"> - ``` diff --git a/docs/3/modules/operjoin.yml b/docs/3/modules/operjoin.yml new file mode 120000 index 000000000..c3e79f4ba --- /dev/null +++ b/docs/3/modules/operjoin.yml @@ -0,0 +1 @@ +../../4/modules/operjoin.yml \ No newline at end of file diff --git a/docs/3/modules/operlevels.yml b/docs/3/modules/operlevels.yml deleted file mode 100644 index 23f2200f3..000000000 --- a/docs/3/modules/operlevels.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: operlevels - -description: |- - This module allows the server administrator to define ranks for server operators which prevent lower ranked server operators from using `/KILL` on higher ranked server operators. - -configuration: -- name: [oper, type] - description: |- - This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: - extends: true - attributes: - - name: level - type: Number - required: false - default: 0 - description: |- - The rank to give to the server operators. - details: "" - example: |- - Creates two server operators, Sadie and Adam, where the former will be able to `/KILL` the latter but the latter will not be able to kill the former: - - ```xml - <oper name="Sadie" - ... - level="100"> - - <oper name="Adam" - ... - level="50"> - ``` - - Creates two server operator types, NetAdmin and Helper, where the former will be able to `/KILL` the latter but the latter will not be able to kill the former: - - ```xml - <type name="NetAdmin" - ... - level="100"> - - <type name="Helper" - ... - level="50"> - ``` diff --git a/docs/3/modules/operlevels.yml b/docs/3/modules/operlevels.yml new file mode 120000 index 000000000..5c944518b --- /dev/null +++ b/docs/3/modules/operlevels.yml @@ -0,0 +1 @@ +../../4/modules/operlevels.yml \ No newline at end of file diff --git a/docs/3/modules/opermodes.yml b/docs/3/modules/opermodes.yml deleted file mode 100644 index 631035764..000000000 --- a/docs/3/modules/opermodes.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: opermodes - -description: |- - This module allows the server administrator to set user modes on server operators when they log into their server operator account. - -configuration: -- name: [oper, type] - description: |- - This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: - extends: true - attributes: - - name: modes - type: Text - required: false - default: null - description: |- - The user modes to set on server operators when they log into their server operator account. - details: "" - example: |- - Forces Sadie to have user modes `sw` (snomask, wallops) and all available snomasks when logging into their server operator account: - - ```xml - <oper name="Sadie" - ... - modes="+sw +*"> - ``` - - Forces server operators of type NetAdmin to have user modes `sw` (snomask, wallops) and all available snomasks when logging into their server operator account: - - ```xml - <type name="NetAdmin" - ... - modes="+sw +*"> - ``` diff --git a/docs/3/modules/opermodes.yml b/docs/3/modules/opermodes.yml new file mode 120000 index 000000000..de5c71a68 --- /dev/null +++ b/docs/3/modules/opermodes.yml @@ -0,0 +1 @@ +../../4/modules/opermodes.yml \ No newline at end of file diff --git a/docs/3/modules/operprefix.yml b/docs/3/modules/operprefix.yml deleted file mode 100644 index 76bc4fba6..000000000 --- a/docs/3/modules/operprefix.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: operprefix - -description: |- - This module adds the server operator-only `y` (operprefix) channel prefix mode. - -configuration: -- name: operprefix - description: |- - The `<operprefix>` tag defines settings about how the operprefix module should behave. This tag can only be defined once. - attributes: - - name: prefix - type: Character - required: false - default: '!' - description: |- - The prefix character to use for the `y` (operprefix) channel prefix mode. - details: "" - example: |- - ```xml - <operprefix prefix="!"> - ``` - -chmodes: - chars: - - name: operprefix - char: y - type: Prefix - syntax: <nick> - usable_by: Server operators - description: |- - Grants channel operprefix status to <nick>. - example: "" - -special_notes: |- - The `y` (operprefix) channel prefix mode can not be directly set by users. To enable this channel prefix mode log into a server operator account. - - If you don't want the `y` (operprefix) channel prefix mode to be active at all times consider using [the ojoin module](/{{ version }}/modules/ojoin) instead. diff --git a/docs/3/modules/operprefix.yml b/docs/3/modules/operprefix.yml new file mode 120000 index 000000000..17ce34db6 --- /dev/null +++ b/docs/3/modules/operprefix.yml @@ -0,0 +1 @@ +../../4/modules/operprefix.yml \ No newline at end of file diff --git a/docs/3/modules/password_hash.yml b/docs/3/modules/password_hash.yml deleted file mode 100644 index 2ab1200d0..000000000 --- a/docs/3/modules/password_hash.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: password_hash - -description: |- - This module allows passwords to be hashed and adds the `/MKPASSWD` command which allows the generation of hashed passwords for use in the server configuration. - -configuration: -- name: mkpasswd - description: |- - The `<mkpasswd>` tag defines settings about how the mkpasswd module should behave. This tag can only be defined once. - attributes: - - name: operonly - type: Boolean - required: false - default: 'No' - description: |- - Whether the `/MKPASSWD` command is only usable by server operators. You should enable this once you have generated your passwords. - details: "" - example: |- - ```xml - <mkpasswd operonly="no"> - ``` - -commands: -- name: MKPASSWD - param_count: 2 - syntax: <hash> <password> - description: |- - Hashes <password> using the <hash> algorithm. - example: - - description: |- - Hashes the password "hunter2" using the HMAC-SHA-256 algorithm - text: |- - /MKPASSWD hmac-sha256 hunter2 - -command_details: |- - {! {{ version }}/modules/_hash_table.md !} - -special_notes: |- - You should only run this command on a server that you trust as the plaintext password may be intercepted by an attacker. diff --git a/docs/3/modules/password_hash.yml b/docs/3/modules/password_hash.yml new file mode 120000 index 000000000..bb007293e --- /dev/null +++ b/docs/3/modules/password_hash.yml @@ -0,0 +1 @@ +../../4/modules/password_hash.yml \ No newline at end of file diff --git a/docs/3/modules/pbkdf2.yml b/docs/3/modules/pbkdf2.yml deleted file mode 100644 index 1b45393cf..000000000 --- a/docs/3/modules/pbkdf2.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: pbkdf2 - -description: |- - This module allows other modules to generate [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) hashes. - -configuration: -- name: pbkdf2 - description: |- - The `<pbkdf2>` tag defines settings about how the pbkdf2 module should behave. This tag can only be defined once. - attributes: - - name: iterations - type: Number - required: false - default: 12288 - description: |- - The number of iterations of the hashing function that should be performed. - - name: length - type: Number - required: false - default: 32 - description: |- - The length of the derived key. - details: "" - example: |- - ```xml - <pbkdf2 iterations="12288" - length="32"> - ``` -- name: pbkdf2prov - description: |- - The `<pbkdf2prov>` tag defines settings for a specific hash algorithm. This tag can be defined as many times as required. - attributes: - - name: hash - type: Text - required: true - default: null - description: |- - The name of the hash algorithm to configure. - - name: iterations - type: Number - required: false - default: 12288 - description: |- - The number of iterations of the hashing function that should be performed. - - name: length - type: Number - required: false - default: 32 - description: |- - The length of the derived key. - details: "" - example: |- - ```xml - <pbkdf2prov hash="sha256" - iterations="12288" - length="32"> - ``` diff --git a/docs/3/modules/pbkdf2.yml b/docs/3/modules/pbkdf2.yml new file mode 120000 index 000000000..ead6335db --- /dev/null +++ b/docs/3/modules/pbkdf2.yml @@ -0,0 +1 @@ +../../4/modules/pbkdf2.yml \ No newline at end of file diff --git a/docs/3/modules/randquote.yml b/docs/3/modules/randquote.yml deleted file mode 100644 index 6c3ebfc3b..000000000 --- a/docs/3/modules/randquote.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: randquote - -description: |- - This module allows random quotes to be sent to users when they connect to the server. - -configuration: -- name: [files, execfiles] - description: |- - This module extends the core [`<files>`](/{{ version }}/configuration#files) and [`<execfiles>`](/{{ version }}/configuration#execfiles) tags with the following fields: - extends: true - attributes: - - name: quotes - type: Text - required: false - default: null - description: |- - The file to read or command to execute to obtain the quotes text. - details: "" - example: |- - Obtains the quotes by reading quotes.txt: - - ```xml - <files ... - quotes="quotes.txt"> - ``` - - Obtains the quotes by executing `curl https://www.example.com/quotes.txt`: - - ```xml - <execfiles ... - quotes="curl https://www.example.com/quotes.txt"> - ``` -- name: randquote - description: |- - The `<randquote>` tag defines settings about how the randquote module should behave. This tag can only be defined once. - attributes: - - name: file - type: Text - required: false - default: quotes - description: |- - The file path or name of the field in <files> / <execfiles> to use when reading the quotes. - - name: prefix - type: Text - required: false - default: null - description: |- - If defined then text to prefix quotes with when sending them to a user. - - name: suffix - type: Text - required: false - default: null - description: |- - If defined then text to suffix quotes with when sending them to a user. - details: "" - example: |- - ```xml - <randquote file="quotes" - prefix="" - suffix=""> - ``` diff --git a/docs/3/modules/randquote.yml b/docs/3/modules/randquote.yml new file mode 120000 index 000000000..ad4e74b77 --- /dev/null +++ b/docs/3/modules/randquote.yml @@ -0,0 +1 @@ +../../4/modules/randquote.yml \ No newline at end of file diff --git a/docs/3/modules/redirect.yml b/docs/3/modules/redirect.yml deleted file mode 100644 index 69a73caba..000000000 --- a/docs/3/modules/redirect.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: redirect - -description: |- - This module allows users to be redirected to another channel when the user limit is reached. - -configuration: [] - -chmodes: - chars: - - name: redirect - char: L - type: Parameter - syntax: <channel> - usable_by: Channel operators - description: Redirects all new users to <channel> when the user limit is reached. - example: - - description: |- - Redirects new users from #channel to #channel-full when the user limit is reached - text: |- - /MODE #channel +L #channel-full - -umodes: - chars: - - name: antiredirect - char: L - type: Switch - syntax: null - usable_by: Anyone - description: |- - Prevents users from being redirected by channel mode `L` (redirect). - example: "" - -special_notes: |- - When setting a redirect the target channel should exist and the user setting the redirect should have channel operator status in it. diff --git a/docs/3/modules/redirect.yml b/docs/3/modules/redirect.yml new file mode 120000 index 000000000..85ec0abbe --- /dev/null +++ b/docs/3/modules/redirect.yml @@ -0,0 +1 @@ +../../4/modules/redirect.yml \ No newline at end of file diff --git a/docs/3/modules/regex_glob.yml b/docs/3/modules/regex_glob.yml deleted file mode 100644 index 4477066d1..000000000 --- a/docs/3/modules/regex_glob.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: regex_glob - -description: |- - This module provides the `glob` regular expression engine which uses the built-in glob matching system. diff --git a/docs/3/modules/regex_glob.yml b/docs/3/modules/regex_glob.yml new file mode 120000 index 000000000..68624acbd --- /dev/null +++ b/docs/3/modules/regex_glob.yml @@ -0,0 +1 @@ +../../4/modules/regex_glob.yml \ No newline at end of file diff --git a/docs/3/modules/regex_re2.yml b/docs/3/modules/regex_re2.yml deleted file mode 100644 index e3b784b55..000000000 --- a/docs/3/modules/regex_re2.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: regex_re2 - -introduction: "" - -depends_on: - what: a third-party library ([RE2](https://github.com/google/re2)) - -description: |- - This module provides the `re2` regular expression engine which uses the [RE2](https://github.com/google/re2) library. diff --git a/docs/3/modules/regex_re2.yml b/docs/3/modules/regex_re2.yml new file mode 120000 index 000000000..6f2fc353c --- /dev/null +++ b/docs/3/modules/regex_re2.yml @@ -0,0 +1 @@ +../../4/modules/regex_re2.yml \ No newline at end of file diff --git a/docs/3/modules/restrictchans.yml b/docs/3/modules/restrictchans.yml deleted file mode 100644 index de3f24961..000000000 --- a/docs/3/modules/restrictchans.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: restrictchans - -description: |- - This module prevents unprivileged users from creating new channels. - -configuration: -- name: allowchannel - description: |- - The `<allowchannel>` tag defines a channel which may be created by unprivileged users. This tag can be defined as many times as required. - attributes: - - name: name - type: Text - required: true - default: null - description: |- - A glob pattern for a channel name which can be created by unprivileged users. - details: "" - example: |- - Allows unprivileged users to create the #guests channel: - - ```xml - <allowchannel name="#guests"> - ``` - - Allows unprivileged users to create channels starting with "#user-": - - ```xml - <allowchannel name="#user-*"> - ``` -- name: restrictchans - description: |- - The `<restrictchans>` tag defines settings about how the restrictchans module should behave. This tag can only be defined once. - attributes: - - name: allowregistered - type: Boolean - required: false - default: 'No' - description: |- - Whether users who are logged into an account can create channels. - details: "" - example: |- - ```xml - <restrictchans allowregistered="yes"> - ``` -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: channels/restricted-create - description: |- - Allows server operators to create channels. - details: "" - example: |- - Allows server operators with the class named BasicOper to create channels. - - ```xml - <class name="BasicOper" - ... - privs="... channels/restricted-create ..."> - ``` diff --git a/docs/3/modules/restrictchans.yml b/docs/3/modules/restrictchans.yml new file mode 120000 index 000000000..fd9407a50 --- /dev/null +++ b/docs/3/modules/restrictchans.yml @@ -0,0 +1 @@ +../../4/modules/restrictchans.yml \ No newline at end of file diff --git a/docs/3/modules/restrictmsg.yml b/docs/3/modules/restrictmsg.yml deleted file mode 100644 index 23ae3ec62..000000000 --- a/docs/3/modules/restrictmsg.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: restrictmsg - -description: |- - This module prevents users who are not server operators from messaging each other. diff --git a/docs/3/modules/restrictmsg.yml b/docs/3/modules/restrictmsg.yml new file mode 120000 index 000000000..5691b474c --- /dev/null +++ b/docs/3/modules/restrictmsg.yml @@ -0,0 +1 @@ +../../4/modules/restrictmsg.yml \ No newline at end of file diff --git a/docs/3/modules/rline.yml b/docs/3/modules/rline.yml deleted file mode 100644 index dbc6529bd..000000000 --- a/docs/3/modules/rline.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: rline - -description: |- - This module adds the `/RLINE` command which allows server operators to prevent users matching a nickname!username@hostname+realname regular expression from connecting to the server. - -configuration: -- name: rline - description: |- - The `<rline>` tag defines settings about how the rline module should behave. This tag can only be defined once. - attributes: - - name: engine - type: Text - required: false - default: null - description: |- - The regular expression engine to use for checking matches. - - name: matchonnickchange - type: Boolean - required: false - default: 'No' - description: |- - Whether to attempt to match users when they change their nickname. - - name: zlineonmatch - type: Boolean - required: false - default: 'No' - description: |- - Whether to add a Z-line on the IP address of users that match a R-line. - details: |- - The engine field should be set to the name of a regular expression engine. - - {! {{ version }}/modules/_regex_table.md !} - - example: |- - ```xml - <rline engine="pcre" - matchonnickchange="no" - zlineonmatch="no"> - ``` - -commands: -- name: RLINE - param_count: 1, 3 - oper_only: true - syntax: <regex> [<duration> <reason>] - description: |- - Allows server operators to add and remove regular expression bans on nickname!username@hostname+realname masks. - example: - - note: |- - The following examples assume that the "pcre" regex module is being used. - - See the `<rline>` documentation above for more information. - description: |- - Bans users connecting from example.com for one week - text: |- - /RLINE ^[^!]+![^@]+@example.com\+.+$ 7d :Trolling is forbidden - - description: |- - Bans users that have "BotBot" in their real name forever - text: |- - /RLINE ^[^!]+![^@]+@[^\+]+\+.*BotBot.*$ 0 :No bots allowed - - description: |- - Unbans users connecting from example.com - text: |- - /RLINE ^[^!]+![^@]+@example.com\+.+$ - -stats: -- char: R - description: Lists all regular expression lines. - -special_notes: |- - R-lines are expired lazily when a lookup happens for performance reasons. This means that expiry messages may display later than expected. diff --git a/docs/3/modules/rline.yml b/docs/3/modules/rline.yml new file mode 120000 index 000000000..e0c362d8d --- /dev/null +++ b/docs/3/modules/rline.yml @@ -0,0 +1 @@ +../../4/modules/rline.yml \ No newline at end of file diff --git a/docs/3/modules/sajoin.yml b/docs/3/modules/sajoin.yml deleted file mode 100644 index aa1409881..000000000 --- a/docs/3/modules/sajoin.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: sajoin - -description: |- - This module adds the `/SAJOIN` command which allows server operators to force users to join one or more channels. - -configuration: -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: users/sajoin-others - description: |- - Allows server operators to `/SAJOIN` users other than themselves. - details: "" - example: |- - Allows server operators with the class named BasicOper to `/SAJOIN` users other than themselves. - - ```xml - <class name="BasicOper" - ... - commands="... SAJOIN ..." - privs="... users/sajoin-others ..."> - ``` - -commands: -- name: SAJOIN - param_count: 1-2 - oper_only: true - syntax: '[<nick>] <channel>[,<channel>]+' - description: |- - Forces <nick> to join <channel>. If no nick is specified, forces the server operator issuing the command to join. - example: - - description: |- - Forces Sadie to join #channel - text: |- - /SAJOIN Sadie #channel - - description: |- - Forces the server operator issuing the command to join #channel - text: |- - /SAJOIN #channel diff --git a/docs/3/modules/sajoin.yml b/docs/3/modules/sajoin.yml new file mode 120000 index 000000000..835422b4a --- /dev/null +++ b/docs/3/modules/sajoin.yml @@ -0,0 +1 @@ +../../4/modules/sajoin.yml \ No newline at end of file diff --git a/docs/3/modules/sakick.yml b/docs/3/modules/sakick.yml deleted file mode 100644 index 9354bf28b..000000000 --- a/docs/3/modules/sakick.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sakick - -description: |- - This module adds the `/SAKICK` command which allows server operators to kick users from a channel without having any privileges in the channel. - -commands: -- name: SAKICK - param_count: 2-3 - oper_only: true - syntax: <channel> <nick> [<reason>] - description: |- - Kicks <nick> from <channel> optionally with the reason specified in <reason>. - example: - - description: |- - Kicks emily from #channel - text: |- - /SAKICK #channel emily :Your behaviour is inappropriate diff --git a/docs/3/modules/sakick.yml b/docs/3/modules/sakick.yml new file mode 120000 index 000000000..805876b92 --- /dev/null +++ b/docs/3/modules/sakick.yml @@ -0,0 +1 @@ +../../4/modules/sakick.yml \ No newline at end of file diff --git a/docs/3/modules/samode.yml b/docs/3/modules/samode.yml deleted file mode 100644 index 8a7e0d14c..000000000 --- a/docs/3/modules/samode.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: samode - -description: |- - This module adds the `/SAMODE` command which allows server operators to change the modes of a target (channel, user) that they would not otherwise have the privileges to change. - -configuration: -- name: class - description: |- - This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: - extends: true - added_values: - - name: users/samode-usermodes - description: |- - Allows server operators to change the user modes of any other user using `/SAMODE`. - details: "" - example: |- - Allows server operators with the class named SACommands to `/SAMODE` the user modes of other users. - - ```xml - <class name="SACommands" - ... - commands="... SAMODE ..." - privs="... users/samode-usermodes ..."> - ``` - -commands: -- name: SAMODE - param_count: 2+ - oper_only: true - syntax: <target> <modes> [<mode-parameters>]+ - description: |- - Changes the modes of <target> to <modes> [<mode-parameters>]+ - example: - - description: |- - Removes channel mode `s` (secret) from #channel - text: |- - /SAMODE #channel -s - - description: |- - Adds user mode `w` (wallops) to Sadie - text: |- - /SAMODE Sadie +w diff --git a/docs/3/modules/samode.yml b/docs/3/modules/samode.yml new file mode 120000 index 000000000..73c755868 --- /dev/null +++ b/docs/3/modules/samode.yml @@ -0,0 +1 @@ +../../4/modules/samode.yml \ No newline at end of file diff --git a/docs/3/modules/sanick.yml b/docs/3/modules/sanick.yml deleted file mode 100644 index 4b564d54f..000000000 --- a/docs/3/modules/sanick.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sanick - -description: |- - This module adds the `/SANICK` command which allows server operators to change the nickname of a user. - -commands: -- name: SANICK - param_count: 2 - oper_only: true - syntax: <old-nick> <new-nick> - description: |- - Changes the nickname of <old-nick> to <new-nick>. - example: - - description: |- - Changes the nickname of Sadie to Sadie2 - text: |- - /SANICK Sadie Sadie2 diff --git a/docs/3/modules/sanick.yml b/docs/3/modules/sanick.yml new file mode 120000 index 000000000..c271e78f6 --- /dev/null +++ b/docs/3/modules/sanick.yml @@ -0,0 +1 @@ +../../4/modules/sanick.yml \ No newline at end of file diff --git a/docs/3/modules/sapart.yml b/docs/3/modules/sapart.yml deleted file mode 100644 index 35ff8d018..000000000 --- a/docs/3/modules/sapart.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sapart - -description: |- - This module adds the `/SAPART` command which allows server operators to force part users from one or more channels without having any privileges in these channels. - -commands: -- name: SAPART - param_count: 2-3 - oper_only: true - syntax: <nick> <channel>[,<channel>]+ [<reason>] - description: |- - Force parts <nick> from <channel> optionally with the reason specified in <reason>. - example: - - description: |- - Force parts emily from #channel - text: |- - /SAPART #channel emily :Your behaviour is inappropriate diff --git a/docs/3/modules/sapart.yml b/docs/3/modules/sapart.yml new file mode 120000 index 000000000..f048504d7 --- /dev/null +++ b/docs/3/modules/sapart.yml @@ -0,0 +1 @@ +../../4/modules/sapart.yml \ No newline at end of file diff --git a/docs/3/modules/saquit.yml b/docs/3/modules/saquit.yml deleted file mode 100644 index 494d87473..000000000 --- a/docs/3/modules/saquit.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: saquit - -description: |- - This module adds the `/SAQUIT` command which allows server operators to disconnect users from the server. - -commands: -- name: SAQUIT - param_count: 2 - oper_only: true - syntax: <nick> <reason> - description: |- - Disconnects <nick> from the server with the reason specified in <reason>. - example: - - description: |- - Disconnects emily from the server - text: |- - /SAQUIT emily :Quitting diff --git a/docs/3/modules/saquit.yml b/docs/3/modules/saquit.yml new file mode 120000 index 000000000..b15c0d8c5 --- /dev/null +++ b/docs/3/modules/saquit.yml @@ -0,0 +1 @@ +../../4/modules/saquit.yml \ No newline at end of file diff --git a/docs/3/modules/satopic.yml b/docs/3/modules/satopic.yml deleted file mode 100644 index bd97538cb..000000000 --- a/docs/3/modules/satopic.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: satopic - -description: |- - This module adds the `/SATOPIC` command which allows server operators to change the topic of a channel that they would not otherwise have the privileges to change. - -commands: -- name: SATOPIC - param_count: 2 - oper_only: true - syntax: <channel> <topic> - description: |- - Changes the topic of <channel> to <topic>. - example: - - description: |- - Changes the topic of #animals to "I like turtles" - text: |- - /SATOPIC #animals :I like turtles diff --git a/docs/3/modules/satopic.yml b/docs/3/modules/satopic.yml new file mode 120000 index 000000000..82c6c6fee --- /dev/null +++ b/docs/3/modules/satopic.yml @@ -0,0 +1 @@ +../../4/modules/satopic.yml \ No newline at end of file diff --git a/docs/3/modules/seenicks.yml b/docs/3/modules/seenicks.yml deleted file mode 100644 index dc01d1134..000000000 --- a/docs/3/modules/seenicks.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: seenicks - -description: |- - This module sends a notice to snomasks `n` (local) and `N` (remote) when a user changes their nickname. - -snomasks: -- char: n - description: Notifications about nicknames being changed on the local server. -- char: N - description: Notifications about nicknames being changed on a remote server. diff --git a/docs/3/modules/seenicks.yml b/docs/3/modules/seenicks.yml new file mode 120000 index 000000000..436965da2 --- /dev/null +++ b/docs/3/modules/seenicks.yml @@ -0,0 +1 @@ +../../4/modules/seenicks.yml \ No newline at end of file diff --git a/docs/3/modules/serverban.yml b/docs/3/modules/serverban.yml deleted file mode 100644 index d87aeaabf..000000000 --- a/docs/3/modules/serverban.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: serverban - -description: |- - This module adds extended ban `s:` (server) which check whether users are on a server matching the specified glob pattern. - -extbans: - description: "" - chars: - - name: server - char: s - type: Matching - syntax: <pattern> - description: Checks whether users are on a server matching <pattern>. - example: - - description: |- - Bans users on irc2.example.com from joining the channel - text: |- - /MODE #channel +b s:irc2.example.com diff --git a/docs/3/modules/serverban.yml b/docs/3/modules/serverban.yml new file mode 120000 index 000000000..6770e1e49 --- /dev/null +++ b/docs/3/modules/serverban.yml @@ -0,0 +1 @@ +../../4/modules/serverban.yml \ No newline at end of file diff --git a/docs/3/modules/sethost.yml b/docs/3/modules/sethost.yml deleted file mode 100644 index cd8ee8bd4..000000000 --- a/docs/3/modules/sethost.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: sethost - -description: |- - This module adds the `/SETHOST` command which allows server operators to change their displayed hostname. - -configuration: -- name: hostname - description: |- - The `<hostname>` tag defines settings about how the sethost module should behave. This tag can only be defined once. - attributes: - - name: charmap - type: Text - required: false - default: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789 - description: |- - The characters which are allowed in a hostname. - details: "" - example: |- - Allows hostnames to contain letters, numbers, `/`, `-`, `.', and `__`. - - ```xml - <hostname charmap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789"> - ``` - -commands: -- name: SETHOST - param_count: 1 - oper_only: true - syntax: <hostname> - description: |- - Changes the displayed hostname of the user to <hostname>. - example: - - description: |- - Changes the hostname of the user to wibble.wobble - text: |- - /SETHOST wibble.wobble - -special_notes: |- - This command only changes the displayed hostname of the user. Their real hostname will remain intact and still will match against bans. diff --git a/docs/3/modules/sethost.yml b/docs/3/modules/sethost.yml new file mode 120000 index 000000000..2ee4e97dd --- /dev/null +++ b/docs/3/modules/sethost.yml @@ -0,0 +1 @@ +../../4/modules/sethost.yml \ No newline at end of file diff --git a/docs/3/modules/setident.yml b/docs/3/modules/setident.yml deleted file mode 100644 index fe865e31f..000000000 --- a/docs/3/modules/setident.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: setident - -description: |- - This module adds the `/SETIDENT` command which allows server operators to change their username (ident). - -commands: -- name: SETIDENT - param_count: 1 - oper_only: true - syntax: <username> - description: |- - Changes the username (ident) of the user to <username>. - example: - - description: |- - Changes the username (ident) of the user to wibble - text: |- - /SETIDENT wibble diff --git a/docs/3/modules/setident.yml b/docs/3/modules/setident.yml new file mode 120000 index 000000000..1b345afa1 --- /dev/null +++ b/docs/3/modules/setident.yml @@ -0,0 +1 @@ +../../4/modules/setident.yml \ No newline at end of file diff --git a/docs/3/modules/setidle.yml b/docs/3/modules/setidle.yml deleted file mode 100644 index efb99e360..000000000 --- a/docs/3/modules/setidle.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: setidle - -description: |- - This module adds the `/SETIDLE` command which allows server operators to change their idle time. - -commands: -- name: SETIDLE - param_count: 1 - oper_only: true - syntax: <duration> - description: |- - Changes the idle time of the user to <duration>. - example: - - description: |- - Changes the idle time of the user to five minutes - text: |- - /SETIDLE 5m diff --git a/docs/3/modules/setidle.yml b/docs/3/modules/setidle.yml new file mode 120000 index 000000000..18b50cbb0 --- /dev/null +++ b/docs/3/modules/setidle.yml @@ -0,0 +1 @@ +../../4/modules/setidle.yml \ No newline at end of file diff --git a/docs/3/modules/setname.yml b/docs/3/modules/setname.yml deleted file mode 100644 index 7d2698cfc..000000000 --- a/docs/3/modules/setname.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: setname - -description: |- - This module adds the `/SETNAME` command which allows users to change their real name (gecos). - -configuration: -- name: setname - description: |- - The `<setname>` tag defines settings about how the setname module should behave. This tag can only be defined once. - attributes: - - name: notifyopers - type: Boolean - required: false - default: 'Yes' - description: |- - Whether to notify server operators when a user changes their real name. - - name: operonly - type: Boolean - required: false - default: 'No' - description: |- - Whether the `/SETNAME` command can only be used by server operators. - details: "" - example: |- - ```xml - <setname notifyopers="yes" - operonly="no"> - ``` - -commands: -- name: SETNAME - param_count: 1 - oper_only: true - syntax: <realname> - description: |- - Changes the real name (gecos) of the user to <realname>. - example: - - description: |- - Changes the real name (gecos) of the user to "Wibble Wobble" - text: |- - /SETNAME :Wibble Wobble diff --git a/docs/3/modules/setname.yml b/docs/3/modules/setname.yml new file mode 120000 index 000000000..610be52a8 --- /dev/null +++ b/docs/3/modules/setname.yml @@ -0,0 +1 @@ +../../4/modules/setname.yml \ No newline at end of file diff --git a/docs/3/modules/sha1.yml b/docs/3/modules/sha1.yml deleted file mode 100644 index b550491f7..000000000 --- a/docs/3/modules/sha1.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: sha1 - -description: |- - This module allows other modules to generate [SHA-1](https://en.wikipedia.org/wiki/SHA-1) hashes. diff --git a/docs/3/modules/sha1.yml b/docs/3/modules/sha1.yml new file mode 120000 index 000000000..45f38f434 --- /dev/null +++ b/docs/3/modules/sha1.yml @@ -0,0 +1 @@ +../../4/modules/sha1.yml \ No newline at end of file diff --git a/docs/3/modules/showfile.yml b/docs/3/modules/showfile.yml deleted file mode 100644 index f5c8c87d2..000000000 --- a/docs/3/modules/showfile.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: showfile - -description: |- - This module adds support for showing the contents of files to users when they execute a command. - -configuration: -- name: showfile - description: |- - The `<showfile>` tag defines a command to show the contents of a file. This tag can be defined as many times as required. - attributes: - - name: name - type: Text - required: true - default: null - description: |- - The name of the command that users should execute to receive this file. - - name: file - type: Text - required: true - default: null - description: |- - The file path or name of the field in `<files>` / `<execfiles>` to use when reading the file. - - name: method - type: Text - required: false - default: numeric - description: |- - The method to use to send the message to the user. - - name: endnumeric - type: Number - required: false - default: 309 - description: |- - If the method field is set to numeric then the numeric to use to stop the response. - - name: endtext - type: Text - required: false - default: End of COMMAND - description: |- - If the method field is set to numeric then the message to use in the stopping numeric. - - name: intronumeric - type: Number - required: false - default: 308 - description: |- - If the method field is set to numeric then the numeric to use to start the response. - - name: introtext - type: Text - required: false - default: Showing COMMAND - description: |- - If the method field is set to numeric then the message to use in the starting numeric. - - name: textnumeric - type: Number - required: false - default: 232 - description: |- - If the method field is set to numeric then the numeric to use to show the response. - details: |- - The method field should be set to one of the following values: - - Value | Description - ------- | ----------- - numeric | Send the message using the specified numerics. - msg | Send the message using `PRIVMSG`. - notice | Send the message using `NOTICE`. - - example: |- - ```xml - <showfile name="RULES" - file="rules.txt" - introtext="Server rules:" - endtext="End of server rules."> - ``` diff --git a/docs/3/modules/showfile.yml b/docs/3/modules/showfile.yml new file mode 120000 index 000000000..56c156c06 --- /dev/null +++ b/docs/3/modules/showfile.yml @@ -0,0 +1 @@ +../../4/modules/showfile.yml \ No newline at end of file diff --git a/docs/3/modules/sqlite3.yml b/docs/3/modules/sqlite3.yml deleted file mode 100644 index b4e856be2..000000000 --- a/docs/3/modules/sqlite3.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: sqlite3 - -introduction: "" - -depends_on: - what: a third-party library ([SQLite](https://www.sqlite.org/index.html)) - -description: |- - This module provides the ability for SQL modules to query a SQLite 3 database. - -configuration: -- name: database - description: |- - The `<database>` tag defines a SQLite 3 database to connect to. This tag can be defined as many times as required. - attributes: - - name: module - type: Text - required: true - default: null - description: |- - *This MUST be set to "sqlite" to connect to a SQLite 3 database.* - - name: id - type: Text - required: true - default: null - description: |- - The name that SQL-using modules can refer to this `<database>` tag using. - - name: hostname - type: Text - required: true - default: null - description: |- - The path to where the SQLite database is stored. - details: "" - example: |- - ```xml - <database module="sqlite" - id="opers" - hostname="/path/to/database.sq3"> - ``` diff --git a/docs/3/modules/sqlite3.yml b/docs/3/modules/sqlite3.yml new file mode 120000 index 000000000..eecabfac6 --- /dev/null +++ b/docs/3/modules/sqlite3.yml @@ -0,0 +1 @@ +../../4/modules/sqlite3.yml \ No newline at end of file diff --git a/docs/3/modules/sslrehashsignal.yml b/docs/3/modules/sslrehashsignal.yml deleted file mode 100644 index a6fd91b04..000000000 --- a/docs/3/modules/sslrehashsignal.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: sslrehashsignal - -introduction: "" - -depends_on: - what: UNIX-specific features - condition: If you are building on a UNIX platform - -description: |- - This module allows the `SIGUSR1` signal to be sent to the server to reload TLS (SSL) certificates. - -configuration: [] - -misc: |- - ### Signals - - Name | Description - ------- | ----------- - SIGUSR1 | Reloads the server's TLS (SSL) certificates. - -special_notes: |- - Since 3.17.0 InspIRCd ships with a script that you can customise for use as a post-deploy hook with [Certbot](https://certbot.eff.org/) to automatically reload your TLS (SSL) certificates when they are updated. For users of older versions this script is replicated below. - - ```sh - #!/bin/sh - set -e - - # The location your renewal tool places your certificates. - CERT_DIR="/etc/letsencrypt/live/irc.example.com" - - # The location of the InspIRCd config directory. - INSPIRCD_CONFIG_DIR="/etc/inspircd" - - # The location of the InspIRCd pid file. - INSPIRCD_PID_FILE="/var/run/inspircd/inspircd.pid" - - # The user:group that InspIRCd runs as. - INSPIRCD_OWNER="inspircd:inspircd" - - if [ -e ${CERT_DIR} -a -e ${INSPIRCD_CONFIG_DIR} ] - then - cp "${CERT_DIR}/fullchain.pem" "${INSPIRCD_CONFIG_DIR}/cert.pem" - cp "${CERT_DIR}/privkey.pem" "${INSPIRCD_CONFIG_DIR}/key.pem" - chown ${INSPIRCD_OWNER} "${INSPIRCD_CONFIG_DIR}/cert.pem" "${INSPIRCD_CONFIG_DIR}/key.pem" - - if [ -r ${INSPIRCD_PID_FILE} ] - then - kill -USR1 $(cat ${INSPIRCD_PID_FILE}) - elif [ -d /lib/systemd ] && systemctl --quiet is-active inspircd - then - systemctl kill --signal USR1 inspircd - fi - fi - ``` diff --git a/docs/3/modules/sslrehashsignal.yml b/docs/3/modules/sslrehashsignal.yml new file mode 120000 index 000000000..90808ab1a --- /dev/null +++ b/docs/3/modules/sslrehashsignal.yml @@ -0,0 +1 @@ +../../4/modules/sslrehashsignal.yml \ No newline at end of file diff --git a/docs/3/modules/starttls.yml b/docs/3/modules/starttls.yml deleted file mode 100644 index e451116cb..000000000 --- a/docs/3/modules/starttls.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: starttls - -description: |- - This module provides the IRCv3 `tls` client capability. - -configuration: -- name: starttls - description: |- - The `<starttls>` tag defines settings about how the starttls module should behave. This tag can only be defined once. - attributes: - - name: provider - type: Text - required: false - default: null - description: |- - The name of the TLS (SSL) profile to use for STARTTLS clients. - details: "" - example: |- - ```xml - <starttls provider="gnutls"> - ``` - -client_caps: -- name: '[tls](https://ircv3.net/specs/extensions/tls.html)' - description: |- - Allows plaintext connections to upgrade to TLS (SSL). diff --git a/docs/3/modules/starttls.yml b/docs/3/modules/starttls.yml new file mode 120000 index 000000000..ed1ce5f6e --- /dev/null +++ b/docs/3/modules/starttls.yml @@ -0,0 +1 @@ +../../4/modules/starttls.yml \ No newline at end of file diff --git a/docs/3/modules/stripcolor.yml b/docs/3/modules/stripcolor.yml deleted file mode 100644 index 6ee3573f0..000000000 --- a/docs/3/modules/stripcolor.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: stripcolor - -description: |- - This module adds channel mode `S` (stripcolor) which allows channels to strip IRC formatting codes from messages. - -chmodes: - chars: - - name: stripcolor - char: S - type: Switch - syntax: null - usable_by: Channel operators - description: |- - Enables stripping of IRC formatting codes from channel messages. - example: "" - -umodes: - chars: - - name: u_stripcolor - char: S - type: Switch - syntax: null - usable_by: Anyone - description: |- - Enables stripping of IRC formatting codes from private messages. - example: "" - -exemptions: -- name: stripcolor - description: Allows exempted users to send messages that contain IRC formatting codes. - -extbans: - description: "" - chars: - - name: stripcolor - char: S - type: Acting - syntax: <mask> - description: Strips IRC formatting codes from messages sent by users matching <mask>. - example: - - description: |- - Strips IRC formatting codes from users matching `*!*@example.com` - text: |- - /MODE #channel +b S:*!*@example.com diff --git a/docs/3/modules/stripcolor.yml b/docs/3/modules/stripcolor.yml new file mode 120000 index 000000000..ea9c010b8 --- /dev/null +++ b/docs/3/modules/stripcolor.yml @@ -0,0 +1 @@ +../../4/modules/stripcolor.yml \ No newline at end of file diff --git a/docs/3/modules/swhois.yml b/docs/3/modules/swhois.yml deleted file mode 100644 index 04800bb37..000000000 --- a/docs/3/modules/swhois.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: swhois - -description: |- - This module adds the `/SWHOIS` command which adds custom lines to a user's WHOIS response. - -configuration: -- name: [oper, type] - description: |- - This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: - extends: true - attributes: - - name: swhois - type: Text - required: false - default: null - description: |- - If defined then defines a custom line to add to the server operator's WHOIS response. - details: "" - example: |- - Adds "hates cheese" to Sadie's WHOIS response: - - ```xml - <oper name="Sadie" - ... - swhois="hates cheese"> - ``` - -commands: -- name: SWHOIS - param_count: 2 - oper_only: true - syntax: <nick> <line> - description: |- - Sets the custom WHOIS line for <nick> to <line>. - example: - - description: |- - Sets the custom WHOIS line for Sadie to "hates cheese" - text: |- - /SWHOIS Sadie :hates cheese diff --git a/docs/3/modules/swhois.yml b/docs/3/modules/swhois.yml new file mode 120000 index 000000000..d5a2ac1fb --- /dev/null +++ b/docs/3/modules/swhois.yml @@ -0,0 +1 @@ +../../4/modules/swhois.yml \ No newline at end of file diff --git a/docs/3/modules/tline.yml b/docs/3/modules/tline.yml deleted file mode 100644 index cd4e5a472..000000000 --- a/docs/3/modules/tline.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tline - -description: |- - This module adds the `/TLINE` command which allows server operators to determine how many users would be affected by an X-line on a specified pattern. - -commands: -- name: TLINE - param_count: 1 - oper_only: true - syntax: <pattern> - description: |- - Determines how many users would be affected by an X-line on <pattern>. - example: - - description: |- - Determines how many users would be affected by an X-line on `*!*@example.com` - text: |- - /TLINE *!*@example.com diff --git a/docs/3/modules/tline.yml b/docs/3/modules/tline.yml new file mode 120000 index 000000000..d44bf7b8d --- /dev/null +++ b/docs/3/modules/tline.yml @@ -0,0 +1 @@ +../../4/modules/tline.yml \ No newline at end of file diff --git a/docs/3/modules/uninvite.yml b/docs/3/modules/uninvite.yml deleted file mode 100644 index c61bf6935..000000000 --- a/docs/3/modules/uninvite.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: uninvite - -description: |- - This module adds the `/UNINVITE` command which allows users who have invited another user to a channel to withdraw their invite. - -commands: -- name: UNINVITE - param_count: 1 - syntax: <nick> <channel> - description: |- - Withdraws the invite for <nick> to join <channel> - example: - - description: |- - Withdraws the invite for Adam to join #secret - text: |- - /UNINVITE Adam #secret diff --git a/docs/3/modules/uninvite.yml b/docs/3/modules/uninvite.yml new file mode 120000 index 000000000..026ce340f --- /dev/null +++ b/docs/3/modules/uninvite.yml @@ -0,0 +1 @@ +../../4/modules/uninvite.yml \ No newline at end of file diff --git a/docs/3/modules/vhost.yml b/docs/3/modules/vhost.yml deleted file mode 100644 index 99db33cac..000000000 --- a/docs/3/modules/vhost.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: vhost - -description: |- - This module allows the server administrator to define accounts which can grant a custom virtual host. - -configuration: -- name: vhost - description: |- - The `<vhost>` tag defines a virtual host account. This tag can be defined as many times as required. - attributes: - - name: user - type: Text - required: true - default: null - description: |- - The username used when logging into the account. - - name: pass - type: Text - required: true - default: null - description: |- - The password used when logging into the account. - - name: hash - type: Text - required: false - default: null - description: |- - The algorithm that the password is hashed with. - - name: host - type: Text - required: false - default: null - description: |- - The vhost for users who log into this account. - details: |- - !!! warning "" - The `hash` field is currently optional but will be required in the next major version of InspIRCd. - - {! {{ version }}/modules/_hash_table.md !} - - example: |- - Adds a virtual host account with the username Sadie and a hashed password: - - ```xml - <vhost user="Sadie" - pass="Ohf74jA8$GwQ083Z/Jl2Vi6WpYKu2ABTU5HAKO+Zk8NWw7sdt7cQ" - hash="hmac-sha256" - host="helper.example.com"> - ``` - -commands: -- name: VHOST - param_count: 2 - syntax: <username> <password> - description: |- - Log into the account with the specified username and password. - example: - - description: |- - Logs into the account with the name Sadie and password fl00fyc4pyb4r4 - text: |- - /VHOST Sadie fl00fyc4pyb4r4 diff --git a/docs/3/modules/vhost.yml b/docs/3/modules/vhost.yml new file mode 120000 index 000000000..b40801826 --- /dev/null +++ b/docs/3/modules/vhost.yml @@ -0,0 +1 @@ +../../4/modules/vhost.yml \ No newline at end of file diff --git a/docs/3/modules/watch.yml b/docs/3/modules/watch.yml deleted file mode 100644 index 8a4d29e6a..000000000 --- a/docs/3/modules/watch.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: watch - -description: |- - This module adds the `/WATCH` command which allows users to find out when their friends are connected to the server. - -configuration: -- name: watch - description: |- - The `<watch>` tag defines settings about how the watch module should behave. This tag can only be defined once. - attributes: - - name: maxwatch - type: Number - required: false - default: 32 - description: |- - The maximum number of entries on a user's watch list. - details: "" - example: |- - ```xml - <watch maxwatch="32"> - ``` - -commands: -- name: WATCH - param_count: 1 - syntax: - - '[(+|-)<nick>]' - - C - - L - - S - description: |- - Manipulates the contents of the executing user's watch list. - example: - - description: |- - Adds Sadie to the watch list - text: |- - /WATCH +Sadie - - description: |- - Removes Sadie from the watch list - text: |- - /WATCH -Sadie - - description: |- - Removes all users from the watch list - text: |- - /WATCH C - - description: |- - Lists all users on the watch list - text: |- - /WATCH C - - description: |- - Shows the status of all watched users - text: |- - /WATCH S diff --git a/docs/3/modules/watch.yml b/docs/3/modules/watch.yml new file mode 120000 index 000000000..2d10d7733 --- /dev/null +++ b/docs/3/modules/watch.yml @@ -0,0 +1 @@ +../../4/modules/watch.yml \ No newline at end of file diff --git a/docs/3/user-modes.md b/docs/3/user-modes.md deleted file mode 100644 index 2f4c08b9f..000000000 --- a/docs/3/user-modes.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: v{{ version }} User Modes ---- - -## User Modes - -!!! note "" - This page documents user modes. For channel modes see [the channel mode page](/{{ version }}/channel-modes). - -{% include "3/_mode_types_table.md" %} - -### Core - -Core user modes are user modes which are always available. For details on the user modes provided by modules, see the modules section below. - -Name | Character | Type | Parameter Syntax | Usable By | Description ---------- | --------- | --------- | ----------------- | ---------------- | ----------- -invisible | i | Switch | *None* | Anyone | Marks the user as invisible. -oper | o | Switch | *None* | Server operators | Marks the user as a server operator (can only be set by the server). -snomask | s | Parameter | `(+|-)<snomasks>` | Server operators | Enables receiving the specified types of [server operator notice](/{{ version }}/snomasks). -wallops | w | Switch | *None* | Anyone | Enables receiving `/WALLOPS` messages from server operators. - -#### Example Usage - -Enables snomasks `l` (LINK) and `L` (REMOTELINK) and disables snomask `d` (DEBUG): - -```plaintext -/MODE YourNick +s +lL-d -``` - -Enables all available snomasks: - -```plaintext -/MODE YourNick +s +* -``` - -Disables all enabled snomasks: - -```plaintext -/MODE YourNick -s -``` - -### Modules - -{% set modes = module_umodes %} -{% include "3/_modes_table.md" %} diff --git a/docs/3/user-modes.md b/docs/3/user-modes.md new file mode 120000 index 000000000..6cf4cf1ea --- /dev/null +++ b/docs/3/user-modes.md @@ -0,0 +1 @@ +../4/user-modes.md \ No newline at end of file diff --git a/docs/4/channel-modes.md b/docs/4/channel-modes.md deleted file mode 120000 index 2129ce59c..000000000 --- a/docs/4/channel-modes.md +++ /dev/null @@ -1 +0,0 @@ -../3/channel-modes.md \ No newline at end of file diff --git a/docs/4/channel-modes.md b/docs/4/channel-modes.md new file mode 100644 index 000000000..72e96648e --- /dev/null +++ b/docs/4/channel-modes.md @@ -0,0 +1,87 @@ +--- +title: v{{ version }} Channel Modes +--- + +## Channel Modes + +!!! note "" + This page documents channel modes. For user modes see [the user mode page](/{{ version }}/user-modes). + +{% include "3/_mode_types_table.md" %} + +### Core + +Core channel modes are channel modes which are always available. For details on the channel modes provided by modules, see the modules section below. + +Name | Character | Type | Parameter Syntax | Usable By | Description +---------- | --------- | --------- | ---------------- | ----------------- | ----------- +ban | b | List | `<mask>` | Channel operators | Bans users matching <mask> from joining the channel. +inviteonly | i | Switch | *None* | Channel operators | Prevents users from joining the channel without an invite. +key | k | ParamBoth | `<key>` | Channel operators | Prevents users from joining the channel who have not specified the <key> password. +limit | l | Parameter | `<count>` | Channel operators | Allows no more than <count> users to join the channel. +moderated | m | Switch | *None* | Channel operators | Prevents users without a prefix rank from messaging the channel. +noextmsg | n | Switch | *None* | Channel operators | Prevents users who are not in the channel from messaging the channel. +op | o | Prefix | `<nick>` | Channel operators | Grants channel operator status to <nick>. +private | p | Switch | *None* | Channel operators | Hides the channel in `/WHOIS` from people who are not a member. You probably want channel mode `s` (secret) rather than this. +secret | s | Switch | *None* | Channel operators | Hides the channel in `/WHOIS` and `/LIST` from people who are not a member. +topiclock | t | Switch | *None* | Channel operators | Prevents non-channel operators from changing the channel topic. +voice | v | Prefix | `<nick>` | Channel operators | Grants channel voice status to <nick>. + +#### Example Usage + +Bans users matching `*!*@example.com` from joining \#channel: + +```plaintext +/MODE #channel +b *!*@example.com +``` + +Sets the channel key for \#cheese to "cheddar": + +```plaintext +/MODE #cheese +k cheddar +``` + +Removes the channel key for \#cheese: + +```plaintext +/MODE #cheese -k cheddar +``` + +Limits \#channel to 100 users: + +```plaintext +/MODE #channel +l 100 +``` + +Grants channel operator status to Sadie in \#channel: + +```plaintext +/MODE #channel +o Sadie +``` + +Removes channel operator status from Sadie in \#channel: + +```plaintext +/MODE #channel -o Sadie +``` + +Grants channel voice status to Sadie in \#channel: + +```plaintext +/MODE #channel +v Sadie +``` + +Removes channel voice status from Sadie in \#channel: + +```plaintext +/MODE #channel -v Sadie +``` + +### Modules + +{% set modes = module_chmodes %} +{% include "3/_modes_table.md" %} + +### Configuration-defined modes + +Server administrators can also define custom prefix modes for channel privileges, such as channel modes `q` (founder), `a` (admin), or `h` (halfop), using the [customprefix](/{{ version }}/modules/customprefix) module. diff --git a/docs/4/commands/_admin.yml b/docs/4/commands/_admin.yml deleted file mode 120000 index 6ea26cbdc..000000000 --- a/docs/4/commands/_admin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_admin.yml \ No newline at end of file diff --git a/docs/4/commands/_admin.yml b/docs/4/commands/_admin.yml new file mode 100644 index 000000000..37d30ef9c --- /dev/null +++ b/docs/4/commands/_admin.yml @@ -0,0 +1,16 @@ +name: ADMIN +syntax: >- + [<server>] +description: |- + Requests the contact details for the administrator of the specified server. + + If `<server>` is not specified then it defaults to the local server. +example: +- description: |- + Requests the contact details for the local server administrator + text: |- + /ADMIN +- description: |- + Requests the contact details for the server administrator of irc.example.com + text: |- + /ADMIN irc.example.com diff --git a/docs/4/commands/_away.yml b/docs/4/commands/_away.yml deleted file mode 120000 index 3603ca857..000000000 --- a/docs/4/commands/_away.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_away.yml \ No newline at end of file diff --git a/docs/4/commands/_away.yml b/docs/4/commands/_away.yml new file mode 100644 index 000000000..47656e95d --- /dev/null +++ b/docs/4/commands/_away.yml @@ -0,0 +1,16 @@ +name: AWAY +syntax: >- + [<message>] +description: |- + If `<message>` is specified marks yourself as being away with the specified message. + + Otherwise, marks yourself as being no longer away. +example: +- description: |- + Marks yourself away with the message "Washing my hair" + text: |- + /AWAY :Washing my hair +- description: |- + Marks yourself as no longer being away + text: |- + /AWAY diff --git a/docs/4/commands/_commands.yml b/docs/4/commands/_commands.yml deleted file mode 120000 index f978b15e6..000000000 --- a/docs/4/commands/_commands.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_commands.yml \ No newline at end of file diff --git a/docs/4/commands/_commands.yml b/docs/4/commands/_commands.yml new file mode 100644 index 000000000..4a74cd2d5 --- /dev/null +++ b/docs/4/commands/_commands.yml @@ -0,0 +1,4 @@ +name: COMMANDS +syntax: "" +description: |- + Lists all commands that exist on the local server. diff --git a/docs/4/commands/_die.yml b/docs/4/commands/_die.yml deleted file mode 120000 index fbab7ae76..000000000 --- a/docs/4/commands/_die.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_die.yml \ No newline at end of file diff --git a/docs/4/commands/_die.yml b/docs/4/commands/_die.yml new file mode 100644 index 000000000..3caaa022d --- /dev/null +++ b/docs/4/commands/_die.yml @@ -0,0 +1,11 @@ +name: DIE +oper_only: true +syntax: >- + <server> +description: |- + Shuts down the local server. The `<server>` parameter MUST match the name of the local server. +example: +- description: |- + Shuts down the local server + text: |- + /DIE irc2.example.com diff --git a/docs/4/commands/_eline.yml b/docs/4/commands/_eline.yml deleted file mode 120000 index 10db80631..000000000 --- a/docs/4/commands/_eline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_eline.yml \ No newline at end of file diff --git a/docs/4/commands/_eline.yml b/docs/4/commands/_eline.yml new file mode 100644 index 000000000..520e6ac00 --- /dev/null +++ b/docs/4/commands/_eline.yml @@ -0,0 +1,21 @@ +name: ELINE +oper_only: true +syntax: >- + <ident@host>[,<ident@host>]+ [<duration> <reason>] +description: |- + If `<duration>` and `<reason>` are specified then exempts an ident@host mask from being affected by other (G, K, Z, etc) X-lines. The `<duration>` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the E-line will be permanent. + + Otherwise, if just `<ident@host>` is specified, removes an exemption on an ident@host mask. +example: +- description: |- + E-lines sadie@example.com for one day with the reason "Testing" + text: |- + /ELINE sadie@example.com 1d :Testing +- description: |- + E-lines sadie@example.com for one day with the reason "Testing" + text: |- + /ELINE sadie@example.com 86400 :Testing +- description: |- + Removes an E-line on sadie@example.com + text: |- + /ELINE sadie@example.com diff --git a/docs/4/commands/_gline.yml b/docs/4/commands/_gline.yml deleted file mode 120000 index 1dd6b2b61..000000000 --- a/docs/4/commands/_gline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_gline.yml \ No newline at end of file diff --git a/docs/4/commands/_gline.yml b/docs/4/commands/_gline.yml new file mode 100644 index 000000000..2103a1d1d --- /dev/null +++ b/docs/4/commands/_gline.yml @@ -0,0 +1,21 @@ +name: GLINE +oper_only: true +syntax: >- + <ident@host>[,<ident@host>]+ [<duration> <reason>] +description: |- + If `<duration>` and `<reason>` are specified then bans an ident@host mask from connecting to the network. The `<duration>` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the G-line will be permanent. + + Otherwise, if just `<ident@host>` is specified, removes a network-wide ban on an ident@host mask. +example: +- description: |- + G-lines sadie@example.com for one day with the reason "Testing" + text: |- + /GLINE sadie@example.com 1d :Testing +- description: |- + G-lines sadie@example.com for one day with the reason "Testing" + text: |- + /GLINE sadie@example.com 86400 :Testing +- description: |- + Removes a G-line on sadie@example.com + text: |- + /GLINE sadie@example.com diff --git a/docs/4/commands/_info.yml b/docs/4/commands/_info.yml deleted file mode 120000 index 90526440a..000000000 --- a/docs/4/commands/_info.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_info.yml \ No newline at end of file diff --git a/docs/4/commands/_info.yml b/docs/4/commands/_info.yml new file mode 100644 index 000000000..58278e9dd --- /dev/null +++ b/docs/4/commands/_info.yml @@ -0,0 +1,4 @@ +name: INFO +syntax: "" +description: |- + Requests information on the developers and supporters who made the creation and continued development of this IRC server possible. diff --git a/docs/4/commands/_invite.yml b/docs/4/commands/_invite.yml deleted file mode 120000 index ca6ddc3b2..000000000 --- a/docs/4/commands/_invite.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_invite.yml \ No newline at end of file diff --git a/docs/4/commands/_invite.yml b/docs/4/commands/_invite.yml new file mode 100644 index 000000000..c1aa93f7d --- /dev/null +++ b/docs/4/commands/_invite.yml @@ -0,0 +1,26 @@ +name: INVITE +syntax: >- + [<nick> <channel> [<duration>]] +description: |- + If `<nick>` and `<channel>` are specified then sends an invite to `<nick>` inviting them to join `<channel>`. + + If `<duration>` is specified then the invite will expire after the specified duration passes. This duration can be given as a number of seconds or as a duration in the format 1y2w3d4h5m6s. + + Otherwise, if no parameters are specified, then lists the invites which you have been sent that haven't been acted on yet. +example: +- description: |- + Lists all pending invites that you have been sent + text: |- + /INVITE +- description: |- + Invites Sadie to #example + text: |- + /INVITE Sadie #example +- description: |- + Invites Sadie to #example with a five minute invite expiry + text: |- + /INVITE Sadie #example 5m +- description: |- + Invites Sadie to #example with a five minute invite expiry + text: |- + /INVITE Sadie #example 300 diff --git a/docs/4/commands/_ison.yml b/docs/4/commands/_ison.yml deleted file mode 120000 index 351232e21..000000000 --- a/docs/4/commands/_ison.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_ison.yml \ No newline at end of file diff --git a/docs/4/commands/_ison.yml b/docs/4/commands/_ison.yml new file mode 100644 index 000000000..57bd97aa1 --- /dev/null +++ b/docs/4/commands/_ison.yml @@ -0,0 +1,10 @@ +name: ISON +syntax: >- + <nick> [<nick>]+ +description: |- + Determines whether the specified nicknames are currently connected to the network. +example: +- description: |- + Checks whether Adam, Attila, and Sadie are currently connected to the network + text: |- + /ISON Adam Attila Sadie diff --git a/docs/4/commands/_join.yml b/docs/4/commands/_join.yml deleted file mode 120000 index 7ae76064a..000000000 --- a/docs/4/commands/_join.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_join.yml \ No newline at end of file diff --git a/docs/4/commands/_join.yml b/docs/4/commands/_join.yml new file mode 100644 index 000000000..f59d4f1d2 --- /dev/null +++ b/docs/4/commands/_join.yml @@ -0,0 +1,18 @@ +name: JOIN +syntax: >- + <channel>[,<channel>]+ [<key>][,[<key>]+] +description: |- + Joins one or more channels using the specified channel keys if required. +example: +- description: |- + Joins #channel + text: |- + /JOIN #channel +- description: |- + Joins #channel with the key hunter2 + text: |- + /JOIN #channel hunter2 +- description: |- + Joins #channel-one with no key and #channel-two with the key hunter2 + text: |- + /JOIN #channel-one,#channel-two ,hunter2 diff --git a/docs/4/commands/_kick.yml b/docs/4/commands/_kick.yml deleted file mode 120000 index 49e173607..000000000 --- a/docs/4/commands/_kick.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_kick.yml \ No newline at end of file diff --git a/docs/4/commands/_kick.yml b/docs/4/commands/_kick.yml new file mode 100644 index 000000000..07952e333 --- /dev/null +++ b/docs/4/commands/_kick.yml @@ -0,0 +1,20 @@ +name: KICK +syntax: >- + <channel> <nick>[,<nick>]+ [<reason>] +description: |- + Kicks one or more users from the specified channel. + + You must be at least a channel half-operator, or channel operator if that channel mode is not enabled, and must be an equal or higher rank to the user you are kicking. +example: +- description: |- + Kicks Soni from #channel with no reason + text: |- + /KICK #channel Soni +- description: |- + Kicks Soni from #channel + text: |- + /KICK #channel Soni :Disruptive behaviour is not allowed +- description: |- + Kicks opal and Soni from #channel + text: |- + /KICK #channel opal,Soni :Disruptive behaviour is not allowed diff --git a/docs/4/commands/_kill.yml b/docs/4/commands/_kill.yml deleted file mode 120000 index 465d42b20..000000000 --- a/docs/4/commands/_kill.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_kill.yml \ No newline at end of file diff --git a/docs/4/commands/_kill.yml b/docs/4/commands/_kill.yml new file mode 100644 index 000000000..21a0f476b --- /dev/null +++ b/docs/4/commands/_kill.yml @@ -0,0 +1,15 @@ +name: KILL +oper_only: true +syntax: >- + <nick>[,<nick>]+ <reason> +description: |- + Forcibly disconnects one or more specified users from the network with the specified reason. +example: +- description: |- + Forcibly disconnects opal from the network + text: |- + /KILL opal :Disruptive behaviour is not allowed +- description: |- + Forcibly disconnects Soni and opal from the network + text: |- + /KILL Soni,opal :Disruptive behaviour is not allowed diff --git a/docs/4/commands/_kline.yml b/docs/4/commands/_kline.yml deleted file mode 120000 index d39b07e94..000000000 --- a/docs/4/commands/_kline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_kline.yml \ No newline at end of file diff --git a/docs/4/commands/_kline.yml b/docs/4/commands/_kline.yml new file mode 100644 index 000000000..53b326411 --- /dev/null +++ b/docs/4/commands/_kline.yml @@ -0,0 +1,21 @@ +name: KLINE +oper_only: true +syntax: >- + <ident@host>[,<ident@host>]+ [<duration> <reason>] +description: |- + If `<duration>` and `<reason>` are specified then bans an ident@host mask from connecting to the local server. The `<duration>` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the K-line will be permanent. + + Otherwise, if just `<ident@host>` is specified, removes a local server ban on an ident@host mask. +example: +- description: |- + K-lines sadie@example.com for one day with the reason "Testing" + text: |- + /KLINE sadie@example.com 1d :Testing +- description: |- + K-lines sadie@example.com for one day with the reason "Testing" + text: |- + /KLINE sadie@example.com 86400 :Testing +- description: |- + Removes a K-line on sadie@example.com + text: |- + /KLINE sadie@example.com diff --git a/docs/4/commands/_list.yml b/docs/4/commands/_list.yml deleted file mode 120000 index 66bfe3666..000000000 --- a/docs/4/commands/_list.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_list.yml \ No newline at end of file diff --git a/docs/4/commands/_list.yml b/docs/4/commands/_list.yml new file mode 100644 index 000000000..a7faf902b --- /dev/null +++ b/docs/4/commands/_list.yml @@ -0,0 +1,54 @@ +name: LIST +syntax: >- + [(>|<)<count>|C(>|<)<minutes>|T(>|<)<minutes>|[!]<pattern>]+ +description: |- + Lists all channels visible to the requesting user which match the specified criteria. If no criteria is specified then all visible channels are listed. + + If `><count>` is specified then only lists channels which contain more than `<count>` users. + + If `<<count>` is specified then only lists channels which contain less than `<count>` users. + + If `C><minutes>` is specified then only lists channels which were created more than `<minutes>` minutes ago. + + If `C<<minutes>` is specified then only lists channels which were created less than `<minutes>` minutes ago. + + If `T><minutes>` is specified then only lists channels which have had the topic changed more than `<minutes>` minutes ago. + + If `T<<minutes>` is specified then only lists channels which have had the topic changed less than `<minutes>` minutes ago. + + If `<pattern>` is specified then only lists channels with a name or a topic matching `<pattern>`. + + If `!<pattern>` is specified then only lists channels with a name or a topic not matching `<pattern>`. +example: +- description: |- + Lists channels with more than five users + text: |- + /LIST >5 +- description: |- + Lists channels with less than five users + text: |- + /LIST <5 +- description: |- + Lists channels which were created more than ten minutes ago + text: |- + /LIST C>10 +- description: |- + Lists channels which were created less than ten minutes ago + text: |- + /LIST C<10 +- description: |- + Lists channels which had the topic changed more than ten minutes ago + text: |- + /LIST T>10 +- description: |- + Lists channels which had the topic changed less than ten minutes ago + text: |- + /LIST T<10 +- description: |- + Lists all channels with a name or topic matching `*support*` + text: |- + /LIST *support* +- description: |- + Lists all channels with a name or topic not matching `*support*` + text: |- + /LIST !*support* diff --git a/docs/4/commands/_loadmodule.yml b/docs/4/commands/_loadmodule.yml deleted file mode 120000 index 54452815a..000000000 --- a/docs/4/commands/_loadmodule.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_loadmodule.yml \ No newline at end of file diff --git a/docs/4/commands/_loadmodule.yml b/docs/4/commands/_loadmodule.yml new file mode 100644 index 000000000..75a800994 --- /dev/null +++ b/docs/4/commands/_loadmodule.yml @@ -0,0 +1,11 @@ +name: LOADMODULE +oper_only: true +syntax: >- + <module> +description: |- + Loads the specified module on the local server. +example: +- description: |- + Loads the botmode module + text: |- + /LOADMODULE botmode diff --git a/docs/4/commands/_lusers.yml b/docs/4/commands/_lusers.yml deleted file mode 120000 index ad1430648..000000000 --- a/docs/4/commands/_lusers.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_lusers.yml \ No newline at end of file diff --git a/docs/4/commands/_lusers.yml b/docs/4/commands/_lusers.yml new file mode 100644 index 000000000..f220a96b1 --- /dev/null +++ b/docs/4/commands/_lusers.yml @@ -0,0 +1,4 @@ +name: LUSERS +syntax: "" +description: |- + Requests information about the current and total number of servers, server operators, and users. diff --git a/docs/4/commands/_mode.yml b/docs/4/commands/_mode.yml deleted file mode 120000 index d1ffbaf8a..000000000 --- a/docs/4/commands/_mode.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_mode.yml \ No newline at end of file diff --git a/docs/4/commands/_mode.yml b/docs/4/commands/_mode.yml new file mode 100644 index 000000000..13070369f --- /dev/null +++ b/docs/4/commands/_mode.yml @@ -0,0 +1,44 @@ +name: MODE +syntax: >- + <channel>|<user> <modes> [<parameters>]+ +description: |- + Changes the modes which are set on a channel or a user. + + For a list of modes see the [channel modes](/{{ version }}/channel-modes) and [user modes](/{{ version }}/user-modes) pages. +example: +- description: |- + Sets: + + 1. Channel mode `n` (noextmsg). + 2. Channel parameter-set mode `k` (key) with the value "s3cr3t". + 3. Channel parameter mode `l` (limit) with the value "100". + 4. Channel prefix mode `o` (op) with the user "Sadie". + skip_colon: true + text: |- + /MODE #channel +nklo s3cr3t 100 Sadie +- description: |- + Unsets: + + 1. Channel mode `n` (noextmsg). + 2. Channel parameter-set mode `k` (key) with the value "s3cr3t". + 3. Channel parameter mode `l` (limit). + 4. Channel prefix mode `o` (op) with the user "Sadie". + skip_colon: true + text: |- + /MODE #channel -nklo s3cr3t Sadie +- description: |- + Sets: + + 1. User mode `w` (wallops). + 2. User parameter mode `s` (snomask) with the value "*". + skip_colon: true + text: |- + /MODE Sadie +ws * +- description: |- + Unsets: + + 1. User mode `w` (wallops). + 2. User parameter mode `s` (snomask). + skip_colon: true + text: |- + /MODE Sadie -ws diff --git a/docs/4/commands/_modules.yml b/docs/4/commands/_modules.yml deleted file mode 120000 index 0576e8119..000000000 --- a/docs/4/commands/_modules.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_modules.yml \ No newline at end of file diff --git a/docs/4/commands/_modules.yml b/docs/4/commands/_modules.yml new file mode 100644 index 000000000..2042789af --- /dev/null +++ b/docs/4/commands/_modules.yml @@ -0,0 +1,4 @@ +name: MODULES +syntax: "" +description: |- + Lists all modules which are loaded on the local server. diff --git a/docs/4/commands/_motd.yml b/docs/4/commands/_motd.yml deleted file mode 120000 index 4704d0f8b..000000000 --- a/docs/4/commands/_motd.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_motd.yml \ No newline at end of file diff --git a/docs/4/commands/_motd.yml b/docs/4/commands/_motd.yml new file mode 100644 index 000000000..612692c7a --- /dev/null +++ b/docs/4/commands/_motd.yml @@ -0,0 +1,16 @@ +name: MOTD +syntax: >- + [<server>] +description: |- + If `<server>` is specified then requests the message of the day for the specified server. + + Otherwise, requests the message of the day for the local server. +example: +- description: |- + Requests the MOTD for the local server + text: |- + /MOTD +- description: |- + Requests the MOTD for irc2.example.com + text: |- + /MOTD irc2.example.com diff --git a/docs/4/commands/_names.yml b/docs/4/commands/_names.yml deleted file mode 120000 index f281512ee..000000000 --- a/docs/4/commands/_names.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_names.yml \ No newline at end of file diff --git a/docs/4/commands/_names.yml b/docs/4/commands/_names.yml new file mode 100644 index 000000000..00d29f7a3 --- /dev/null +++ b/docs/4/commands/_names.yml @@ -0,0 +1,10 @@ +name: NAMES +syntax: >- + [<channel>[,<channel>]+] +description: |- + Requests a list of users who are in the specified channels. +example: +- description: |- + Requests a list of users on channels #one and #two + text: |- + /NAMES #one,#two diff --git a/docs/4/commands/_nick.yml b/docs/4/commands/_nick.yml deleted file mode 120000 index 81baafaa1..000000000 --- a/docs/4/commands/_nick.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_nick.yml \ No newline at end of file diff --git a/docs/4/commands/_nick.yml b/docs/4/commands/_nick.yml new file mode 100644 index 000000000..4aa7e7ce2 --- /dev/null +++ b/docs/4/commands/_nick.yml @@ -0,0 +1,16 @@ +name: NICK +syntax: >- + <nick> +description: |- + Changes your nickname to `<nick>`. + + You may also change your nick to your UUID by specifying a nickname of "0". +example: +- description: |- + Changes your nick to Sadie + text: |- + /NICK Sadie +- description: |- + Changes your nick to your UUID + text: |- + /NICK 0 diff --git a/docs/4/commands/_notice.yml b/docs/4/commands/_notice.yml deleted file mode 120000 index 15ed2a9c4..000000000 --- a/docs/4/commands/_notice.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_notice.yml \ No newline at end of file diff --git a/docs/4/commands/_notice.yml b/docs/4/commands/_notice.yml new file mode 100644 index 000000000..fee014037 --- /dev/null +++ b/docs/4/commands/_notice.yml @@ -0,0 +1,18 @@ +name: NOTICE +syntax: >- + <target>[,<target>]+ <message> +description: |- + Sends a notice to the targets specified in `<target>`. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege). +example: +- description: |- + Sends a notice to #channel saying "Hello!" + text: |- + /NOTICE #channel :Hello! +- description: |- + Sends a notice to Sadie saying "Hello!" + text: |- + /NOTICE Sadie :Hello! +- description: |- + Sends a notice to all users on servers matching the glob pattern `*.example.com` saying "Hello!" + text: |- + /NOTICE $*.example.com :Hello! diff --git a/docs/4/commands/_oper.yml b/docs/4/commands/_oper.yml deleted file mode 120000 index 21d5c1463..000000000 --- a/docs/4/commands/_oper.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_oper.yml \ No newline at end of file diff --git a/docs/4/commands/_oper.yml b/docs/4/commands/_oper.yml new file mode 100644 index 000000000..21167f0bc --- /dev/null +++ b/docs/4/commands/_oper.yml @@ -0,0 +1,10 @@ +name: OPER +syntax: >- + <name> <password> +description: |- + Logs into a server operator account with the specified name and password. +example: +- description: |- + Logs into the server operator account "AzureDiamond" with the password "hunter2" + text: |- + /OPER AzureDiamond hunter2 diff --git a/docs/4/commands/_part.yml b/docs/4/commands/_part.yml deleted file mode 120000 index 0a525c82f..000000000 --- a/docs/4/commands/_part.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_part.yml \ No newline at end of file diff --git a/docs/4/commands/_part.yml b/docs/4/commands/_part.yml new file mode 100644 index 000000000..9e9b0e5a5 --- /dev/null +++ b/docs/4/commands/_part.yml @@ -0,0 +1,22 @@ +name: PART +syntax: >- + <channel>[,<channel>]+ [<reason>] +description: |- + Leaves one or more channels. If `<reason>` is specified then it will be used as the message shown when parting. +example: +- description: |- + Leaves \#channel with no reason + text: |- + /PART #channel +- description: |- + Leaves \#channel-one and \#channel-two with no reason + text: |- + /PART #channel-one,#channel-two +- description: |- + Leaves \#channel with the reason "Going to bed" + text: |- + /PART #channel :Going to bed +- description: |- + Leaves \#channel-one and \#channel-two with the reason "Going to bed" + text: |- + /PART #channel-one,#channel-two :Going to bed diff --git a/docs/4/commands/_pass.yml b/docs/4/commands/_pass.yml deleted file mode 120000 index 6b47f1496..000000000 --- a/docs/4/commands/_pass.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_pass.yml \ No newline at end of file diff --git a/docs/4/commands/_pass.yml b/docs/4/commands/_pass.yml new file mode 100644 index 000000000..719f83678 --- /dev/null +++ b/docs/4/commands/_pass.yml @@ -0,0 +1,10 @@ +name: PASS +syntax: >- + <password> +description: |- + Specifies the password used to log in to the local server. +example: +- description: |- + Specifies "hunter2" as the local server password + text: |- + /PASS hunter2 diff --git a/docs/4/commands/_ping.yml b/docs/4/commands/_ping.yml deleted file mode 120000 index 20485c589..000000000 --- a/docs/4/commands/_ping.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_ping.yml \ No newline at end of file diff --git a/docs/4/commands/_ping.yml b/docs/4/commands/_ping.yml new file mode 100644 index 000000000..0b077bd2e --- /dev/null +++ b/docs/4/commands/_ping.yml @@ -0,0 +1,14 @@ +name: PING +syntax: >- + <cookie> [<server>] +description: |- + Pings `<server>` with the specified `<cookie>`. If `<server>` is not specified then it defaults to the local server. +example: +- description: |- + Pings the local server with the cookie "wibble" + text: |- + /PING wibble +- description: |- + Pings `irc2.example.com` with the cookie "wobble" + text: |- + /PING wobble irc2.example.com diff --git a/docs/4/commands/_pong.yml b/docs/4/commands/_pong.yml deleted file mode 120000 index 384947295..000000000 --- a/docs/4/commands/_pong.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_pong.yml \ No newline at end of file diff --git a/docs/4/commands/_pong.yml b/docs/4/commands/_pong.yml new file mode 100644 index 000000000..7f4e325e8 --- /dev/null +++ b/docs/4/commands/_pong.yml @@ -0,0 +1,14 @@ +name: PONG +syntax: >- + <cookie> [<server>] +description: |- + Responds to a ping from `<server>` with the specified `<cookie>`. If `<server>` is not specified then it defaults to the local server. +example: +- description: |- + Responds to a ping from the local server with the cookie "wibble" + text: |- + /PONG wibble +- description: |- + Responds to a ping from `irc2.example.com` with the cookie "wobble" + text: |- + /PONG wobble irc2.example.com diff --git a/docs/4/commands/_privmsg.yml b/docs/4/commands/_privmsg.yml deleted file mode 120000 index 525f4c59d..000000000 --- a/docs/4/commands/_privmsg.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_privmsg.yml \ No newline at end of file diff --git a/docs/4/commands/_privmsg.yml b/docs/4/commands/_privmsg.yml new file mode 100644 index 000000000..d697f2f9c --- /dev/null +++ b/docs/4/commands/_privmsg.yml @@ -0,0 +1,18 @@ +name: PRIVMSG +syntax: >- + <target>[,<target>]+ <message> +description: |- + Sends a message to the targets specified in `<target>`. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege). +example: +- description: |- + Sends a message to #channel saying "Hello!" + text: |- + /PRIVMSG #channel :Hello! +- description: |- + Sends a message to Sadie saying "Hello!" + text: |- + /PRIVMSG Sadie :Hello! +- description: |- + Sends a message to all users on servers matching the glob pattern `*.example.com` saying "Hello!" + text: |- + /PRIVMSG $*.example.com :Hello! diff --git a/docs/4/commands/_qline.yml b/docs/4/commands/_qline.yml deleted file mode 120000 index 9a2558c39..000000000 --- a/docs/4/commands/_qline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_qline.yml \ No newline at end of file diff --git a/docs/4/commands/_qline.yml b/docs/4/commands/_qline.yml new file mode 100644 index 000000000..adb56ad11 --- /dev/null +++ b/docs/4/commands/_qline.yml @@ -0,0 +1,21 @@ +name: QLINE +oper_only: true +syntax: >- + <nick>[,<nick>]+ [<duration> <reason>] +description: |- + If `<duration>` and `<reason>` are specified then prevents a nickname from being used. The `<duration>` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Q-line will be permanent. + + Otherwise, if just `<nick>` is specified, removes a reservation on a nickname. +example: +- description: |- + Q-lines Adam for one day with the reason "Testing" + text: |- + /QLINE Adam 1d :Testing +- description: |- + Q-lines Sadie for one day with the reason "Testing" + text: |- + /QLINE Sadie 86400 :Testing +- description: |- + Removes a Q-line on Adam + text: |- + /QLINE Adam diff --git a/docs/4/commands/_quit.yml b/docs/4/commands/_quit.yml deleted file mode 120000 index df4eb79cd..000000000 --- a/docs/4/commands/_quit.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_quit.yml \ No newline at end of file diff --git a/docs/4/commands/_quit.yml b/docs/4/commands/_quit.yml new file mode 100644 index 000000000..3077a23ee --- /dev/null +++ b/docs/4/commands/_quit.yml @@ -0,0 +1,14 @@ +name: QUIT +syntax: >- + [<message>] +description: |- + Disconnects from the local server. If `<message>` is specified then it will be used as the message shown when quitting. Otherwise, "Client exited" will be used. +example: +- description: |- + Quits with "Client exited" as the quit message + text: |- + /QUIT +- description: |- + Quits with "Time for bed" as the reason + text: |- + /QUIT :Time for bed diff --git a/docs/4/commands/_rehash.yml b/docs/4/commands/_rehash.yml deleted file mode 120000 index fd9f08b75..000000000 --- a/docs/4/commands/_rehash.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_rehash.yml \ No newline at end of file diff --git a/docs/4/commands/_rehash.yml b/docs/4/commands/_rehash.yml new file mode 100644 index 000000000..7a7aabcd3 --- /dev/null +++ b/docs/4/commands/_rehash.yml @@ -0,0 +1,25 @@ +name: REHASH +oper_only: true +syntax: >- + <server>|-<type> +description: |- + Reloads the server configuration. + + If `<type>` is specified then a specific module is rehashed on the local server. + + If `<server>` is specified then the specified server's configuration is reloaded. + + Otherwise, if no parameters are specified, the local server's configuration is reloaded. +example: +- description: |- + Reloads the local server configuration + text: |- + /REHASH +- description: |- + Reloads the server configuration for remote.example.com + text: |- + /REHASH remote.example.com +- description: |- + Reloads the TLS (SSL) certificates (requires [the sslinfo module](/{{ version }}/modules/sslinfo)) + text: |- + /REHASH -ssl diff --git a/docs/4/commands/_reloadmodule.yml b/docs/4/commands/_reloadmodule.yml deleted file mode 120000 index 7d0435e24..000000000 --- a/docs/4/commands/_reloadmodule.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_reloadmodule.yml \ No newline at end of file diff --git a/docs/4/commands/_reloadmodule.yml b/docs/4/commands/_reloadmodule.yml new file mode 100644 index 000000000..281ef3146 --- /dev/null +++ b/docs/4/commands/_reloadmodule.yml @@ -0,0 +1,11 @@ +name: RELOADMODULE +oper_only: true +syntax: >- + <module> +description: |- + Reloads the specified module on the local server. +example: +- description: |- + Reloads the alias module + text: |- + /RELOADMODULE alias diff --git a/docs/4/commands/_restart.yml b/docs/4/commands/_restart.yml deleted file mode 120000 index 41b88d595..000000000 --- a/docs/4/commands/_restart.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_restart.yml \ No newline at end of file diff --git a/docs/4/commands/_restart.yml b/docs/4/commands/_restart.yml new file mode 100644 index 000000000..c99762ded --- /dev/null +++ b/docs/4/commands/_restart.yml @@ -0,0 +1,11 @@ +name: RESTART +oper_only: true +syntax: >- + <server> +description: |- + Restarts the local server. The `<server>` parameter MUST match the name of the local server. +example: +- description: |- + Restarts the local server + text: |- + /RESTART irc2.example.com diff --git a/docs/4/commands/_servlist.yml b/docs/4/commands/_servlist.yml deleted file mode 120000 index 70654b8e0..000000000 --- a/docs/4/commands/_servlist.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_servlist.yml \ No newline at end of file diff --git a/docs/4/commands/_servlist.yml b/docs/4/commands/_servlist.yml new file mode 100644 index 000000000..e32eeecd8 --- /dev/null +++ b/docs/4/commands/_servlist.yml @@ -0,0 +1,10 @@ +name: SERVLIST +syntax: >- + [<nick> [<oper-type>]] +description: |- + List network services that are currently connected to the network and visible to you. The optional glob-based nick and oper-type parameters match against the nickname of the network service and the oper type of the network service. +example: +- description: |- + Lists all visible network services with a nickname ending in "Serv" + text: |- + /SERVLIST *Serv diff --git a/docs/4/commands/_squery.yml b/docs/4/commands/_squery.yml deleted file mode 120000 index 3a3a61a69..000000000 --- a/docs/4/commands/_squery.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_squery.yml \ No newline at end of file diff --git a/docs/4/commands/_squery.yml b/docs/4/commands/_squery.yml new file mode 100644 index 000000000..b81f434d5 --- /dev/null +++ b/docs/4/commands/_squery.yml @@ -0,0 +1,10 @@ +name: SQUERY +syntax: >- + <target> <message> +description: |- + Sends a message to the service specified in `<target>`. This target must be on a U-lined server. +example: +- description: |- + Sends a message to NickServ saying "HELP" + text: |- + /SQUERY NickServ HELP diff --git a/docs/4/commands/_stats.yml b/docs/4/commands/_stats.yml deleted file mode 120000 index af815b9e9..000000000 --- a/docs/4/commands/_stats.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_stats.yml \ No newline at end of file diff --git a/docs/4/commands/_stats.yml b/docs/4/commands/_stats.yml new file mode 100644 index 000000000..40d1f2023 --- /dev/null +++ b/docs/4/commands/_stats.yml @@ -0,0 +1,45 @@ +name: STATS +syntax: >- + <character> [<server>] +description: |- + Requests the specified server statistics. + + If `<server>` is specified then requests the server statistics for the specified server. + + Otherwise, requests the server statistics for the local server. + + #### Statistics Characters + + This page only lists core statistics characters. Modules which provide additional characters will list the characters on the specific module page. + + Character | Description + --------- | ----------- + e | Show E-lines (global user@host ban exceptions). + g | Show G-lines (global user@host bans). + k | Show K-lines (local user@host bans). + q | Show Q-lines (global nick bans). + Z | Show Z-lines (global IP mask bans). + i | Show connect class permissions. + Y | Show connection classes. + l | Show all client connections with information (sendq, commands, bytes, time connected). + L | Show all client connections with information and IP address. + m | Show command statistics, number of times commands have been used. + o | Show a list of all valid oper usernames and hostmasks. + O | Show opertypes and the allowed user and channel modes it can set. + p | Show open client ports, and the port type (ssl, plaintext, etc). + P | Show online opers and their idle times. + u | Show server uptime. + z | Show memory usage statistics. + E | Show socket engine events. + T | Show bandwidth/socket statistics. + U | Show U-lined servers. + +example: +- description: |- + Requests `p` (ports) statistics for the local server + text: |- + /STATS p +- description: |- + Requests `p` (ports) statistics for the remote server irc.eu.example.com + text: |- + /STATS p irc.eu.example.com diff --git a/docs/4/commands/_time.yml b/docs/4/commands/_time.yml deleted file mode 120000 index 6e6031ed0..000000000 --- a/docs/4/commands/_time.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_time.yml \ No newline at end of file diff --git a/docs/4/commands/_time.yml b/docs/4/commands/_time.yml new file mode 100644 index 000000000..dbf3646dc --- /dev/null +++ b/docs/4/commands/_time.yml @@ -0,0 +1,16 @@ +name: TIME +syntax: >- + [<server>] +description: |- + If `<server>` is specified then requests the time on the specified server. + + Otherwise, requests the time on the local server. +example: +- description: |- + Requests the time on the local server + text: |- + /TIME +- description: |- + Requests the time on remote server irc.eu.example.com + text: |- + /STATS p irc.eu.example.com diff --git a/docs/4/commands/_topic.yml b/docs/4/commands/_topic.yml deleted file mode 120000 index 4fa2a3e5a..000000000 --- a/docs/4/commands/_topic.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_topic.yml \ No newline at end of file diff --git a/docs/4/commands/_topic.yml b/docs/4/commands/_topic.yml new file mode 100644 index 000000000..7248ce3b5 --- /dev/null +++ b/docs/4/commands/_topic.yml @@ -0,0 +1,16 @@ +name: TOPIC +syntax: >- + <channel> [<newtopic>] +description: |- + If `<newtopic>` is specified then changes the topic for `<channel>` to the specified value. + + Otherwise, requests the topic for the specified channel. +example: +- description: |- + Changes the topic for #trains to "choo choo" + text: |- + /TOPIC #trains :choo choo +- description: |- + Requests the topic for #trains + text: |- + /TOPIC #trains diff --git a/docs/4/commands/_unloadmodule.yml b/docs/4/commands/_unloadmodule.yml deleted file mode 120000 index 3d3feb5b5..000000000 --- a/docs/4/commands/_unloadmodule.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_unloadmodule.yml \ No newline at end of file diff --git a/docs/4/commands/_unloadmodule.yml b/docs/4/commands/_unloadmodule.yml new file mode 100644 index 000000000..a59b1e342 --- /dev/null +++ b/docs/4/commands/_unloadmodule.yml @@ -0,0 +1,11 @@ +name: UNLOADMODULE +oper_only: true +syntax: >- + <module> +description: |- + Unloads the specified module on the local server. +example: +- description: |- + Unloads the alias module + text: |- + /UNLOADMODULE alias diff --git a/docs/4/commands/_user.yml b/docs/4/commands/_user.yml deleted file mode 120000 index e77f7d3fb..000000000 --- a/docs/4/commands/_user.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_user.yml \ No newline at end of file diff --git a/docs/4/commands/_user.yml b/docs/4/commands/_user.yml new file mode 100644 index 000000000..50f6f252e --- /dev/null +++ b/docs/4/commands/_user.yml @@ -0,0 +1,10 @@ +name: USER +syntax: >- + <username> <unused> <unused> <realname> +description: |- + Specifies a username (ident) and real name (gecos) when connecting to the server. +example: +- description: |- + Specifies the username (ident) "jsmith" and the real name "John Smith <jsmith@example.com>" + text: |- + /USER jsmith * * :John Smith <jsmith@example.com> diff --git a/docs/4/commands/_userhost.yml b/docs/4/commands/_userhost.yml deleted file mode 120000 index 720791538..000000000 --- a/docs/4/commands/_userhost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_userhost.yml \ No newline at end of file diff --git a/docs/4/commands/_userhost.yml b/docs/4/commands/_userhost.yml new file mode 100644 index 000000000..013a28ede --- /dev/null +++ b/docs/4/commands/_userhost.yml @@ -0,0 +1,14 @@ +name: USERHOST +syntax: >- + <nick> [<nick>]+ +description: |- + Requests the hostname of the specified users. +example: +- description: |- + Requests the hostname of Adam + text: |- + /USERHOST Adam +- description: |- + Requests the hostname of Adam and Sadie + text: |- + /USERHOST Adam Sadie diff --git a/docs/4/commands/_version.yml b/docs/4/commands/_version.yml deleted file mode 120000 index 5a935de48..000000000 --- a/docs/4/commands/_version.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_version.yml \ No newline at end of file diff --git a/docs/4/commands/_version.yml b/docs/4/commands/_version.yml new file mode 100644 index 000000000..195e643cf --- /dev/null +++ b/docs/4/commands/_version.yml @@ -0,0 +1,16 @@ +name: VERSION +syntax: >- + [<server>] +description: |- + If `<server>` is specified then requests the version of the specified server. + + Otherwise, requests the version of the local server. +example: +- description: |- + Requests the version of the local server + text: |- + /VERSION +- description: |- + Requests the version of the remote server irc.eu.example.com + text: |- + /VERSION irc.eu.example.com diff --git a/docs/4/commands/_wallops.yml b/docs/4/commands/_wallops.yml deleted file mode 120000 index 781475958..000000000 --- a/docs/4/commands/_wallops.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_wallops.yml \ No newline at end of file diff --git a/docs/4/commands/_wallops.yml b/docs/4/commands/_wallops.yml new file mode 100644 index 000000000..fab6039e5 --- /dev/null +++ b/docs/4/commands/_wallops.yml @@ -0,0 +1,11 @@ +name: WALLOPS +oper_only: true +syntax: >- + <message> +description: |- + Sends a message to all users with user mode `w` (wallops) enabled: +example: +- description: |- + Sends "Rebooting for updates at 20:00 UTC" to all users with user mode `w` (wallops) enabled + text: |- + /WALLOPS :Rebooting for updates at 20:00 UTC diff --git a/docs/4/commands/_who.yml b/docs/4/commands/_who.yml deleted file mode 120000 index d3dc22f08..000000000 --- a/docs/4/commands/_who.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_who.yml \ No newline at end of file diff --git a/docs/4/commands/_who.yml b/docs/4/commands/_who.yml new file mode 100644 index 000000000..f651878ce --- /dev/null +++ b/docs/4/commands/_who.yml @@ -0,0 +1,54 @@ +name: WHO +syntax: >- + <pattern> [<flags>][%[<fields>[,<querytype>]]] <pattern> +description: |- + Requests information about users who match the specified condition. + + One or more of the following flags may be used: + + Character | Description + --------- | ----------- + A | Show users who have an away message matching `<pattern>`. + a | Show users who have an account name matching `<pattern>`. + d | Also show users who have been delay joined (requires [the delayjoin module](/{{ version }}/modules/delayjoin)). + f | Only show users on remote (far) servers. + G | Show users who are connecting from a country with an alpha-2 code matching `<pattern>` (requires [the geoban module](/{{ version }}/modules/geoban)). + h | Show users who have a hostname matching `<pattern>`. If the 'x' modifier is specified then this will match against the real hostname instead of the display hostname. + i | Show users who have an IP address matching `<pattern>`. + l | Only show users on the local server. + m | Show users who have the modes listed in `<pattern>`. The pattern should be in the same format as a mode change e.g. +ow-i (server operators only). + n | Show users who have a nickname matching `<pattern>`. + o | Only show server operators. + p | Show users who are connected to a port in the `<pattern>` range (server operators only). + r | Show users who have a real name matching `<pattern>`. + s | Show users who are on a server with a name matching `<pattern>`. If the 'x' modifier is specified then this will match against the real server name instead of the masked server name. + t | Show users who have connected in the last `<pattern>` seconds. + u | Show users who have an ident (username) matching `<pattern>`. + x | Show sensitive data like real user hostnames and, when hideserver is enabled, real server hostnames. + + One or more of the following fields may be used: + + Character | Description + --------- | ----------- + a | Include the user's account name in the response. + c | Include the first common channel name in the response. + d | Include the user's server distance from you in the response. + f | Include the user's away status, oper status, and highest channel prefix in the response. + h | Include the user's hostname in the response. If the 'x' flag was specified then this is the real host rather than the display host. + i | Include the user's IP address in the response. + l | Include the user's idle time in the response. + n | Include the user's nickname in the response. + o | Include the user's channel operator rank level in the response. + r | Include the user's real name in the response. + s | Include the user's server name in the response. If the 'x' flag was specified then this is the real server name rather than the masked servername. + t | Include the query type in the response. + u | Include the user's username in the response. +example: +- description: |- + Requests all users on the local server who have an away message matching `*brb*` + text: |- + /WHO *brb* Al +- description: |- + Requests the account name, hostname, and username of Sadie + text: |- + /WHO Sadie n%ahu diff --git a/docs/4/commands/_whois.yml b/docs/4/commands/_whois.yml deleted file mode 120000 index a785b502c..000000000 --- a/docs/4/commands/_whois.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_whois.yml \ No newline at end of file diff --git a/docs/4/commands/_whois.yml b/docs/4/commands/_whois.yml new file mode 100644 index 000000000..89ebbf72b --- /dev/null +++ b/docs/4/commands/_whois.yml @@ -0,0 +1,24 @@ +name: WHOIS +syntax: >- + [<server>] <nick>[,<nick>]+ +description: |- + Requests information about users who are currently connected with the specified nicks: + + If the `<server>` parameter is specified then only one `<nick>` can be specified and remote information will be fetched about the user if they are not on the local server. +example: +- description: |- + Requests locally available information about Adam + text: |- + /WHOIS Adam +- description: |- + Requests remotely available information about Adam by specifying the server they're on + text: |- + /WHOIS irc.example.com Adam +- description: |- + Requests remotely available information about Adam by repeating their nick + text: |- + /WHOIS Adam Adam +- description: |- + Requests locally available information about Adam and Sadie + text: |- + /WHOIS Adam,Sadie diff --git a/docs/4/commands/_whowas.yml b/docs/4/commands/_whowas.yml deleted file mode 120000 index ee270d7a5..000000000 --- a/docs/4/commands/_whowas.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_whowas.yml \ No newline at end of file diff --git a/docs/4/commands/_whowas.yml b/docs/4/commands/_whowas.yml new file mode 100644 index 000000000..457a1c9c9 --- /dev/null +++ b/docs/4/commands/_whowas.yml @@ -0,0 +1,12 @@ +name: WHOWAS +syntax: >- + <nick> [<count>] +description: |- + Requests information about a user who was previously connected with the specified nick. + + If `<count>` is given, only return the `<count>` most recent entries. +example: +- description: |- + Requests information about who previously used the nick Adam + text: |- + /WHOWAS Adam diff --git a/docs/4/commands/_zline.yml b/docs/4/commands/_zline.yml deleted file mode 120000 index 9233efe91..000000000 --- a/docs/4/commands/_zline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/_zline.yml \ No newline at end of file diff --git a/docs/4/commands/_zline.yml b/docs/4/commands/_zline.yml new file mode 100644 index 000000000..ae8560ed1 --- /dev/null +++ b/docs/4/commands/_zline.yml @@ -0,0 +1,21 @@ +name: ZLINE +oper_only: true +syntax: >- + <ipaddr>[,<ipaddr>]+ [<duration> <reason>] +description: |- + If `<duration>` and `<reason>` are specified then bans an IP address or CIDR range from connecting to the network. The `<duration>` may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Z-line will be permanent. + + Otherwise, if just `<ipaddr>` is specified, removes a network-wide ban on an IP address. +example: +- description: |- + Z-lines 192.0.2.1 for one day with the reason "Testing" + text: |- + /ZLINE 192.0.2.1 1d :Testing +- description: |- + Z-lines 192.0.2.0/24 for one day with the reason "Testing" + text: |- + /ZLINE 192.0.2.0/24 86400 :Testing +- description: |- + Removes a Z-line on 192.0.2.1 + text: |- + /ZLINE 192.0.2.1 diff --git a/docs/4/commands/index.md b/docs/4/commands/index.md deleted file mode 120000 index 085066425..000000000 --- a/docs/4/commands/index.md +++ /dev/null @@ -1 +0,0 @@ -../../3/commands/index.md \ No newline at end of file diff --git a/docs/4/commands/index.md b/docs/4/commands/index.md new file mode 100644 index 000000000..1853e3aa4 --- /dev/null +++ b/docs/4/commands/index.md @@ -0,0 +1,42 @@ +--- +title: v{{ version }} Commands +--- + +## Commands + +This page only lists core commands. For details on the commands of a specific module please refer to [the appropriate page for that module](/{{ version }}/modules). + +{% for cmd in core_commands -%} +### `/{{ cmd.name }} {{ cmd.syntax }}` + +<class id="{{ cmd.name.lower() }}"></class> + +{{ cmd.description }} + +{% if cmd.oper_only %} +This command is only usable by server operators with `{{ cmd.name }}` in [one of their `<class>` blocks](/{{ version }}/configuration/#class). +{% endif %} + +{% if cmd.example %} +#### Example Usage + +{% for example in cmd.example %} + +{% if example.note %} +<div class="admonition note" markdown="1"> +{{ example.note }} +</div> +{% endif %} + +{% if example.description %} +{% if example.added %}<a href="/{{ example.added | first }}/change-log/#inspircd-{{ example.added | replace(".", "") }}"><strong>New in v{{ example.added }}!</strong></a> {% endif %}{{ example.description }}{% if not example.skip_colon %}:{% endif %} +{% endif %} + +```plaintext +{{ example.text }} +``` + +{% endfor %} +{% endif %} + +{% endfor %} diff --git a/docs/4/configuration/_badhost.yml b/docs/4/configuration/_badhost.yml deleted file mode 120000 index 5f2268b45..000000000 --- a/docs/4/configuration/_badhost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_badhost.yml \ No newline at end of file diff --git a/docs/4/configuration/_badhost.yml b/docs/4/configuration/_badhost.yml new file mode 100644 index 000000000..87ea80353 --- /dev/null +++ b/docs/4/configuration/_badhost.yml @@ -0,0 +1,22 @@ +name: badhost +description: |- + The `<badhost>` tag defines a permanent K-line. This tag can be defined as many times as required. +attributes: +- name: host + type: Text + required: true + default: null + description: |- + A user@host to K-line. +- name: reason + type: Text + required: true + default: null + description: |- + The reason for the K-line being added. +details: "" +example: |- + ```xml + <badhost host="*@example.com" + reason="Spamming"> + ``` diff --git a/docs/4/configuration/_badip.yml b/docs/4/configuration/_badip.yml deleted file mode 120000 index a153e85b6..000000000 --- a/docs/4/configuration/_badip.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_badip.yml \ No newline at end of file diff --git a/docs/4/configuration/_badip.yml b/docs/4/configuration/_badip.yml new file mode 100644 index 000000000..86146edef --- /dev/null +++ b/docs/4/configuration/_badip.yml @@ -0,0 +1,22 @@ +name: badip +description: |- + The `<badip>` tag defines a permanent Z-line. This tag can be defined as many times as required. +attributes: +- name: ipmask + type: Text + required: true + default: null + description: |- + An IP address to Z-line. +- name: reason + type: Text + required: true + default: null + description: |- + The reason for the Z-line being added. +details: "" +example: |- + ```xml + <badip ipmask="192.0.2.0/24" + reason="Spamming"> + ``` diff --git a/docs/4/configuration/_badnick.yml b/docs/4/configuration/_badnick.yml deleted file mode 120000 index d283760c5..000000000 --- a/docs/4/configuration/_badnick.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_badnick.yml \ No newline at end of file diff --git a/docs/4/configuration/_badnick.yml b/docs/4/configuration/_badnick.yml new file mode 100644 index 000000000..e4e9440da --- /dev/null +++ b/docs/4/configuration/_badnick.yml @@ -0,0 +1,22 @@ +name: badnick +description: |- + The `<badnick>` tag defines a permanent Q-line. This tag can be defined as many times as required. +attributes: +- name: nick + type: Text + required: true + default: null + description: |- + A nickname to Q-line. +- name: reason + type: Text + required: true + default: null + description: |- + The reason for the Q-line being added. +details: "" +example: |- + ```xml + <badnick nick="NickServ" + reason="Reserved for a network service"> + ``` diff --git a/docs/4/configuration/_cidr.yml b/docs/4/configuration/_cidr.yml deleted file mode 120000 index 9b5153f76..000000000 --- a/docs/4/configuration/_cidr.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_cidr.yml \ No newline at end of file diff --git a/docs/4/configuration/_cidr.yml b/docs/4/configuration/_cidr.yml new file mode 100644 index 000000000..dc2d9cae2 --- /dev/null +++ b/docs/4/configuration/_cidr.yml @@ -0,0 +1,22 @@ +name: cidr +description: |- + The `<cidr>` tag defines the number of bits of an IP address that should be looked at when locating clones. This tag can only be defined once. +attributes: +- name: ipv4clone + type: Number + required: false + default: '32' + description: |- + The number of bits (0-32) of an IPv4 address that should be looked at when locating clones. +- name: ipv6clone + type: Number + required: false + default: '128' + description: |- + The number of bits (0-128) of an IPv6 address that should be looked at when locating clones. +details: "" +example: |- + ```xml + <cidr ipv4clone="32" + ipv6clone="128"> + ``` diff --git a/docs/4/configuration/_exception.yml b/docs/4/configuration/_exception.yml deleted file mode 120000 index 1b29a152d..000000000 --- a/docs/4/configuration/_exception.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_exception.yml \ No newline at end of file diff --git a/docs/4/configuration/_exception.yml b/docs/4/configuration/_exception.yml new file mode 100644 index 000000000..88f1c4611 --- /dev/null +++ b/docs/4/configuration/_exception.yml @@ -0,0 +1,22 @@ +name: exception +description: |- + The `<exception>` tag defines a permanent E-line. This tag can be defined as many times as required. +attributes: +- name: host + type: Text + required: true + default: null + description: |- + A user@host to E-line. +- name: reason + type: Text + required: true + default: null + description: |- + The reason for the E-line being added. +details: "" +example: |- + ```xml + <exception host="*@localhost" + reason="Local connections"> + ``` diff --git a/docs/4/configuration/_execfiles.yml b/docs/4/configuration/_execfiles.yml deleted file mode 120000 index c86e8d74a..000000000 --- a/docs/4/configuration/_execfiles.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_execfiles.yml \ No newline at end of file diff --git a/docs/4/configuration/_execfiles.yml b/docs/4/configuration/_execfiles.yml new file mode 100644 index 000000000..caeb50fe4 --- /dev/null +++ b/docs/4/configuration/_execfiles.yml @@ -0,0 +1,20 @@ +name: execfiles +description: |- + The `<execfiles>` tag runs a shell command and reads its output. This tag can only be defined once. The purpose of the output depends on what field commands are defined in. + + Note that commands are only run on rehash, so changes are not automatically detected. +attributes: +- name: motd + type: Text + required: false + default: null + description: |- + A file used as the message of the day, ie. shown to users when they connect or use the `/MOTD` command. +details: |- + The working directory is InspIRCd's configuration directory. +example: |- + Downloads `https://www.example.com/motd.txt` and uses it as the message of the day: + + ```xml + <execfiles motd="wget -O - https://www.example.com/motd.txt"> + ``` diff --git a/docs/4/configuration/_insane.yml b/docs/4/configuration/_insane.yml deleted file mode 120000 index 8766b226a..000000000 --- a/docs/4/configuration/_insane.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_insane.yml \ No newline at end of file diff --git a/docs/4/configuration/_insane.yml b/docs/4/configuration/_insane.yml new file mode 100644 index 000000000..50d25d7f2 --- /dev/null +++ b/docs/4/configuration/_insane.yml @@ -0,0 +1,36 @@ +name: insane +description: |- + The `<insane>` tag defines limits to protect against overly wide X-lines being created. This tag can only be defined once. +attributes: +- name: hostmasks + type: Boolean + required: false + default: 'No' + description: |- + Whether to bypass the limit for E-lines, G-lines, and K-lines. +- name: ipmasks + type: Boolean + required: false + default: 'No' + description: |- + Whether to bypass the limit for Z-lines. +- name: nickmasks + type: Boolean + required: false + default: 'No' + description: |- + Whether to bypass the limit for Q-lines. +- name: trigger + type: Decimal + required: false + default: '95.5' + description: |- + The percentage of connected users who must match the X-line for it to be rejected as overly wide. +details: "" +example: |- + ```xml + <insane hostmasks="no" + ipmasks="no" + nickmasks="no" + trigger="95.5"> + ``` diff --git a/docs/4/configuration/_maxlist.yml b/docs/4/configuration/_maxlist.yml deleted file mode 120000 index e81b1e6ea..000000000 --- a/docs/4/configuration/_maxlist.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_maxlist.yml \ No newline at end of file diff --git a/docs/4/configuration/_maxlist.yml b/docs/4/configuration/_maxlist.yml new file mode 100644 index 000000000..df9ccf6b4 --- /dev/null +++ b/docs/4/configuration/_maxlist.yml @@ -0,0 +1,32 @@ +name: maxlist +description: |- + The `<maxlist>` tag defines the number of list modes which can be created in a channel. This tag can be defined as many times as required. +attributes: +- name: chan + type: Text + required: true + default: null + description: |- + A glob pattern for channels that this limit applies to. +- name: mode + type: Number + required: false + default: null + description: |- + The character or name for the mode this limit applies to. If not defined then it applies to all modes. +- name: limit + type: Number + required: true + default: null + description: |- + The number of bans which can be created in these channels. +details: "" +example: |- + ```xml + <maxlist chan="#largechan" + mode="b" + limit="500"> + + <maxlist chan="*" + limit="100"> + ``` diff --git a/docs/4/configuration/_module.yml b/docs/4/configuration/_module.yml deleted file mode 120000 index 3f89a986a..000000000 --- a/docs/4/configuration/_module.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_module.yml \ No newline at end of file diff --git a/docs/4/configuration/_module.yml b/docs/4/configuration/_module.yml new file mode 100644 index 000000000..722933e3e --- /dev/null +++ b/docs/4/configuration/_module.yml @@ -0,0 +1,15 @@ +name: module +description: |- + The `<module>` tag defines a module to load. This tag can be defined as many times as required. +attributes: +- name: name + type: Text + required: true + default: null + description: |- + The name of a module to load. +details: "" +example: |- + ```xml + <module name="ssl_gnutls"> + ``` diff --git a/docs/4/configuration/_performance.yml b/docs/4/configuration/_performance.yml deleted file mode 120000 index bdf83aacc..000000000 --- a/docs/4/configuration/_performance.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_performance.yml \ No newline at end of file diff --git a/docs/4/configuration/_performance.yml b/docs/4/configuration/_performance.yml new file mode 100644 index 000000000..6ac0db7d2 --- /dev/null +++ b/docs/4/configuration/_performance.yml @@ -0,0 +1,43 @@ +name: performance +description: |- + The `<performance>` tag defines configuration options relating to server performance. This tag can only be defined once. +attributes: +- name: clonesonconnect + type: Boolean + required: false + default: 'Yes' + description: |- + Whether to check for clones when a user connects to the server. +- name: netbuffersize + type: Number + required: false + default: '10240' + description: |- + The size of the buffer used to receive data from users. +- name: softlimit + type: Number + required: false + default: '*Varies*' + description: |- + The maximum number of connections to allow to the IRC server. +- name: somaxconn + type: Number + required: false + default: '*Varies*' + description: |- + The maximum number of connections that may be waiting in the connection accept queue. +- name: timeskipwarn + type: Duration + required: false + default: 2s + description: |- + The amount of time the server clock can skip by before server operators are warned about lag. +details: "" +example: |- + ```xml + <performance clonesonconnect="yes" + netbuffersize="10240" + softlimit="15000" + somaxconn="128" + timeskipwarn="2s"> + ``` diff --git a/docs/4/configuration/_pid.yml b/docs/4/configuration/_pid.yml deleted file mode 120000 index 847b3cc04..000000000 --- a/docs/4/configuration/_pid.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_pid.yml \ No newline at end of file diff --git a/docs/4/configuration/_pid.yml b/docs/4/configuration/_pid.yml new file mode 100644 index 000000000..a89fa1aa1 --- /dev/null +++ b/docs/4/configuration/_pid.yml @@ -0,0 +1,15 @@ +name: pid +description: |- + The `<pid>` tag defines the location of the pidfile. This tag can only be defined once. +attributes: +- name: file + type: Text + required: false + default: inspircd.pid + description: |- + The location of the pidfile. +details: "" +example: |- + ```xml + <pid file="inspircd.pid"> + ``` diff --git a/docs/4/configuration/_server.yml b/docs/4/configuration/_server.yml deleted file mode 120000 index 3cff6a468..000000000 --- a/docs/4/configuration/_server.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_server.yml \ No newline at end of file diff --git a/docs/4/configuration/_server.yml b/docs/4/configuration/_server.yml new file mode 100644 index 000000000..0480e95f0 --- /dev/null +++ b/docs/4/configuration/_server.yml @@ -0,0 +1,36 @@ +name: server +description: |- + The `<server>` tag defines settings about the local server. This tag can only be defined once. +attributes: +- name: name + type: Text + required: true + default: null + description: |- + The hostname of the local server. +- name: description + type: Text + required: false + default: Configure Me + description: |- + A description of the local server. +- name: network + type: Text + required: false + default: Network + description: |- + The name of the IRC network the local server is attached to. +- name: id + type: Text + required: false + default: null + description: |- + If defined then a unique server identifier in the format [0-9][0-9A-Z][0-9A-Z]. +details: "" +example: |- + ```xml + <server name="irc.eu.example.com" + description="ExampleNet's European server" + network="ExampleNet" + id="34C"> + ``` diff --git a/docs/4/configuration/_whowas.yml b/docs/4/configuration/_whowas.yml deleted file mode 120000 index 22c23891e..000000000 --- a/docs/4/configuration/_whowas.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/_whowas.yml \ No newline at end of file diff --git a/docs/4/configuration/_whowas.yml b/docs/4/configuration/_whowas.yml new file mode 100644 index 000000000..ba498b68d --- /dev/null +++ b/docs/4/configuration/_whowas.yml @@ -0,0 +1,29 @@ +name: whowas +description: |- + The `<whowas>` tag defines the configuration of the `/WHOWAS` database. This tag can only be defined once. +attributes: +- name: groupsize + type: Number + required: false + default: '10' + description: |- + The maximum number of `/WHOWAS` entries for a nickname. If set to 0 then `/WHOWAS` is disabled. +- name: maxgroups + type: Number + required: false + default: '10240' + description: |- + The maximum number of `/WHOWAS` nickname groups. If set to 0 then `/WHOWAS` is disabled. +- name: maxkeep + type: Duration + required: false + default: 1h + description: |- + The period of time to keep `/WHOWAS` records for. +details: "" +example: |- + ```xml + <whowas groupsize="10" + maxgroups="100000" + maxkeep="3d"> + ``` diff --git a/docs/4/configuration/index.md b/docs/4/configuration/index.md deleted file mode 120000 index a008f76d7..000000000 --- a/docs/4/configuration/index.md +++ /dev/null @@ -1 +0,0 @@ -../../3/configuration/index.md \ No newline at end of file diff --git a/docs/4/configuration/index.md b/docs/4/configuration/index.md new file mode 100644 index 000000000..fc88e6093 --- /dev/null +++ b/docs/4/configuration/index.md @@ -0,0 +1,103 @@ +--- +title: v{{ version }} Configuration +--- + +## Configuration + +!!! note "" + If you are configuring your server from scratch you might find the example configuration files helpful. + + These are located in: + + - `/usr/share/doc/inspircd` if using our UNIX binary packages. + - `C:\Program Files\InspIRCd\conf\examples` if using our Windows binary package. + - `[ROOT]/run/conf/examples` if you have built in your home directory. + +This page only lists core configuration. For details on the configuration of a specific module please refer to [the appropriate page for that module](/{{ version }}/modules). + +{% for tag in core_config_tags -%} +### `<{{ tag.name }}>` + +{{ tag.description }} + +{% if tag.attributes %} +<table markdown="1"> +<thead> +<tr> +<th>Name</th> +<th>Type</th> +<th>Default Value</th> +<th>Description</th> +</tr> +</thead> +<tbody markdown="1"> +{% for attr in tag.attributes %} +<tr markdown="1"> +{% if attr.name is string %} +<td markdown="1">{{ attr.name }}</td> +{% else %} +<td markdown="1"> +{% for name, version in attr.name.items() %} +{{ name }} *({{ version }})*{% if not loop.last %}<br>{% endif %} +{% endfor %} +</td> +{% endif %} +<td markdown="1">{{ attr.type }}</td> +<td markdown="1">{% if attr.default is none %}<em>None</em>{% else %}{{ attr.default }}{% endif %}</td> +<td markdown="1">{% if attr.added %}<a href="/{{ attr.added | first }}/change-log/#inspircd-{{ attr.added | replace(".", "") }}"><strong>New in v{{ attr.added }}!</strong></a> {% endif %}{% if attr.required %}<strong>Required!</strong> {% endif %}{{ attr.description }}</td> +</tr> +{% endfor %} +</tbody> +</table> +{% endif %} + +{% if extra_tag_fields[tag.name] %} +{% if tag.attributes %} +Additionally, the following fields are provided by modules: +{% else %} +The following fields are provided by modules: +{% endif %} + +<table markdown="1"> +<thead> +<tr> +<th>Name</th> +<th>Type</th> +<th>Default Value</th> +<th>Module</th> +<th>Description</th> +</tr> +</thead> +<tbody markdown="1"> +{% for field_name in extra_tag_fields[tag.name].keys()|sort -%} +{% for field in extra_tag_fields[tag.name][field_name] %} +<tr markdown="1"> +{% if loop.first %} +{% if field.name is string %} +<td markdown="1" rowspan="{{ loop.length }}">{{ field.name }}</td> +{% else %} +<td markdown="1" rowspan="{{ loop.length }}"> +{% for name, version in field.name.items() %} +{{ name }} *({{ version }})*{% if not loop.last %}<br>{% endif %} +{% endfor %} +</td> +{% endif %} +<td markdown="1" rowspan="{{ loop.length }}">{{ field.type }}</td> +<td markdown="1" rowspan="{{ loop.length }}">{% if field.default is none %}<em>None</em>{% else %}{{ field.default }}{% endif %}</td> +{% endif %} +<td markdown="1">[{{ field.module }}](/{{ version }}/modules/{{ field.module }}/)</td> +<td markdown="1">{% if field.required %}<strong>Required!</strong> {% endif %}{{ field.description }}</td> +</tr> +{% endfor %} +{% endfor %} +</tbody> +</table> +{% endif %} + +{{ tag.details }} + +#### Example Usage + +{{ tag.example }} + +{% endfor %} diff --git a/docs/4/extended-bans.md b/docs/4/extended-bans.md deleted file mode 120000 index 6a5323831..000000000 --- a/docs/4/extended-bans.md +++ /dev/null @@ -1 +0,0 @@ -../3/extended-bans.md \ No newline at end of file diff --git a/docs/4/extended-bans.md b/docs/4/extended-bans.md new file mode 100644 index 000000000..89bbc91b2 --- /dev/null +++ b/docs/4/extended-bans.md @@ -0,0 +1,21 @@ +--- +title: v{{ version }} Extended Bans +--- + +## Extended Bans + +Some [list modes](/{{ version }}/channel-modes), such as [channel mode `b` (ban)](/{{ version }}/channel-modes), take a `<nick>!<user>@<host>` mask as their parameter. These list modes can be extended to support alternate forms of matching and actions. {% if '4' == version %} If prefixed with an `!` then the behaviour is inverted.{% endif %} + +### Acting + +Acting extended bans allow restricting actions that users can perform. Such actions can include preventing a user from speaking in a channel (requires [the muteban module](/{{ version }}/modules/muteban)) or changing their nickname (requires [the nonicks module](/{{ version }}/modules/nonicks)). Acting extended bans can also be stacked with matching extended bans (see below). + +{% set extbans = acting_module_extbans %} +{% include "3/_extbans_table.md" %} + +### Matching + +Matching extended bans allow matching against extended user attributes such as connect class (requires [the classban module](/{{ version }}/modules/classban)) or TLS (SSL) fingerprint (requires [the sslmodes module](/{{ version }}/modules/sslmodes)). + +{% set extbans = matching_module_extbans %} +{% include "3/_extbans_table.md" %} diff --git a/docs/4/module-manager.md b/docs/4/module-manager.md deleted file mode 120000 index 06d531508..000000000 --- a/docs/4/module-manager.md +++ /dev/null @@ -1 +0,0 @@ -../3/module-manager.md \ No newline at end of file diff --git a/docs/4/module-manager.md b/docs/4/module-manager.md new file mode 100644 index 000000000..cec08587d --- /dev/null +++ b/docs/4/module-manager.md @@ -0,0 +1,35 @@ +--- +title: v{{ version }} Module Manager +--- + +## Managing third-party modules with Module Manager + +### Summary + +The InspIRCd community has created many third-party modules and Module Manager is an easy-to-use helper script for finding and installing those modules. + +### Usage + +To see the list of Module Manager subcommands you can run execute `./modulemanager help` in the root of the InspIRCd source directory. + +#### Installing a module + +To install a module use the `./modulemanager install <name>` command. The module will be downloaded and placed into the `./src/modules` directory. You can then build and install the module by running `make install`. + +#### Upgrading modules + +To upgrade modules use the `./modulemanager upgrade` command. All outdated modules will be updated and you can rebuild them as mentioned above. + +#### Listing available modules + +The `./modulemanager list` command shows the names, versions, and descriptions of all available modules. + +### Other Methods + +If for some reason you are unable to use the Module Manager you can download and install modules manually using the following steps: + +1. Download the module you wish to install from [the inspircd-contrib repository on GitHub](https://github.com/inspircd/inspircd-contrib/tree/master/{{version}}). + +2. Move it to the ./src/modules directory. + +3. Run `make install` to build and install the module. diff --git a/docs/4/modules/abbreviation.yml b/docs/4/modules/abbreviation.yml deleted file mode 120000 index 046dbb404..000000000 --- a/docs/4/modules/abbreviation.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/abbreviation.yml \ No newline at end of file diff --git a/docs/4/modules/abbreviation.yml b/docs/4/modules/abbreviation.yml new file mode 100644 index 000000000..fac19f66c --- /dev/null +++ b/docs/4/modules/abbreviation.yml @@ -0,0 +1,9 @@ +name: abbreviation + +description: |- + This module allows commands to be abbreviated by appending a full stop. For example, executing `/PRIV. #test Hello!` would expand to `/PRIVMSG #test Hello!`. + + If more than one command matches the specified abbreviation the server will respond with a list of commands that the abbreviation could possibly match. + +special_notes: |- + This module will not allow you to abbreviate aliases added by [the alias module](/{{ version }}/modules/alias) as aliases are not real commands. If you wish to shorten an alias you should add a short form version of that alias. diff --git a/docs/4/modules/allowinvite.yml b/docs/4/modules/allowinvite.yml deleted file mode 120000 index 6e069e34d..000000000 --- a/docs/4/modules/allowinvite.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/allowinvite.yml \ No newline at end of file diff --git a/docs/4/modules/allowinvite.yml b/docs/4/modules/allowinvite.yml new file mode 100644 index 000000000..44c6155f9 --- /dev/null +++ b/docs/4/modules/allowinvite.yml @@ -0,0 +1,28 @@ +name: allowinvite + +description: |- + This module adds channel mode `A` (allowinvite) which allows unprivileged users to use the `/INVITE` command and extended ban `A:` (blockinvite) which bans specific masks from using the `/INVITE` command. + +chmodes: + chars: + - name: allowinvite + char: A + type: Switch + syntax: null + usable_by: Channel operators + description: Allows unprivileged users to use the `/INVITE` command. + + example: "" + +extbans: + chars: + - name: blockinvite + char: A + type: Acting + syntax: <mask> + description: Bans <mask> from using the `/INVITE` command. + example: + - description: |- + Bans users matching `*!*@example.com` from using the `/INVITE` command + text: |- + /MODE #channel +b A:*!*@example.com diff --git a/docs/4/modules/alltime.yml b/docs/4/modules/alltime.yml deleted file mode 120000 index fb746a21a..000000000 --- a/docs/4/modules/alltime.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/alltime.yml \ No newline at end of file diff --git a/docs/4/modules/alltime.yml b/docs/4/modules/alltime.yml new file mode 100644 index 000000000..86f4f06c1 --- /dev/null +++ b/docs/4/modules/alltime.yml @@ -0,0 +1,12 @@ +name: alltime + +description: |- + This module adds the `/ALLTIME` command which allows server operators to see the current UTC time on all of the servers on the network. + +commands: +- name: ALLTIME + param_count: 0 + oper_only: true + syntax: null + description: |- + Causes all servers on the network to respond with the current UTC time on the server. diff --git a/docs/4/modules/anticaps.yml b/docs/4/modules/anticaps.yml deleted file mode 120000 index 67fc2db0f..000000000 --- a/docs/4/modules/anticaps.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/anticaps.yml \ No newline at end of file diff --git a/docs/4/modules/anticaps.yml b/docs/4/modules/anticaps.yml new file mode 100644 index 000000000..eb9ee11d2 --- /dev/null +++ b/docs/4/modules/anticaps.yml @@ -0,0 +1,47 @@ +name: anticaps + +description: |- + This module adds channel mode `B` (anticaps) which allows channels to block messages which are excessively capitalised. + +configuration: +- name: anticaps + description: |- + The `<anticaps>` tag defines settings about how the anticaps module should behave. This tag can only be defined once. + attributes: + - name: lowercase + type: Text + required: false + default: abcdefghijklmnopqrstuvwxyz + description: |- + A list of characters to treat as lower case letters. + - name: uppercase + type: Text + required: false + default: ABCDEFGHIJKLMNOPQRSTUVWXYZ + description: |- + A list of characters to treat as upper case letters. + details: "" + example: |- + ```xml + <anticaps lowercase="abcdefghijklmnopqrstuvwxyz" + uppercase="ABCDEFGHIJKLMNOPQRSTUVWXYZ"> + ``` + +chmodes: + chars: + - name: anticaps + char: B + type: Parameter + syntax: '{ban|block|mute|kick|kickban}:<minlen>:<percent>' + usable_by: Channel operators + description: |- + Enables blocking excessively capitalised messages. + example: + - description: |- + Kicks users who send a message which is longer than five characters and is more than 75% capital letters + text: |- + /MODE #channel +B kick:5:75 + +exemptions: +- name: anticaps + description: Allows exempted users to send overly capitalised messages. diff --git a/docs/4/modules/auditorium.yml b/docs/4/modules/auditorium.yml deleted file mode 120000 index 03c253cbe..000000000 --- a/docs/4/modules/auditorium.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/auditorium.yml \ No newline at end of file diff --git a/docs/4/modules/auditorium.yml b/docs/4/modules/auditorium.yml new file mode 100644 index 000000000..b9fc07dc4 --- /dev/null +++ b/docs/4/modules/auditorium.yml @@ -0,0 +1,52 @@ +name: auditorium + +description: |- + This module adds channel mode `u` (auditorium) which hides unprivileged users in a channel from each other. This is done by suppressing joins, parts, quits, kicks, `/NAMES` responses, and `/WHO` responses for unprivileged users. + +configuration: +- name: auditorium + description: |- + The `<auditorium>` tag defines settings about how the auditorium module should behave. This tag can only be defined once. + attributes: + - name: opcansee + type: Boolean + required: false + default: 'No' + description: |- + Whether channel operators can see other channel members. + - name: opvisible + type: Boolean + required: false + default: 'No' + description: |- + Whether channel operators can be seen by other channel members. + - name: opercansee + type: Boolean + required: false + default: 'Yes' + description: |- + Whether server operators with the channels/auspex privilege can see other channel members. + details: "" + example: |- + ```xml + <auditorium opcansee="no" + opvisible="no" + opercansee="yes"> + ``` + +chmodes: + chars: + - name: auditorium + char: u + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Enables auditorium mode. + example: "" + +exemptions: +- name: auditorium-see + description: Allows exempted users to see other channel members. +- name: auditorium-vis + description: Allows exempted users to be seen by other channel members. diff --git a/docs/4/modules/banredirect.yml b/docs/4/modules/banredirect.yml deleted file mode 120000 index 8f86da7f6..000000000 --- a/docs/4/modules/banredirect.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/banredirect.yml \ No newline at end of file diff --git a/docs/4/modules/banredirect.yml b/docs/4/modules/banredirect.yml new file mode 100644 index 000000000..2d15d0bde --- /dev/null +++ b/docs/4/modules/banredirect.yml @@ -0,0 +1,21 @@ +name: banredirect + +description: |- + This module allows specifying a channel to redirect a banned user to in the ban mask. + +chmodes: + description: |- + This module does not add any new channel modes but instead extends + channel mode `b` (ban) to allow ban masks to be suffixed with the name of a channel + to redirect users who match the ban to. + chars: [] + example: + - description: |- + Redirects users matching `*!*@example.com` to #banned-channel + text: |- + /MODE #channel +b *!*@example.com#banned-channel + +special_notes: |- + When setting a ban redirect the target channel should exist and the user setting the ban should have channel operator status in it. + + When the banredirect module is unloaded all ban redirects will be converted to normal bans. diff --git a/docs/4/modules/bcrypt.yml b/docs/4/modules/bcrypt.yml deleted file mode 120000 index 684193277..000000000 --- a/docs/4/modules/bcrypt.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/bcrypt.yml \ No newline at end of file diff --git a/docs/4/modules/bcrypt.yml b/docs/4/modules/bcrypt.yml new file mode 100644 index 000000000..02205d8a4 --- /dev/null +++ b/docs/4/modules/bcrypt.yml @@ -0,0 +1,21 @@ +name: bcrypt + +description: |- + This module allows other modules to generate [bcrypt](https://en.wikipedia.org/wiki/bcrypt) hashes. + +configuration: +- name: bcrypt + description: |- + The `<bcrypt>` tag defines settings about how the bcrypt module should behave. This tag can only be defined once. + attributes: + - name: rounds + type: Number + required: false + default: 10 + description: |- + The number of rounds of the EksBlowfishSetup algorithm that should be used. + details: "" + example: |- + ```xml + <bcrypt rounds="10"> + ``` diff --git a/docs/4/modules/blockcolor.yml b/docs/4/modules/blockcolor.yml deleted file mode 120000 index 57cf202cb..000000000 --- a/docs/4/modules/blockcolor.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/blockcolor.yml \ No newline at end of file diff --git a/docs/4/modules/blockcolor.yml b/docs/4/modules/blockcolor.yml new file mode 100644 index 000000000..dcf9cbc9c --- /dev/null +++ b/docs/4/modules/blockcolor.yml @@ -0,0 +1,34 @@ +name: blockcolor + +description: |- + This module adds channel mode `c` (blockcolor) which allows channels to block messages which contain IRC formatting codes. + +chmodes: + chars: + - name: blockcolor + char: c + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Enables blocking messages that contain IRC formatting codes. + example: "" + +exemptions: +- name: blockcolor + description: |- + Allows exempted users to send messages that contain IRC formatting codes. + +extbans: + chars: + - name: blockcolor + char: c + type: Acting + syntax: <mask> + description: |- + Bans <mask> from sending messages that contain IRC formatting codes. + example: + - description: |- + Bans users matching `*!*@example.com` from sending messages that contain IRC formatting codes + text: |- + /MODE #channel +b c:*!*@example.com diff --git a/docs/4/modules/callerid.yml b/docs/4/modules/callerid.yml deleted file mode 120000 index c6c9e16f2..000000000 --- a/docs/4/modules/callerid.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/callerid.yml \ No newline at end of file diff --git a/docs/4/modules/callerid.yml b/docs/4/modules/callerid.yml new file mode 100644 index 000000000..86a07c6f1 --- /dev/null +++ b/docs/4/modules/callerid.yml @@ -0,0 +1,82 @@ +name: callerid + +description: |- + This module provides user mode `g` (callerid) which allows users to require that other users are on their whitelist before messaging them. + +configuration: +- name: callerid + description: |- + The `<callerid>` tag defines settings about how the callerid module should behave. This tag can only be defined once. + attributes: + - name: cooldown + type: Number + required: false + default: 10 + description: |- + The number of seconds between notifying users of other users that want to message them. + - name: maxaccepts + type: Number + required: false + default: 30 + description: |- + The maximum number of users who can be on a user's callerid whitelist. + - name: tracknick + type: Boolean + required: false + default: 'No' + description: |- + Whether to track nickname changes for users on a callerid whitelist. + details: "" + example: |- + ```xml + <callerid cooldown="10" + maxaccepts="30" + tracknick="no"> + ``` + +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: users/ignore-callerid + description: |- + Allows server operators to message users using callerid without being on their callerid list. + details: "" + example: |- + Allows server operators with the class named BasicOper to message users using callerid without being on their callerid list. + + ```xml + <class name="BasicOper" + ... + privs="... users/ignore-callerid ..."> + ``` + +umodes: + chars: + - name: callerid + char: g + type: Switch + syntax: null + usable_by: Anyone + description: |- + Enables whitelisting of who can message the user. + example: "" + +commands: +- name: ACCEPT + param_count: 1 + syntax: + - '*' + - (+|-)<nickname>[,(+|-)<nickname>]+ + description: |- + Allows users to add, remove, and view the users on their callerid whitelist. + example: + - description: |- + Lists all users on your callerid whitelist + text: |- + /ACCEPT * + - description: |- + Adds Sadie to your callerid whitelist and removes Adam from your callerid whitelist + text: |- + /ACCEPT +Sadie,-Adam diff --git a/docs/4/modules/cap.yml b/docs/4/modules/cap.yml deleted file mode 120000 index 5ac9890b2..000000000 --- a/docs/4/modules/cap.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/cap.yml \ No newline at end of file diff --git a/docs/4/modules/cap.yml b/docs/4/modules/cap.yml new file mode 100644 index 000000000..586502caf --- /dev/null +++ b/docs/4/modules/cap.yml @@ -0,0 +1,27 @@ +name: cap + +description: |- + This module provides support for [the IRCv3 Client Capability Negotiation extension](https://ircv3.net/specs/extensions/capability-negotiation.html). + + This is used by clients to allow the use of modern IRC features without breaking compatibility with older clients. + +commands: +- name: CAP + param_count: 1-2 + syntax: + - CLEAR + - END + - LIST + - LS [<version>] + - REQ :[-]<cap>[ [-]<cap>]+ + description: |- + Allows clients to enable capabilities, disable capabilities, and view the capabilities they have enabled. + # CAP is not documented here because it is not intended to be executed by users + +client_caps: +- name: inspircd.org/poison + description: |- + Rejects any attempt to request it to avoid clients requesting all available capabilities rather than the ones they support. + +special_notes: |- + The `/CAP` command should generally not be executed by users. It is intended to be an entirely internal feature which is executed automatically by clients. Adding and removing capabilities manually may break your client. diff --git a/docs/4/modules/chancreate.yml b/docs/4/modules/chancreate.yml deleted file mode 120000 index 54ed74a32..000000000 --- a/docs/4/modules/chancreate.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/chancreate.yml \ No newline at end of file diff --git a/docs/4/modules/chancreate.yml b/docs/4/modules/chancreate.yml new file mode 100644 index 000000000..d3b70be51 --- /dev/null +++ b/docs/4/modules/chancreate.yml @@ -0,0 +1,10 @@ +name: chancreate + +description: |- + This module sends a notice to snomasks `j` (local) and `J` (remote) when a channel is created. + +snomasks: +- char: j + description: Notifications about channels being created on the local server. +- char: J + description: Notifications about channels being created on a remote server. diff --git a/docs/4/modules/chanlog.yml b/docs/4/modules/chanlog.yml deleted file mode 120000 index 8ce9055d6..000000000 --- a/docs/4/modules/chanlog.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/chanlog.yml \ No newline at end of file diff --git a/docs/4/modules/chanlog.yml b/docs/4/modules/chanlog.yml new file mode 100644 index 000000000..471ca346d --- /dev/null +++ b/docs/4/modules/chanlog.yml @@ -0,0 +1,30 @@ +name: chanlog + +description: |- + This module allows messages sent to snomasks to be logged to a channel. + +configuration: +- name: chanlog + description: |- + The `<chanlog>` tag defines a channel to log server notices to. This tag can be defined as many times as required. + attributes: + - name: channel + type: Text + required: true + default: null + description: |- + The name of a channel to log server notices to. + - name: snomasks + type: Text + required: true + default: null + description: |- + One or more snomasks to log to the channel. + details: "" + example: |- + Logs the `cq` snomasks (local connections and quits) to #example: + + ```xml + <chanlog channel="#example" + snomasks="cq"> + ``` diff --git a/docs/4/modules/channames.yml b/docs/4/modules/channames.yml deleted file mode 120000 index 192e1e2fe..000000000 --- a/docs/4/modules/channames.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/channames.yml \ No newline at end of file diff --git a/docs/4/modules/channames.yml b/docs/4/modules/channames.yml new file mode 100644 index 000000000..1d363b8ff --- /dev/null +++ b/docs/4/modules/channames.yml @@ -0,0 +1,38 @@ +name: channames + +description: |- + This module allows the server administrator to define what characters are allowed in channel names. + +configuration: +- name: channames + description: |- + The `<channames>` tag defines settings about how the channames module should behave. This tag can only be defined once. + attributes: + - name: allowrange + type: 'No. Range' + required: false + default: null + description: |- + The character ranges to allow in a channel name. This overrides denyrange if they overlap. + - name: denyrange + type: 'No. Range' + required: false + default: null + description: |- + The character ranges to disallow in a channel name. + details: "" + example: |- + Bans characters other than letters, numbers, `#`, `-`, and `.`. + + ```xml + <channames allowrange="35,45-46" + denyrange="1-47,58-64,91-96,123-255"> + ``` + +special_notes: |- + The following characters have special meaning in the IRC protocol + and will never be allowed in a channel name: + + - 0x07 (bell) + - 0x20 (space) + - 0x2C (comma) diff --git a/docs/4/modules/channelban.yml b/docs/4/modules/channelban.yml deleted file mode 120000 index 5000d7fbb..000000000 --- a/docs/4/modules/channelban.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/channelban.yml \ No newline at end of file diff --git a/docs/4/modules/channelban.yml b/docs/4/modules/channelban.yml new file mode 100644 index 000000000..9dea929ff --- /dev/null +++ b/docs/4/modules/channelban.yml @@ -0,0 +1,22 @@ +name: channelban + +description: |- + This module adds extended ban `j:` (channel) which checks whether users are in a channel matching the specified glob pattern. + +extbans: + description: "" + chars: + - name: channel + char: j + type: Matching + syntax: <pattern> + description: Checks whether users are in a channel matching <pattern>. + example: + - description: |- + Bans users in #evil from joining the channel + text: |- + /MODE #channel +b j:#evil + - description: |- + Bans users that have channel operator status in #evil from joining the channel + text: |- + /MODE #channel +b j:@#evil diff --git a/docs/4/modules/chghost.yml b/docs/4/modules/chghost.yml deleted file mode 120000 index b50efabbc..000000000 --- a/docs/4/modules/chghost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/chghost.yml \ No newline at end of file diff --git a/docs/4/modules/chghost.yml b/docs/4/modules/chghost.yml new file mode 100644 index 000000000..02a3a35ec --- /dev/null +++ b/docs/4/modules/chghost.yml @@ -0,0 +1,39 @@ +name: chghost + +description: |- + This module adds the `/CHGHOST` command which allows server operators to change the displayed hostname of a user. + +configuration: +- name: hostname + description: |- + The `<hostname>` tag defines settings about how the chghost module should behave. This tag can only be defined once. + attributes: + - name: charmap + type: Text + required: false + default: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789 + description: |- + The characters which are allowed in a hostname. + details: "" + example: |- + Allows hostnames to contain letters, numbers, `/`, `-`, `.', and `__`. + + ```xml + <hostname charmap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789"> + ``` + +commands: +- name: CHGHOST + param_count: 2 + oper_only: true + syntax: <nickname> <hostname> + description: |- + Changes the displayed hostname of <nickname> to <hostname>. + example: + - description: |- + Changes the hostname of Sadie to wibble.wobble + text: |- + /CHGHOST Sadie wibble.wobble + +special_notes: |- + This command only changes the displayed hostname of a user. Their real hostname will remain intact and still will match against bans. diff --git a/docs/4/modules/chgident.yml b/docs/4/modules/chgident.yml deleted file mode 120000 index c468c05ae..000000000 --- a/docs/4/modules/chgident.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/chgident.yml \ No newline at end of file diff --git a/docs/4/modules/chgident.yml b/docs/4/modules/chgident.yml new file mode 100644 index 000000000..e29d05781 --- /dev/null +++ b/docs/4/modules/chgident.yml @@ -0,0 +1,17 @@ +name: chgident + +description: |- + This module adds the `/CHGIDENT` command which allows server operators to change the username (ident) of a user. + +commands: +- name: CHGIDENT + param_count: 2 + oper_only: true + syntax: <nickname> <username> + description: |- + Changes the username (ident) of <nickname> to <username>. + example: + - description: |- + Changes the username (ident) of Sadie to wibble + text: |- + /CHGIDENT Sadie wibble diff --git a/docs/4/modules/chgname.yml b/docs/4/modules/chgname.yml deleted file mode 120000 index 28da30a41..000000000 --- a/docs/4/modules/chgname.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/chgname.yml \ No newline at end of file diff --git a/docs/4/modules/chgname.yml b/docs/4/modules/chgname.yml new file mode 100644 index 000000000..6566bb08b --- /dev/null +++ b/docs/4/modules/chgname.yml @@ -0,0 +1,17 @@ +name: chgname + +description: |- + This module adds the `/CHGNAME` command which allows server operators to change the real name (gecos) of a user. + +commands: +- name: CHGNAME + param_count: 2 + oper_only: true + syntax: <nickname> <realname> + description: |- + Changes the real name (gecos) of <nickname> to <realname>. + example: + - description: |- + Changes the real name (gecos) of Sadie to "Wibble Wobble" + text: |- + /CHGNAME Sadie :Wibble Wobble diff --git a/docs/4/modules/classban.yml b/docs/4/modules/classban.yml deleted file mode 120000 index ef7fc6d51..000000000 --- a/docs/4/modules/classban.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/classban.yml \ No newline at end of file diff --git a/docs/4/modules/classban.yml b/docs/4/modules/classban.yml new file mode 100644 index 000000000..31dc72c62 --- /dev/null +++ b/docs/4/modules/classban.yml @@ -0,0 +1,18 @@ +name: classban + +description: |- + This module adds extended ban `n:` (class) which check whether users are in a connect class matching the specified glob pattern. + +extbans: + description: "" + chars: + - name: class + char: n + type: Matching + syntax: <pattern> + description: Checks whether users are in a connect class <pattern>. + example: + - description: |- + Bans users in the "webchat" connect class from joining the channel + text: |- + /MODE #channel +b n:webchat diff --git a/docs/4/modules/clearchan.yml b/docs/4/modules/clearchan.yml deleted file mode 120000 index 628891be0..000000000 --- a/docs/4/modules/clearchan.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/clearchan.yml \ No newline at end of file diff --git a/docs/4/modules/clearchan.yml b/docs/4/modules/clearchan.yml new file mode 100644 index 000000000..04f519c1d --- /dev/null +++ b/docs/4/modules/clearchan.yml @@ -0,0 +1,35 @@ +name: clearchan + +description: |- + This module adds the `/CLEARCHAN` command which allows server operators to mass-punish the members of a channel. + +commands: +- name: CLEARCHAN + param_count: 2-3 + oper_only: true + syntax: <channel> [<action>] [<reason>] + description: |- + Mass punishes the members of the specified channel. + example: + - description: |- + Kills all members of #spam + text: |- + /CLEARCHAN #spam + - description: |- + Kicks all members of #spam + text: |- + /CLEARCHAN #spam KICK + - description: |- + G-lines all members of #spam with the reason "Spamming is bad" + text: |- + /CLEARCHAN #spam G :Spamming is bad + +command_details: |- + The action parameter should be set to one of the following values: + + Value | Description + ----- | ----------- + KILL | Kill all members of the channel (default behaviour). + KICK | Kick all members of the channel. + G | G-line all members of the channel for one hour. + Z | Z-line all members of the channel for one hour. diff --git a/docs/4/modules/conn_join.yml b/docs/4/modules/conn_join.yml deleted file mode 120000 index 6b6ede338..000000000 --- a/docs/4/modules/conn_join.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/conn_join.yml \ No newline at end of file diff --git a/docs/4/modules/conn_join.yml b/docs/4/modules/conn_join.yml new file mode 100644 index 000000000..008c224c4 --- /dev/null +++ b/docs/4/modules/conn_join.yml @@ -0,0 +1,57 @@ +name: conn_join + +description: |- + This module allows the server administrator to force users to join one or more channels on connect. + +configuration: +- name: connect + description: |- + This module extends [the core `<connect>` tags](/{{ version }}/configuration#connect) with the following fields: + extends: true + attributes: + - name: autojoin + type: Text + required: false + default: null + description: |- + A comma-delimited list of channels for users in this connect class to be joined to on connect. + - name: autojoindelay + type: Duration + required: false + default: 15m + description: |- + The duration to wait before joining users to the specified channels. + details: "" + example: |- + Forces all users in the Example class to join #example1 and #example2 30 seconds after connecting: + + ```xml + <connect name="Example" + ... + autojoin="#example1,#example2" + autojoindelay="30s"> + ``` +- name: autojoin + description: |- + The `<autojoin>` tag defines settings about how the conn_join module should behave. This tag can only be defined once. + attributes: + - name: channel + type: Text + required: false + default: null + description: |- + A comma-delimited list of channels for users to be joined to on connect. + - name: delay + type: Duration + required: false + default: 15m + description: |- + The duration to wait before joining users to the specified channels. + details: "" + example: |- + Forces all users to join #example on connect 30 seconds after connecting: + + ```xml + <autojoin channel="#example" + delay="30s"> + ``` diff --git a/docs/4/modules/conn_umodes.yml b/docs/4/modules/conn_umodes.yml deleted file mode 120000 index 561e51423..000000000 --- a/docs/4/modules/conn_umodes.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/conn_umodes.yml \ No newline at end of file diff --git a/docs/4/modules/conn_umodes.yml b/docs/4/modules/conn_umodes.yml new file mode 100644 index 000000000..29a762dcf --- /dev/null +++ b/docs/4/modules/conn_umodes.yml @@ -0,0 +1,29 @@ +name: conn_umodes + +description: |- + This module allows the server administrator to set user modes on connecting users. + +configuration: +- name: connect + description: |- + This module extends [the core `<connect>` tags](/{{ version }}/configuration#connect) with the following fields: + extends: true + attributes: + - name: modes + type: Text + required: false + default: null + description: |- + The user modes to set on connecting users. + details: "" + example: |- + Forces all users in the Example class to have user modes `iw` (invisible, wallops): + + ```xml + <connect name="Example" + ... + modes="+iw"> + ``` + +special_notes: |- + This module can set disabled modes which allows you to set user modes on users which they can not then remove. diff --git a/docs/4/modules/customprefix.yml b/docs/4/modules/customprefix.yml deleted file mode 120000 index ca8aa3b47..000000000 --- a/docs/4/modules/customprefix.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/customprefix.yml \ No newline at end of file diff --git a/docs/4/modules/customprefix.yml b/docs/4/modules/customprefix.yml new file mode 100644 index 000000000..dd4fa8e50 --- /dev/null +++ b/docs/4/modules/customprefix.yml @@ -0,0 +1,108 @@ +name: customprefix + +description: |- + This module allows the server administrator to configure custom channel prefix modes. + +configuration: +- name: customprefix + description: |- + The `<customprefix>` tag defines a custom channel prefix mode. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + The unique name of the mode. + - name: letter + type: Text + required: true + default: null + description: |- + The character used for the mode. + - name: prefix + type: Text + required: false + default: null + description: |- + The prefix character used for the mode. + - name: rank + type: Number + required: false + default: null + description: |- + The rank of the mode. Users with higher ranked prefix modes have privileges over users with lower ranks or no rank. + - name: ranktoset + type: Number + required: false + default: null + description: |- + The rank which is required to set this prefix mode. + - name: ranktounset + type: Number + required: false + default: null + description: |- + The rank which is required to unset this prefix mode. + - name: depriv + type: Boolean + required: false + default: 'Yes' + description: |- + Whether a user with this prefix mode can remove it from themself. + - name: change + type: Boolean + required: false + default: 'No' + description: |- + If enabled then allow modifying a channel prefix mode not created by the customprefix module. + details: "" + example: |- + Adds the founder and admin channel prefix modes as seen in other IRC servers: + + ```xml + <customprefix name="founder" + letter="q" + prefix="~" + rank="50000" + ranktoset="50000" + ranktounset="50000" + depriv="yes"> + + <customprefix name="admin" + letter="a" + prefix="&" + rank="40000" + ranktoset="50000" + ranktounset="50000" + depriv="yes"> + ``` + + Adds the half-operator channel prefix mode as seen in other IRC servers: + + ```xml + <customprefix name="halfop" + letter="h" + prefix="%" + rank="20000" + ranktoset="30000" + ranktounset="30000" + depriv="yes"> + ``` + + Allows users with channel prefix mode `v` (voice) to remove it: + + ```xml + <customprefix name="voice" + change="yes" + depriv="yes"> + ``` + +special_notes: |- + The ranks of the built-in channel prefix modes are: + + - op (+o) — 30000 + + - voice (+v) — 10000 + + You should take note of this when adding new modes. diff --git a/docs/4/modules/customtitle.yml b/docs/4/modules/customtitle.yml deleted file mode 120000 index 6d3678b92..000000000 --- a/docs/4/modules/customtitle.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/customtitle.yml \ No newline at end of file diff --git a/docs/4/modules/customtitle.yml b/docs/4/modules/customtitle.yml new file mode 100644 index 000000000..0affba0cf --- /dev/null +++ b/docs/4/modules/customtitle.yml @@ -0,0 +1,75 @@ +name: customtitle + +description: |- + This module allows the server administrator to define accounts which can grant a custom title in `/WHOIS` and an optional virtual host. + +configuration: +- name: customtitle + description: |- + The `<customtitle>` tag defines a title account. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + The username used when logging into the account. + - name: password + type: Text + required: true + default: null + description: |- + The password used when logging into the account. + - name: hash + type: Text + required: false + default: null + description: |- + The algorithm that the password is hashed with. + - name: host + type: Text + required: false + default: \*@\* + description: |- + A glob pattern for the user@host mask of users that can log into this account. + - name: title + type: Text + required: true + default: null + description: |- + The custom title shown in `/WHOIS` for users who log into this account. + - name: vhost + type: Text + required: false + default: null + description: |- + The vhost for users who log into this account. + details: |- + !!! warning "" + The `hash` field is currently optional but will be required in the next major version of InspIRCd. + + {! {{ version }}/modules/_hash_table.md !} + + example: |- + Adds a title account with the username Sadie and a hashed password: + + ```xml + <title name="Sadie" + password="Ohf74jA8$GwQ083Z/Jl2Vi6WpYKu2ABTU5HAKO+Zk8NWw7sdt7cQ" + hash="hmac-sha256" + host="*@*.example.com" + title="is an Example-Net Helper" + vhost="helper.example.com"> + ``` + +commands: +- name: TITLE + param_count: 2 + syntax: <username> <password> + description: |- + Log into the account with the specified username and password. + example: + - description: |- + Logs into the account with the name Sadie and password fl00fyc4pyb4r4 + text: |- + /TITLE Sadie fl00fyc4pyb4r4 diff --git a/docs/4/modules/cycle.yml b/docs/4/modules/cycle.yml deleted file mode 120000 index 2bc6a40b0..000000000 --- a/docs/4/modules/cycle.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/cycle.yml \ No newline at end of file diff --git a/docs/4/modules/cycle.yml b/docs/4/modules/cycle.yml new file mode 100644 index 000000000..5c3244ffb --- /dev/null +++ b/docs/4/modules/cycle.yml @@ -0,0 +1,20 @@ +name: cycle + +description: |- + This module allows channel members to part and rejoin a channel without needing to worry about channel modes such as +i (inviteonly) which might prevent rejoining. + +commands: +- name: CYCLE + param_count: 1-2 + syntax: <channel> [<reason>] + description: |- + Parts and rejoins the specified channel. + example: + - description: |- + Parts and rejoins the #example channel + text: |- + /CYCLE #example + - description: |- + Parts and rejoins the #example channel with "Be right back!" as the reason + text: |- + /CYCLE #example :Be right back! diff --git a/docs/4/modules/dccallow.yml b/docs/4/modules/dccallow.yml deleted file mode 120000 index 6a2a47f08..000000000 --- a/docs/4/modules/dccallow.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/dccallow.yml \ No newline at end of file diff --git a/docs/4/modules/dccallow.yml b/docs/4/modules/dccallow.yml new file mode 100644 index 000000000..a2220bb4c --- /dev/null +++ b/docs/4/modules/dccallow.yml @@ -0,0 +1,112 @@ +name: dccallow + +description: |- + This module allows the server administrator to configure what files are allowed to be sent via DCC SEND and allows users to configure who can send them DCC CHAT and DCC SEND requests. + +configuration: +- name: banfile + description: |- + The `<banfile>` tag defines a rule to use when determining if a file can be sent with `DCC SEND`. This tag can be defined as many times as required. + attributes: + - name: action + type: Text + required: false + default: block + description: |- + The action to take when a file matches the pattern. + - name: pattern + type: Text + required: true + default: null + description: |- + A glob pattern for the filename. + details: |- + The action field should be set to one of the following values: + + Value | Description + ----- | ----------- + allow | Allows files matching the pattern to be sent. + block | Blocks file matching the pattern from being sent. + + example: |- + Bans executables from being sent: + + ```xml + <banfile action="block" + pattern="*.exe"> + ``` + + Allows only text files to be sent: + + ```xml + <banfile action="allow" + pattern="*.txt"> + <banfile action="block" + pattern="*"> + ``` +- name: dccallow + description: |- + The `<dccallow>` tag defines settings about how the dccallow module should behave. This tag can only be defined once. + attributes: + - name: action + type: Text + required: false + default: block + description: |- + The default action to take if a file does not match a `<banfile>` rule. + - name: blockchat + type: Boolean + required: false + default: 'No' + description: |- + Whether DCC CHAT also requires the source to be on the DCC whitelist. + - name: length + type: Number + required: false + default: 0 + description: |- + The default time a DCC whitelist entry is valid for. Setting this to 0 means the entry is permanent. + - name: maxentries + type: Number + required: false + default: 20 + description: |- + The maximum number of entries that a user can have on their DCC whitelist. + details: |- + See the `<banfile>` documentation above for a list of possible values for the action field. + + example: |- + ```xml + <dccallow action="block" + blockchat="no" + length="0" + maxentries="20"> + ``` + +commands: +- name: DCCALLOW + param_count: 1-2 + syntax: + - '[+]<nick> [<time>]' + - '-<nick>' + - HELP + - LIST + description: |- + Allows users to add other users to their DCC whitelist, remove other users from their DCC whitelist, and view the users on their DCC whitelist. + example: + - description: |- + Lists all users on your DCC whitelist + text: |- + /DCCALLOW LIST + - description: |- + Adds Adam to your DCC whitelist until the server expires it + text: |- + /DCCALLOW +Adam + - description: |- + Adds Sadie to your DCC whitelist for two hours + text: |- + /DCCALLOW +Sadie 2h + - description: |- + Removes "Attila" from your DCC whitelist + text: |- + /DCCALLOW -Attila diff --git a/docs/4/modules/delayjoin.yml b/docs/4/modules/delayjoin.yml deleted file mode 120000 index bb3d216d8..000000000 --- a/docs/4/modules/delayjoin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/delayjoin.yml \ No newline at end of file diff --git a/docs/4/modules/delayjoin.yml b/docs/4/modules/delayjoin.yml new file mode 100644 index 000000000..2afa08606 --- /dev/null +++ b/docs/4/modules/delayjoin.yml @@ -0,0 +1,15 @@ +name: delayjoin + +description: |- + This module adds channel mode `D` (delayjoin) which hides JOIN messages from users until they speak. + +chmodes: + chars: + - name: delayjoin + char: D + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Prevents users from receiving JOIN messages until the joining user speaks. + example: "" diff --git a/docs/4/modules/denychans.yml b/docs/4/modules/denychans.yml deleted file mode 120000 index 355e634cb..000000000 --- a/docs/4/modules/denychans.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/denychans.yml \ No newline at end of file diff --git a/docs/4/modules/denychans.yml b/docs/4/modules/denychans.yml new file mode 100644 index 000000000..afc118699 --- /dev/null +++ b/docs/4/modules/denychans.yml @@ -0,0 +1,67 @@ +name: denychans + +description: |- + This module allows the server administrator to prevent users from joining channels matching a glob. + +configuration: +- name: badchan + description: |- + The `<badchan>` tag defines a channel to prevent users from joining. This tag can be defined as many times as required. + attributes: + - name: allowopers + type: Boolean + required: false + default: 'No' + description: |- + Whether to allow server operators to join channels matching this rule. + - name: name + type: Text + required: true + default: null + description: |- + A glob pattern for a channel name that users should be prevented from joining. + - name: reason + type: Text + required: false + default: null + description: |- + A message to tell a user who tries to join a channel that matches this rule. + - name: redirect + type: Text + required: false + default: null + description: |- + If defined then the name of a channel to join users to who try to join a channel matching this rule. + details: "" + example: |- + Bans channels matching #potato\* from being joined: + + ```xml + <badchan name="#potato*" + reason="Discussion of vegetables is banned on this network!" + allowopers="no"> + ``` + + Redirects users joining channel #eggplant to #aubergine: + + ```xml + <badchan name="#eggplant" + redirect="#aubergine" + reason="This network uses British English." + allowopers="no"> + ``` +- name: goodchan + description: |- + The `<goodchan>` tag defines an exemption to the rules specified with `<badchan>`. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + A glob pattern for a channel name that users should be allowed to join regardless of any rules banning it. + details: "" + example: |- + ```xml + <goodchan name="#*ircd"> + ``` diff --git a/docs/4/modules/disable.yml b/docs/4/modules/disable.yml deleted file mode 120000 index 0940d264d..000000000 --- a/docs/4/modules/disable.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/disable.yml \ No newline at end of file diff --git a/docs/4/modules/disable.yml b/docs/4/modules/disable.yml new file mode 100644 index 000000000..9e9ead859 --- /dev/null +++ b/docs/4/modules/disable.yml @@ -0,0 +1,69 @@ +name: disable + +description: |- + This module allows commands, channel modes, and user modes to be disabled. + +configuration: +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: servers/use-disabled-commands + description: |- + Allows server operators to use disabled commands. + - name: servers/use-disabled-modes + description: |- + Allows server operators to use disabled modes. + details: "" + example: |- + Allows server operators with the class named BasicOper to use disabled commands and modes. + + ```xml + <class name="BasicOper" + ... + privs="... servers/use-disabled-commands servers/use-disabled-modes ..."> + ``` +- name: disabled + description: |- + The `<disabled>` tag defines commands and modes which normal users can not change. This tag can only be defined once. + attributes: + - name: fakenonexistent + type: Boolean + required: false + default: 'No' + description: |- + Whether to pretend that a disabled command/mode does not exist. + - name: notifyopers + type: Boolean + required: false + default: 'No' + description: |- + Whether to send a notice to snomask `a` when a user is prevented from using a disabled command or mode. + - name: commands + type: Text + required: false + default: null + description: |- + A space-delimited list of commands to disable. + - name: chanmodes + type: Text + required: false + default: null + description: |- + A list of channel modes to disable. + - name: usermodes + type: Text + required: false + default: null + description: |- + A list of user modes to disable. + details: "" + example: |- + ```xml + <disabled fakenonexistent="no" + notifyopers="no" + commands="MODE TOPIC" + chanmodes="kp" + usermodes="iw"> + ``` diff --git a/docs/4/modules/geo_maxmind.yml b/docs/4/modules/geo_maxmind.yml deleted file mode 120000 index 852b9952b..000000000 --- a/docs/4/modules/geo_maxmind.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/geo_maxmind.yml \ No newline at end of file diff --git a/docs/4/modules/geo_maxmind.yml b/docs/4/modules/geo_maxmind.yml new file mode 100644 index 000000000..e4a33ed50 --- /dev/null +++ b/docs/4/modules/geo_maxmind.yml @@ -0,0 +1,25 @@ +name: geo_maxmind + +introduction: "" +depends_on: + what: a third-party library ([libMaxMindDB](https://maxmind.github.io/libmaxminddb/)) + +description: |- + This module allows the server to perform geolocation lookups on both IP addresses and users. + +configuration: +- name: maxmind + description: |- + The `<maxmind>` tag defines settings about how the geo_maxmind module should behave. This tag can only be defined once. + attributes: + - name: file + type: Text + required: false + default: GeoLite2-Country.mmdb + description: |- + The location of the GeoLite2 database to read locations from. + details: "" + example: |- + ```xml + <maxmind file="GeoLite2-Country.mmdb"> + ``` diff --git a/docs/4/modules/geoban.yml b/docs/4/modules/geoban.yml deleted file mode 120000 index 6ea829e33..000000000 --- a/docs/4/modules/geoban.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/geoban.yml \ No newline at end of file diff --git a/docs/4/modules/geoban.yml b/docs/4/modules/geoban.yml new file mode 100644 index 000000000..1a6c9bce1 --- /dev/null +++ b/docs/4/modules/geoban.yml @@ -0,0 +1,22 @@ +name: geoban + +description: |- + This module adds extended ban `G:` (country) which matches against two letter country codes. + +extbans: + description: "" + chars: + - name: country + char: G + type: Matching + syntax: <pattern> + description: Matches against the two letter country code for the country that users are connecting from. + example: + - description: |- + Bans users connecting from the United States of America + text: |- + /MODE #channel +b G:US + - description: |- + Bans users whose country of origin can not be determined + text: |- + /MODE #channel +b G:XX diff --git a/docs/4/modules/geoclass.yml b/docs/4/modules/geoclass.yml deleted file mode 120000 index 438607ce8..000000000 --- a/docs/4/modules/geoclass.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/geoclass.yml \ No newline at end of file diff --git a/docs/4/modules/geoclass.yml b/docs/4/modules/geoclass.yml new file mode 100644 index 000000000..b1ff84354 --- /dev/null +++ b/docs/4/modules/geoclass.yml @@ -0,0 +1,30 @@ +name: geoclass + +description: |- + This module allows the server administrator to assign users to connect classes by the country they are connecting from. + +configuration: +- name: connect + description: |- + This module extends [the core `<connect>` tags](/{{ version }}/configuration#connect) with the following fields: + extends: true + attributes: + - name: country + type: Text + required: false + default: null + description: |- + A space-delimited list of [ISO 3166-1 alpha-2 country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) that users must be connecting from to be assigned to this class. + details: "" + example: |- + Requires users to be connecting from China or Russia to be assigned to the Example class: + + ```xml + <connect name="Example" + ... + country="CN RU"> + ``` + +stats: +- char: G + description: Lists the number of users currently connected from each country. diff --git a/docs/4/modules/globalload.yml b/docs/4/modules/globalload.yml deleted file mode 120000 index d3ac4f321..000000000 --- a/docs/4/modules/globalload.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/globalload.yml \ No newline at end of file diff --git a/docs/4/modules/globalload.yml b/docs/4/modules/globalload.yml new file mode 100644 index 000000000..88a68941a --- /dev/null +++ b/docs/4/modules/globalload.yml @@ -0,0 +1,51 @@ +name: globalload + +description: |- + This module adds the `/GLOADMODULE`, `/GRELOADMODULE`, and `/GUNLOADMODULE` commands which allows server operators to load, reload, and unload modules on remote servers. + +commands: +- name: GLOADMODULE + param_count: 1-2 + oper_only: true + syntax: <module> [<server>] + description: |- + Loads <module> on servers matching the <server> glob pattern. If no pattern is given then it is loaded on all servers. + example: + - description: |- + Loads [the botmode module](/{{ version }}/modules/botmode) on all servers + text: |- + /GLOADMODULE botmode + - description: |- + Loads [the botmode module](/{{ version }}/modules/botmode) on servers matching \*.eu.example.com + text: |- + /GLOADMODULE botmode *.eu.example.com +- name: GRELOADMODULE + param_count: 1-2 + oper_only: true + syntax: <module> [<server>] + description: |- + Reloads <module> on servers matching the <server> glob pattern. If no pattern is given then it is reloaded on all servers. + example: + - description: |- + Reloads [the check module](/{{ version }}/modules/check) on all servers + text: |- + /GRELOADMODULE check + - description: |- + Reloads [the check module](/{{ version }}/modules/check) on servers matching \*.na.example.com + text: |- + /GRELOADMODULE check *.na.example.com +- name: GUNLOADMODULE + param_count: 1-2 + oper_only: true + syntax: <module> [<server>] + description: |- + Unloads <module> on servers matching the <server> glob pattern. If no pattern is given then it is unloaded on all servers. + example: + - description: |- + Unloads [the samode module](/{{ version }}/modules/samode) on all servers + text: |- + /GUNLOADMODULE samode + - description: |- + Unloads [the samode module](/{{ version }}/modules/samode) on servers matching \*.sea.example.com + text: |- + /GUNLOADMODULE samode *.sea.example.com diff --git a/docs/4/modules/globops.yml b/docs/4/modules/globops.yml deleted file mode 120000 index ca18754e4..000000000 --- a/docs/4/modules/globops.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/globops.yml \ No newline at end of file diff --git a/docs/4/modules/globops.yml b/docs/4/modules/globops.yml new file mode 100644 index 000000000..673f31c82 --- /dev/null +++ b/docs/4/modules/globops.yml @@ -0,0 +1,23 @@ +name: globops + +description: |- + This module adds the `/GLOBOPS` command which allows server operators to send messages to all server operators with the `g` (globops) snomask. + +commands: +- name: GLOBOPS + param_count: 1 + oper_only: true + syntax: <message> + description: |- + Sends <message> to all server operators with the `g` (globops) snomask. + example: + - description: |- + Sends a server notice saying "I like turtles." to all server operators with the `g` (globops) snomask + text: |- + /GLOBOPS :I like turtles. + +snomasks: +- char: g + description: Messages from server operators on the local server. +- char: G + description: Messages from server operators on a remote server. diff --git a/docs/4/modules/haproxy.yml b/docs/4/modules/haproxy.yml deleted file mode 120000 index ae122f3ed..000000000 --- a/docs/4/modules/haproxy.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/haproxy.yml \ No newline at end of file diff --git a/docs/4/modules/haproxy.yml b/docs/4/modules/haproxy.yml new file mode 100644 index 000000000..d7f2ab7bc --- /dev/null +++ b/docs/4/modules/haproxy.yml @@ -0,0 +1,35 @@ +name: haproxy + +description: |- + This module allows IRC connections to be made using reverse proxies that implement version 2 of the HAProxy PROXY protocol. + +configuration: +- name: bind + description: |- + This module extends [the core `<bind>` tags](/{{ version }}/configuration#bind) with the following hook types: + extends: true + added_values: + - name: haproxy + description: |- + Listens for haproxy connections. + details: "" + example: |- + Listens for plaintext haproxy connections on the /run/inspircd/haproxy.sock UNIX socket endpoint: + + ```xml + <bind path="/run/inspircd/haproxy.sock" + ... + hook="haproxy"> + ``` + + Listens for plaintext haproxy connections on the 127.0.0.1:29583 endpoint: + + ```xml + <bind address="127.0.0.1" + port="29583" + ... + hook="haproxy"> + ``` + +special_notes: |- + If you are using this module you must terminate TLS (SSL) connections at your reverse proxy. diff --git a/docs/4/modules/hidechans.yml b/docs/4/modules/hidechans.yml deleted file mode 120000 index 39693f983..000000000 --- a/docs/4/modules/hidechans.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/hidechans.yml \ No newline at end of file diff --git a/docs/4/modules/hidechans.yml b/docs/4/modules/hidechans.yml new file mode 100644 index 000000000..e5022369c --- /dev/null +++ b/docs/4/modules/hidechans.yml @@ -0,0 +1,32 @@ +name: hidechans + +description: |- + This module adds user mode `I` (hidechans) which hides the channels users with it set are in from their `/WHOIS` response. + +configuration: +- name: hidechans + description: |- + The `<hidechans>` tag defines settings about how the hidechans module should behave. This tag can only be defined once. + attributes: + - name: affectsopers + type: Boolean + required: false + default: 'No' + description: |- + Whether server operators are affected by the user mode. + details: "" + example: |- + ```xml + <hidechans affectsopers="no"> + ``` + +umodes: + chars: + - name: hidechans + char: I + type: Switch + syntax: null + usable_by: Anyone + description: |- + Hides the channels the user is in from their `/WHOIS` response. + example: "" diff --git a/docs/4/modules/hidelist.yml b/docs/4/modules/hidelist.yml deleted file mode 120000 index 50f78860b..000000000 --- a/docs/4/modules/hidelist.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/hidelist.yml \ No newline at end of file diff --git a/docs/4/modules/hidelist.yml b/docs/4/modules/hidelist.yml new file mode 100644 index 000000000..e3483913d --- /dev/null +++ b/docs/4/modules/hidelist.yml @@ -0,0 +1,44 @@ +name: hidelist + +description: |- + This module allows list mode lists to be hidden from users without a prefix mode ranked equal to or higher than a defined level. + +configuration: +- name: hidelist + description: |- + The `<hidelist>` tag defines settings about how the hidelist module should behave. This tag can be defined as many times as required. + attributes: + - name: mode + type: Text + required: false + default: null + description: |- + The name of the mode this rule applies to. + - name: rank + type: Number + required: false + default: 0 + description: |- + The rank to restrict viewing this list mode list to. + details: "" + example: |- + Hides channel mode `g` (filter) from non-channel operators: + + ```xml + <hidelist mode="filter" + rank="30000"> + ``` + + Hides channel mode `I` (invex) from non-channel members: + + ```xml + <hidelist mode="invex" + rank="0"> + ``` + +special_notes: |- + The ranks of the built-in channel prefix modes are: + + - op (+o) — 30000 + + - voice (+v) — 10000 diff --git a/docs/4/modules/hidemode.yml b/docs/4/modules/hidemode.yml deleted file mode 120000 index 1dd3822bc..000000000 --- a/docs/4/modules/hidemode.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/hidemode.yml \ No newline at end of file diff --git a/docs/4/modules/hidemode.yml b/docs/4/modules/hidemode.yml new file mode 100644 index 000000000..34af361a6 --- /dev/null +++ b/docs/4/modules/hidemode.yml @@ -0,0 +1,37 @@ +name: hidemode + +description: |- + This module allows mode changes to be hidden from users without a prefix mode ranked equal to or higher than a defined level. + +configuration: +- name: hidemode + description: |- + The `<hidemode>` tag defines settings about how the hidemode module should behave. This tag can be defined as many times as required. + attributes: + - name: mode + type: Text + required: false + default: null + description: |- + The name of the mode this rule applies to. + - name: rank + type: Number + required: false + default: 0 + description: |- + The rank to restrict viewing this mode change to. + details: "" + example: |- + Hides channel mode `b` (ban) changes from non-voiced users: + + ```xml + <hidemode mode="ban" + rank="10000"> + ``` + +special_notes: |- + The ranks of the built-in channel prefix modes are: + + - op (+o) — 30000 + + - voice (+v) — 10000 diff --git a/docs/4/modules/hideoper.yml b/docs/4/modules/hideoper.yml deleted file mode 120000 index 98ecba94d..000000000 --- a/docs/4/modules/hideoper.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/hideoper.yml \ No newline at end of file diff --git a/docs/4/modules/hideoper.yml b/docs/4/modules/hideoper.yml new file mode 100644 index 000000000..3411c9ec7 --- /dev/null +++ b/docs/4/modules/hideoper.yml @@ -0,0 +1,15 @@ +name: hideoper + +description: |- + This module adds user mode `H` (hideoper) which hides the server operator status of a user from unprivileged users. + +umodes: + chars: + - name: hideoper + char: H + type: Switch + syntax: null + usable_by: Server operators + description: |- + Hides the user's server operator status from unprivileged users. + example: "" diff --git a/docs/4/modules/hostcycle.yml b/docs/4/modules/hostcycle.yml deleted file mode 120000 index 6c05e3787..000000000 --- a/docs/4/modules/hostcycle.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/hostcycle.yml \ No newline at end of file diff --git a/docs/4/modules/hostcycle.yml b/docs/4/modules/hostcycle.yml new file mode 100644 index 000000000..fa27729ec --- /dev/null +++ b/docs/4/modules/hostcycle.yml @@ -0,0 +1,4 @@ +name: hostcycle + +description: |- + This module sends a fake disconnection and reconnection when a user's username (ident) or hostname changes to allow clients to update their internal caches. diff --git a/docs/4/modules/httpd.yml b/docs/4/modules/httpd.yml deleted file mode 120000 index 71bbe35da..000000000 --- a/docs/4/modules/httpd.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/httpd.yml \ No newline at end of file diff --git a/docs/4/modules/httpd.yml b/docs/4/modules/httpd.yml new file mode 100644 index 000000000..935991189 --- /dev/null +++ b/docs/4/modules/httpd.yml @@ -0,0 +1,48 @@ +name: httpd + +description: |- + This module allows the server administrator to serve various useful resources over HTTP. + +configuration: +- name: bind + description: |- + This module extends [the core `<bind>` tags](/{{ version }}/configuration#bind) with the following listener types: + extends: true + added_values: + - name: httpd + description: |- + Listens for HTTP connections. + details: "" + example: |- + Listens for plaintext HTTP connections on the 127.0.0.1:8080 endpoint: + + ```xml + <bind address="127.0.0.1" + port="8080" + ... + type="httpd"> + ``` +- name: httpd + description: |- + The `<httpd>` tag defines settings about how the httpd module should behave. This tag can only be defined once. + attributes: + - name: timeout + type: Duration + required: false + default: 10s + description: |- + The duration to timeout HTTP connections after. + details: "" + example: |- + ```xml + <httpd timeout="10s"> + ``` + +special_notes: |- + The following HTTP resource modules can be used in conjunction with this module: + + Name | Description + --------------------------------------------------- | ----------- + [httpd_acl](/{{ version }}/modules/httpd_acl) | Allows access to other HTTP resources to be restricted. + [httpd_config](/{{ version }}/modules/httpd_config) | Allows the server configuration to be viewed over HTTP. + [httpd_stats](/{{ version }}/modules/httpd_stats) | Provides statistics about the server and the channels and users on it. diff --git a/docs/4/modules/httpd_acl.yml b/docs/4/modules/httpd_acl.yml deleted file mode 120000 index f74346ef1..000000000 --- a/docs/4/modules/httpd_acl.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/httpd_acl.yml \ No newline at end of file diff --git a/docs/4/modules/httpd_acl.yml b/docs/4/modules/httpd_acl.yml new file mode 100644 index 000000000..0bf7966bf --- /dev/null +++ b/docs/4/modules/httpd_acl.yml @@ -0,0 +1,80 @@ +name: httpd_acl + +description: |- + This module allows the server administrator to control who can access resources served over HTTP with [the httpd module](/{{ version }}/modules/httpd). + +configuration: +- name: httpdacl + description: |- + The `<httpdacl>` tag defines settings about how the httpd_acl module should behave. This tag can be defined as many times as required. + attributes: + - name: path + type: Text + required: true + default: null + description: |- + The path to protect with this ACL rule. + - name: types + type: Text + required: true + default: null + description: |- + A comma-delimited list of types which apply to this ACL rule. + - name: blacklist + type: Text + required: false + default: null + description: |- + **Required for the blacklist type!** A comma-delimited list of IP addresses to deny access to this path from. + - name: password + type: Text + required: false + default: null + description: |- + **Required for the password type!** The password that HTTP connections must provide with their request. + - name: username + type: Text + required: false + default: null + description: |- + **Required for the password type!** The username that HTTP connections must provide with their request. + - name: whitelist + type: Text + required: false + default: null + description: |- + **Required for the blacklist type!** A comma-delimited list of IP addresses to allow access to this path from. + details: |- + The types field should be set to one or more of the following values: + + Value | Description + --------- | ----------- + blacklist | Deny connections from the specified IP addresses. + password | Require connections to provide the specified username and password. + whitelist | Allow connections from the specified IP addresses. + + example: |- + Denies access to the /stats\* path from 192.0.2.\* and 192.198.51.100.\*: + + ```xml + <httpdacl path="/stats*" + types="blacklist" + blacklist="192.0.2.*,192.198.51.100.*"> + ``` + + Only allows access to the /config\* path from 203.0.113.\*: + + ```xml + <httpdacl path="/config*" + types="whitelist" + whitelist="203.0.113.*"> + ``` + + Requires requests to provide the username "inspircd" and password "correct horse battery staple": + + ```xml + <httpdacl path="/*" + types="password" + username="inspircd" + password="correct horse battery staple"> + ``` diff --git a/docs/4/modules/httpd_config.yml b/docs/4/modules/httpd_config.yml deleted file mode 120000 index 255f77032..000000000 --- a/docs/4/modules/httpd_config.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/httpd_config.yml \ No newline at end of file diff --git a/docs/4/modules/httpd_config.yml b/docs/4/modules/httpd_config.yml new file mode 100644 index 000000000..1a74e5029 --- /dev/null +++ b/docs/4/modules/httpd_config.yml @@ -0,0 +1,7 @@ +name: httpd_config + +description: |- + This module allows the server configuration to be viewed over HTTP via the /config path. + +special_notes: |- + Leaking your server configuration over the internet is a privacy and security risk. You should avoid doing this by either configuring [the httpd module](/{{ version }}/modules/httpd) to only listen for local connections or by using [the httpd_acl module](/{{ version }}/modules/httpd_acl) to restrict who can view your server configuration. diff --git a/docs/4/modules/ircv3.yml b/docs/4/modules/ircv3.yml deleted file mode 120000 index 2300d7c9c..000000000 --- a/docs/4/modules/ircv3.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3.yml b/docs/4/modules/ircv3.yml new file mode 100644 index 000000000..bd312e856 --- /dev/null +++ b/docs/4/modules/ircv3.yml @@ -0,0 +1,57 @@ +name: ircv3 + +description: |- + This module provides the IRCv3 `account-notify`, `away-notify`, `extended-join`, and `standard-replies` client capabilities. + +configuration: +- name: ircv3 + description: |- + The `<ircv3>` tag defines settings about how the ircv3 module should behave. This tag can only be defined once. + attributes: + - name: accountnotify + type: Boolean + required: false + default: 'Yes' + description: |- + Whether the `account-notify` client capability is enabled. + - name: awaynotify + type: Boolean + required: false + default: 'Yes' + description: |- + Whether the `away-notify` client capability is enabled. + - name: extendedjoin + type: Boolean + required: false + default: 'Yes' + description: |- + Whether the `extended-join` client capability is enabled. + - name: standardreplies + type: Boolean + required: false + default: 'Yes' + description: |- + Whether the `standard-replies` client capability is enabled. + + details: "" + example: |- + ```xml + <ircv3 accountnotify="yes" + awaynotify="yes" + extendedjoin="yes" + standardreplies="yes"> + ``` + +client_caps: +- name: '[account-notify](https://ircv3.net/specs/extensions/account-notify.html)' + description: |- + Allows the client to be notified when a user's account name changes. +- name: '[away-notify](https://ircv3.net/specs/extensions/away-notify.html)' + description: |- + Allows the client to be notified when a user's away status changes. +- name: '[extended-join](https://ircv3.net/specs/extensions/extended-join.html)' + description: |- + Extends the server-to-client JOIN message to include the joining user's account name and real name. +- name: '[standard-replies](https://ircv3.net/specs/extensions/standard-replies)' + description: |- + Allows clients to receive arbitrary standard replies instead of server notices or custom numerics. diff --git a/docs/4/modules/ircv3_accounttag.yml b/docs/4/modules/ircv3_accounttag.yml deleted file mode 120000 index 836140da4..000000000 --- a/docs/4/modules/ircv3_accounttag.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_accounttag.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_accounttag.yml b/docs/4/modules/ircv3_accounttag.yml new file mode 100644 index 000000000..f118645c1 --- /dev/null +++ b/docs/4/modules/ircv3_accounttag.yml @@ -0,0 +1,9 @@ +name: ircv3_accounttag + +description: |- + This module provides the IRCv3 `account-tag` client capability. + +client_caps: +- name: '[account-tag](https://ircv3.net/specs/extensions/account-tag.html)' + description: |- + Adds an `account` tag with the services account of the sender to all messages. diff --git a/docs/4/modules/ircv3_batch.yml b/docs/4/modules/ircv3_batch.yml deleted file mode 120000 index 07c7f0e58..000000000 --- a/docs/4/modules/ircv3_batch.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_batch.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_batch.yml b/docs/4/modules/ircv3_batch.yml new file mode 100644 index 000000000..94ffaffc9 --- /dev/null +++ b/docs/4/modules/ircv3_batch.yml @@ -0,0 +1,9 @@ +name: ircv3_batch + +description: |- + This module provides the IRCv3 `batch` client capability. + +client_caps: +- name: '[batch](https://ircv3.net/specs/extensions/batch.html)' + description: |- + Adds support for batching multiple messages together. diff --git a/docs/4/modules/ircv3_capnotify.yml b/docs/4/modules/ircv3_capnotify.yml deleted file mode 120000 index c4659db9c..000000000 --- a/docs/4/modules/ircv3_capnotify.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_capnotify.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_capnotify.yml b/docs/4/modules/ircv3_capnotify.yml new file mode 100644 index 000000000..29ae2812b --- /dev/null +++ b/docs/4/modules/ircv3_capnotify.yml @@ -0,0 +1,9 @@ +name: ircv3_capnotify + +description: |- + This module provides the IRCv3 `cap-notify` client capability. + +client_caps: +- name: '[cap-notify](https://ircv3.net/specs/extensions/capability-negotiation.html#cap-notify)' + description: |- + Notifies users when client capabilities are added or removed. diff --git a/docs/4/modules/ircv3_chghost.yml b/docs/4/modules/ircv3_chghost.yml deleted file mode 120000 index ecd175110..000000000 --- a/docs/4/modules/ircv3_chghost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_chghost.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_chghost.yml b/docs/4/modules/ircv3_chghost.yml new file mode 100644 index 000000000..f5f129e39 --- /dev/null +++ b/docs/4/modules/ircv3_chghost.yml @@ -0,0 +1,9 @@ +name: ircv3_chghost + +description: |- + This module provides the IRCv3 `chghost` client capability. + +client_caps: +- name: '[chghost](https://ircv3.net/specs/extensions/chghost.html)' + description: |- + Notifies users when the username (ident) or hostname of a user they share a channel with changes. diff --git a/docs/4/modules/ircv3_echomessage.yml b/docs/4/modules/ircv3_echomessage.yml deleted file mode 120000 index afef9843c..000000000 --- a/docs/4/modules/ircv3_echomessage.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_echomessage.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_echomessage.yml b/docs/4/modules/ircv3_echomessage.yml new file mode 100644 index 000000000..673011090 --- /dev/null +++ b/docs/4/modules/ircv3_echomessage.yml @@ -0,0 +1,9 @@ +name: ircv3_echomessage + +description: |- + This module provides the IRCv3 `echo-message` client capability. + +client_caps: +- name: '[echo-message](https://ircv3.net/specs/extensions/echo-message.html)' + description: |- + Echoes `NOTICE`, `PRIVMSG`, and `TAGMSG` messages back to the sender. diff --git a/docs/4/modules/ircv3_invitenotify.yml b/docs/4/modules/ircv3_invitenotify.yml deleted file mode 120000 index 7825306cc..000000000 --- a/docs/4/modules/ircv3_invitenotify.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_invitenotify.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_invitenotify.yml b/docs/4/modules/ircv3_invitenotify.yml new file mode 100644 index 000000000..90c93a066 --- /dev/null +++ b/docs/4/modules/ircv3_invitenotify.yml @@ -0,0 +1,9 @@ +name: ircv3_invitenotify + +description: |- + This module provides the IRCv3 `invite-notify` client capability. + +client_caps: +- name: '[invite-notify](https://ircv3.net/specs/extensions/invite-notify.html)' + description: |- + Notifies users when a user is invited to the channel. diff --git a/docs/4/modules/ircv3_servertime.yml b/docs/4/modules/ircv3_servertime.yml deleted file mode 120000 index 0c694d7dd..000000000 --- a/docs/4/modules/ircv3_servertime.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ircv3_servertime.yml \ No newline at end of file diff --git a/docs/4/modules/ircv3_servertime.yml b/docs/4/modules/ircv3_servertime.yml new file mode 100644 index 000000000..6ffeb1654 --- /dev/null +++ b/docs/4/modules/ircv3_servertime.yml @@ -0,0 +1,9 @@ +name: ircv3_servertime + +description: |- + This module provides the IRCv3 `server-time` client capability. + +client_caps: +- name: '[server-time](https://ircv3.net/specs/extensions/server-time.html)' + description: |- + Adds a `time` tag with the time the message was sent to all messages. diff --git a/docs/4/modules/kicknorejoin.yml b/docs/4/modules/kicknorejoin.yml deleted file mode 120000 index c7acc03ec..000000000 --- a/docs/4/modules/kicknorejoin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/kicknorejoin.yml \ No newline at end of file diff --git a/docs/4/modules/kicknorejoin.yml b/docs/4/modules/kicknorejoin.yml new file mode 100644 index 000000000..f650ef0bf --- /dev/null +++ b/docs/4/modules/kicknorejoin.yml @@ -0,0 +1,19 @@ +name: kicknorejoin + +description: |- + This module adds channel mode `J` (kicknorejoin) which prevents users from rejoining after being kicked from a channel. + +chmodes: + chars: + - name: kicknorejoin + char: J + type: Parameter + syntax: <seconds> + usable_by: Channel operators + description: |- + Prevents who have been kicked from rejoining until <seconds> seconds have passed. + example: + - description: |- + Prevents kicked users from rejoining for 30 seconds + text: |- + /MODE #channel +J 30 diff --git a/docs/4/modules/knock.yml b/docs/4/modules/knock.yml deleted file mode 120000 index bd9da3be9..000000000 --- a/docs/4/modules/knock.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/knock.yml \ No newline at end of file diff --git a/docs/4/modules/knock.yml b/docs/4/modules/knock.yml new file mode 100644 index 000000000..da9e1175d --- /dev/null +++ b/docs/4/modules/knock.yml @@ -0,0 +1,52 @@ +name: knock + +description: |- + This module adds the `/KNOCK` command which allows users to request access to an invite-only channel and channel mode `K` (noknock) which allows channels to disable usage of this command. + +configuration: +- name: knock + description: |- + The `<knock>` tag defines settings about how the knock module should behave. This tag can only be defined once. + attributes: + - name: notify + type: Text + required: false + default: notice + description: |- + How to notify channel members that a user would like to join the channel. + details: |- + The notify field should be set to one of the following values: + + Value | Description + ------- | ----------- + both | Send both numeric `710` (RPL_KNOCK) and a `NOTICE` when a user requests access to an invite-only channel. + notice | Send a `NOTICE` when a user requests access to an invite-only channel. + numeric | Send numeric `710` (RPL_KNOCK) when a user requests access to an invite-only channel. + + example: |- + ```xml + <knock notify="notice"> + ``` + +chmodes: + chars: + - name: noknock + char: K + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Disables the usage of the `/KNOCK` command on this channel. + example: "" + +commands: +- name: KNOCK + param_count: 2 + syntax: <channel> <reason> + description: |- + Requests permission to join <channel> with the reason specified in <reason>. + example: + - description: |- + Knocks on #channel with the reason "Please let me in!" + text: |- + /KNOCK #channel :Please let me in! diff --git a/docs/4/modules/ldap.yml b/docs/4/modules/ldap.yml deleted file mode 120000 index fa479856d..000000000 --- a/docs/4/modules/ldap.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ldap.yml \ No newline at end of file diff --git a/docs/4/modules/ldap.yml b/docs/4/modules/ldap.yml new file mode 100644 index 000000000..0d5e99084 --- /dev/null +++ b/docs/4/modules/ldap.yml @@ -0,0 +1,76 @@ +name: ldap + +introduction: "" + +depends_on: + what: a third-party library ([OpenLDAP](https://www.openldap.org)) + +description: |- + This module provides the ability for LDAP modules to query a LDAP directory. + +configuration: +- name: database + description: |- + The `<database>` tag defines a PostgreSQL database to connect to. This tag can be defined as many times as required. + attributes: + - name: module + type: Text + required: true + default: null + description: |- + *This MUST be set to "ldap" to connect to an LDAP directory.* + - name: id + type: Text + required: true + default: null + description: |- + The name that LDAP-using modules can refer to this `<database>` tag using. + - name: bindauth + type: Text + required: true + default: null + description: |- + The password for the Distinguished Name specified in the binddn field. + - name: binddn + type: Text + required: true + default: null + description: |- + The Distinguished Name to bind to for searching, + - name: searchscope + type: Text + required: false + default: subtree + description: |- + The scope of the search for the LDAP entry. + - name: server + type: Text + required: false + default: null + description: |- + **Required** The `ldaps://` or `ldap://` URL for your LDAP server. + - name: timeout + type: Duration + required: false + default: 5s + description: |- + The time to wait before expiring an unresponsive LDAP connection. + details: |- + The searchscope field should be set to one of the following values: + + Value | Description + -------- | ----------- + base | Search only the LDAP object itself. + onelevel | Search the LDAP object and its immediate children. + subtree | Search the LDAP object and all descendants. + + example: |- + ```xml + <database module="ldap" + id="users" + bindauth="password" + binddn="cn=Manager,dc=inspircd,dc=org" + searchscope="subtree" + server="ldaps://localhost" + timeout="5s"> + ``` diff --git a/docs/4/modules/ldapoper.yml b/docs/4/modules/ldapoper.yml deleted file mode 120000 index ec3e48ed7..000000000 --- a/docs/4/modules/ldapoper.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ldapoper.yml \ No newline at end of file diff --git a/docs/4/modules/ldapoper.yml b/docs/4/modules/ldapoper.yml new file mode 100644 index 000000000..46ce24d31 --- /dev/null +++ b/docs/4/modules/ldapoper.yml @@ -0,0 +1,35 @@ +name: ldapoper + +description: |- + This module allows server operators to be authenticated against an LDAP database. + +configuration: +- name: ldapoper + description: |- + The `<ldapoper>` tag defines settings about how the ldapoper module should behave. This tag can only be defined once. + attributes: + - name: attribute + type: Text + required: true + default: null + description: |- + The attribute which is used to locate an account by name. On POSIX systems this is usually "uid". + - name: baserdn + type: Text + required: true + default: null + description: |- + The base Distinguished Name to search in for users. + - name: dbid + type: Text + required: true + default: null + description: |- + The id of the `<database>` tag that contains the required LDAP configuration. See the docs for [the ldap module](/{{ version }}/modules/ldap) for more information. + details: "" + example: |- + ```xml + <ldapoper attribute="uid" + baserdn="ou=People,dc=example,dc=com" + dbid="ldap-opers"> + ``` diff --git a/docs/4/modules/maphide.yml b/docs/4/modules/maphide.yml deleted file mode 120000 index cfa9eca9c..000000000 --- a/docs/4/modules/maphide.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/maphide.yml \ No newline at end of file diff --git a/docs/4/modules/maphide.yml b/docs/4/modules/maphide.yml new file mode 100644 index 000000000..914fd910b --- /dev/null +++ b/docs/4/modules/maphide.yml @@ -0,0 +1,23 @@ +name: maphide + +description: |- + This module allows the server administrator to replace the output of a `/MAP` and `/LINKS` with an URL. + +configuration: +- name: security + description: |- + This module extends [the core `<security>` tag](/{{ version }}/configuration#security) with the following fields: + extends: true + attributes: + - name: maphide + type: Text + required: true + default: null + description: |- + The URL to provide to users who run the `/MAP` and `/LINKS` commands. + details: "" + example: |- + ```xml + <security ... + maphide="https://www.example.com/servers"> + ``` diff --git a/docs/4/modules/monitor.yml b/docs/4/modules/monitor.yml deleted file mode 120000 index c772b444f..000000000 --- a/docs/4/modules/monitor.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/monitor.yml \ No newline at end of file diff --git a/docs/4/modules/monitor.yml b/docs/4/modules/monitor.yml new file mode 100644 index 000000000..50a7a0478 --- /dev/null +++ b/docs/4/modules/monitor.yml @@ -0,0 +1,58 @@ +name: monitor + +description: |- + This module adds the `/MONITOR` command which allows users to find out when their friends are connected to the server. + +configuration: +- name: monitor + description: |- + The `<monitor>` tag defines settings about how the monitor module should behave. This tag can only be defined once. + attributes: + - name: maxentries + type: Number + required: false + default: 30 + description: |- + The maximum number of entries on a user's monitor list. + details: "" + example: |- + ```xml + <monitor maxentries="32"> + ``` + +commands: +- name: MONITOR + param_count: 1, 2 + syntax: + - (+|-) <nick>,[<nick>]+ + - C + - L + - S + description: |- + Manipulates the contents of the executing user's monitor list. + example: + - description: |- + Adds Sadie to the monitor list + text: |- + /MONITOR + Sadie + - description: |- + Removes Sadie from the monitor list + text: |- + /MONITOR - Sadie + - description: |- + Removes all users from the monitor list + text: |- + /MONITOR C + - description: |- + Lists all users on the monitor list + text: |- + /MONITOR L + - description: |- + Shows the status of all monitored users + text: |- + /MONITOR S + +client_caps: +- name: '[extended-monitor](https://ircv3.net/specs/extensions/extended-monitor)' + description: |- + Allows sending state change messages (`AWAY`, `ACCOUNT`, `CHGHOST`, `SETNAME`) for monitored clients without a common channel. diff --git a/docs/4/modules/muteban.yml b/docs/4/modules/muteban.yml deleted file mode 120000 index 8179912aa..000000000 --- a/docs/4/modules/muteban.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/muteban.yml \ No newline at end of file diff --git a/docs/4/modules/muteban.yml b/docs/4/modules/muteban.yml new file mode 100644 index 000000000..81db5b23c --- /dev/null +++ b/docs/4/modules/muteban.yml @@ -0,0 +1,31 @@ +name: muteban + +description: |- + This module adds extended ban `m:` (mute) which bans specific masks from speaking in a channel. + +configuration: +- name: muteban + description: |- + The `<muteban>` tag defines settings about how the muteban module should behave. This tag can only be defined once. + attributes: + - name: notifyuser + type: Boolean + required: false + default: 'Yes' + description: |- + Whether to notify users who try to message a channel whilst mutebanned. + details: "" + example: |- + ```xml + <muteban notifyuser="yes"> + ``` + +extbans: + description: "" + chars: + - name: mute + char: m + type: Acting + syntax: <mask> + description: Bans <mask> from speaking in the channel. + example: "" diff --git a/docs/4/modules/namedmodes.yml b/docs/4/modules/namedmodes.yml deleted file mode 120000 index 6187ffa3e..000000000 --- a/docs/4/modules/namedmodes.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/namedmodes.yml \ No newline at end of file diff --git a/docs/4/modules/namedmodes.yml b/docs/4/modules/namedmodes.yml new file mode 100644 index 000000000..f8092eaca --- /dev/null +++ b/docs/4/modules/namedmodes.yml @@ -0,0 +1,63 @@ +name: namedmodes + +description: |- + This module provides support for adding and removing modes via their long names. + +chmodes: + chars: + - name: namebase + char: Z + type: List + syntax: <name>[=<value>] + usable_by: Depends on the mode in <name> + description: |- + Allows users to add, remove, and view the modes of a specific target. + example: + - description: |- + Lists all channel modes set on #channel + text: |- + /MODE #channel +Z + - description: |- + Sets channel mode `n` (noextmsg) on #channel + text: |- + /MODE #channel +Z noextmsg + - description: |- + Sets channel mode `o` (op) on Sadie in #channel + text: |- + /MODE #channel +Z op=Sadie + - description: |- + Removes channel mode `n` (noextmsg) from #channel + text: |- + /MODE #channel -Z noextmsg + - description: |- + Removes channel mode `o` (op) from Sadie in #channel + text: |- + /MODE #channel -Z op=Sadie + +commands: +- name: PROP + param_count: 1+ + syntax: <target> [(+|-)<name> [<value>]]+ + description: |- + Allows users to add, remove, and view the modes of a specific target. + example: + - description: |- + Lists all channel modes set on #channel + text: |- + /PROP #channel + - description: |- + Sets channel mode `n` (noextmsg) on #channel + text: |- + /PROP #channel +noextmsg + - description: |- + Sets channel mode `o` (op) on Sadie in #channel + text: |- + /PROP #channel +op Sadie + - description: |- + Removes channel mode `n` (noextmsg) from #channel + text: |- + /PROP #channel -noextmsg + - description: |- + Removes channel mode `o` (op) from Sadie in #channel + text: |- + /PROP #channel -op Sadie diff --git a/docs/4/modules/nickflood.yml b/docs/4/modules/nickflood.yml deleted file mode 120000 index 34a61c5b4..000000000 --- a/docs/4/modules/nickflood.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/nickflood.yml \ No newline at end of file diff --git a/docs/4/modules/nickflood.yml b/docs/4/modules/nickflood.yml new file mode 100644 index 000000000..5b46096cc --- /dev/null +++ b/docs/4/modules/nickflood.yml @@ -0,0 +1,40 @@ +name: nickflood + +description: |- + This module adds channel mode `F` (nickflood) which helps protect against spammers which mass-change nicknames. + +configuration: +- name: nickflood + description: |- + The `<nickflood>` tag defines settings about how the nickflood module should behave. This tag can only be defined once. + attributes: + - name: duration + type: Duration + required: false + default: 1m + description: |- + The time period that nick changes should be locked for once a nick flood has been detected. + details: "" + example: |- + ```xml + <nickflood duration="60s"> + ``` + +chmodes: + chars: + - name: nickflood + char: F + type: Parameter + syntax: <changes>:<seconds> + usable_by: Channel operators + description: |- + Prevents more than <changes> nickname changes in the last <seconds> seconds. + example: + - description: |- + Prevents more than three nickname changes in the last five seconds + text: |- + /MODE #channel +F 3:5 + +exemptions: +- name: flood + description: Allows exempted users to change nicknames at a higher rate than channel mode `F` (nickflood) allows. diff --git a/docs/4/modules/nicklock.yml b/docs/4/modules/nicklock.yml deleted file mode 120000 index d76943336..000000000 --- a/docs/4/modules/nicklock.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/nicklock.yml \ No newline at end of file diff --git a/docs/4/modules/nicklock.yml b/docs/4/modules/nicklock.yml new file mode 100644 index 000000000..f62613915 --- /dev/null +++ b/docs/4/modules/nicklock.yml @@ -0,0 +1,29 @@ +name: nicklock + +description: |- + This module adds the `/NICKLOCK` command which allows server operators to change a user's nickname and prevent them from changing it again until they disconnect. + +commands: +- name: NICKLOCK + param_count: 2 + oper_only: true + syntax: <old-nick> <new-nick> + description: |- + Changes the nickname of <old-nick> to <new-nick> and prevents them from changing their nickname. + example: + - description: |- + Changes the nickname of Sadie to Sadie2 and prevents them from changing their nickname + text: |- + /NICKLOCK Sadie Sadie2 + +- name: NICKUNLOCK + param_count: 1 + oper_only: true + syntax: <locked-nick> + description: |- + Allows <locked-nick> to change their nickname. + example: + - description: |- + Allows Sadie2 to change their nickname + text: |- + /NICKUNLOCK Sadie2 diff --git a/docs/4/modules/noctcp.yml b/docs/4/modules/noctcp.yml deleted file mode 120000 index 75b6910cb..000000000 --- a/docs/4/modules/noctcp.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/noctcp.yml \ No newline at end of file diff --git a/docs/4/modules/noctcp.yml b/docs/4/modules/noctcp.yml new file mode 100644 index 000000000..8d6e5cbc8 --- /dev/null +++ b/docs/4/modules/noctcp.yml @@ -0,0 +1,84 @@ +name: noctcp + +description: |- + This module adds channel mode `C` (noctcp) which allows channels to block messages which contain CTCPs and user mode `T` (u_noctcp) which allows users to block private messages that contain CTCPs. + +configuration: +- name: noctcp + description: |- + The `<noctcp>` tag defines settings about how the noctcp module should behave. This tag can only be defined once. + attributes: + - name: enableumode + type: Boolean + required: false + default: 'No' + description: |- + Whether user mode `T` (u_noctcp) is enabled. You must restart after changing this setting for it to be applied. + details: "" + example: |- + ```xml + <noctcp enableumode="yes"> + ``` +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: channels/ignore-noctcp + description: |- + Allows server operators to send a CTCP to a channel with the `C` (noctcp) mode set. + - name: users/ignore-noctcp + description: |- + Allows server operators to send a CTCP to a user with the `T` (u_noctcp) mode set. + details: "" + example: |- + Allows server operators with the class named BasicOper to send a CTCP to a channel or user with the respective mode set. + + ```xml + <class name="BasicOper" + ... + privs="... channels/ignore-noctcp users/ignore-noctcp ..."> + ``` + +chmodes: + chars: + - name: noctcp + char: C + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Enables blocking channel messages that contain CTCPs. + example: "" + +umodes: + chars: + - name: u_noctcp + char: T + type: Switch + syntax: null + usable_by: Anyone + description: |- + Enables blocking private messages that contain CTCPs. + example: "" + +exemptions: +- name: noctcp + description: Allows exempted users to send messages that contain CTCPs. + +extbans: + description: "" + chars: + - name: noctcp + char: C + type: Acting + syntax: <mask> + description: Bans <mask> from sending messages that contain CTCPs. + example: + - description: |- + Bans users matching `*!*@example.com` from sending messages that contain CTCPs + text: |- + /MODE #channel +b C:*!*@example.com + +special_notes: |- + Actions (i.e. /ME) use a CTCP internally but are not blocked by this module. diff --git a/docs/4/modules/nonicks.yml b/docs/4/modules/nonicks.yml deleted file mode 120000 index 1b8b9a388..000000000 --- a/docs/4/modules/nonicks.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/nonicks.yml \ No newline at end of file diff --git a/docs/4/modules/nonicks.yml b/docs/4/modules/nonicks.yml new file mode 100644 index 000000000..cf775ca98 --- /dev/null +++ b/docs/4/modules/nonicks.yml @@ -0,0 +1,48 @@ +name: nonicks + +description: |- + This module adds channel mode `N` (nonick) which prevents users from changing their nickname whilst in the channel. + +configuration: +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: channels/ignore-nonicks + description: |- + Allows server operators to change their nick when on a channel with the `N` (nonick) mode set. + details: "" + example: |- + Allows server operators with the class named BasicOper to change their nick when on a channel with the `N` (nonick) mode set. + + ```xml + <class name="BasicOper" + ... + privs="... channels/ignore-nonicks ..."> + ``` + +chmodes: + chars: + - name: nonick + char: N + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Prevents users from changing their nickname whilst in the channel. + example: "" + +extbans: + description: "" + chars: + - name: nonick + char: N + type: Acting + syntax: <mask> + description: Bans users matching <mask> from changing their nickname whilst in the channel. + example: + - description: |- + Bans users matching `*!*@example.com` from changing their nickname whilst in the channel + text: |- + /MODE #channel +b N:*!*@example.com diff --git a/docs/4/modules/nonotice.yml b/docs/4/modules/nonotice.yml deleted file mode 120000 index 8911763b9..000000000 --- a/docs/4/modules/nonotice.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/nonotice.yml \ No newline at end of file diff --git a/docs/4/modules/nonotice.yml b/docs/4/modules/nonotice.yml new file mode 100644 index 000000000..2ed56f2bf --- /dev/null +++ b/docs/4/modules/nonotice.yml @@ -0,0 +1,33 @@ +name: nonotice + +description: |- + This module adds channel mode `T` (nonotice) which allows channels to block messages sent with the `/NOTICE` command. + +chmodes: + chars: + - name: nonotice + char: T + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Enables blocking messages sent with the `/NOTICE` command. + example: "" + +exemptions: +- name: nonotice + description: Allows exempted users to send messages with the `/NOTICE` command. + +extbans: + description: "" + chars: + - name: nonotice + char: T + type: Acting + syntax: <mask> + description: Bans <mask> from sending messages with the `/NOTICE` command. + example: + - description: |- + Bans users matching `*!*@example.com` from sending messages with the `/NOTICE` command + text: |- + /MODE #channel +b T:*!*@example.com diff --git a/docs/4/modules/ojoin.yml b/docs/4/modules/ojoin.yml deleted file mode 120000 index 4f4911b2d..000000000 --- a/docs/4/modules/ojoin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/ojoin.yml \ No newline at end of file diff --git a/docs/4/modules/ojoin.yml b/docs/4/modules/ojoin.yml new file mode 100644 index 000000000..e3137c7b0 --- /dev/null +++ b/docs/4/modules/ojoin.yml @@ -0,0 +1,64 @@ +name: ojoin + +description: |- + This module adds the `/OJOIN` command which allows server operators to join a channel and receive the server operator-only `Y` (official-join) channel prefix mode. + +configuration: +- name: ojoin + description: |- + The `<ojoin>` tag defines settings about how the ojoin module should behave. This tag can only be defined once. + attributes: + - name: notice + type: Boolean + required: false + default: 'Yes' + description: |- + Whether to inform channel members that a server operator is joining on official network business. + - name: op + type: Boolean + required: false + default: 'Yes' + description: |- + Whether to also give joining server operators the `o` (op) channel prefix mode. + - name: prefix + type: Character + required: false + default: null + description: |- + If defined then the prefix character to use for the `Y` (official-join) channel prefix mode. + details: "" + example: |- + ```xml + <ojoin notice="yes" + op="yes" + prefix="!"> + ``` + +chmodes: + chars: + - name: official-join + char: Y + type: Prefix + syntax: <nick> + usable_by: Server operators + description: |- + Grants channel official-join status to <nick>. + example: "" + +commands: +- name: OJOIN + param_count: 1 + oper_only: true + syntax: <channel> + description: |- + Joins <channel> with the server operator-only `Y` (official-join) channel prefix mode. + example: + - description: |- + Joins #example with the server operator-only `Y` (official-join) channel prefix mode + text: |- + /OJOIN #example + +special_notes: |- + The `Y` (official-join) channel prefix mode can not be directly set by users. To enable this channel prefix mode log into a server operator account and use the `/OJOIN` command. + + If you want the `Y` (official-join) channel prefix mode to be active at all times consider using [the operprefix module](/{{ version }}/modules/operprefix) instead. diff --git a/docs/4/modules/operjoin.yml b/docs/4/modules/operjoin.yml deleted file mode 120000 index ae43f480c..000000000 --- a/docs/4/modules/operjoin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/operjoin.yml \ No newline at end of file diff --git a/docs/4/modules/operjoin.yml b/docs/4/modules/operjoin.yml new file mode 100644 index 000000000..ee03c763f --- /dev/null +++ b/docs/4/modules/operjoin.yml @@ -0,0 +1,58 @@ +name: operjoin + +description: |- + This module allows the server administrator to force server operators to join one or more channels when logging into their server operator account. + +configuration: +- name: [oper, type] + description: |- + This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: + extends: true + attributes: + - name: autojoin + type: Text + required: false + default: null + description: |- + A comma-delimited list of channels for server operators to be joined to when logging into their server operator account. + details: "" + example: |- + Forces Sadie to join #example1 and #example2 when logging into their server operator account: + + ```xml + <oper name="Sadie" + ... + autojoin="#example1,#example2"> + ``` + + Forces server operators of type NetAdmin to join #example1 and #example2 when logging into their server operator account: + + ```xml + <type name="NetAdmin" + ... + autojoin="#example1,#example2"> + ``` +- name: operjoin + description: |- + The `<operjoin>` tag defines settings about how the operjoin module should behave. This tag can only be defined once. + attributes: + - name: channel + type: Text + required: false + default: null + description: |- + A comma-delimited list of channels for server operators to be joined to when logging into their server operator account. + - name: override + type: Boolean + required: false + default: 'No' + description: |- + Whether to force server operators into the channel regardless of any channel modes that might normally prevent them from joining. + details: "" + example: |- + Forces all server operators to join #example when logging into their server operator account: + + ```xml + <operjoin channel="#example" + override="yes"> + ``` diff --git a/docs/4/modules/operlevels.yml b/docs/4/modules/operlevels.yml deleted file mode 120000 index 912524ab8..000000000 --- a/docs/4/modules/operlevels.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/operlevels.yml \ No newline at end of file diff --git a/docs/4/modules/operlevels.yml b/docs/4/modules/operlevels.yml new file mode 100644 index 000000000..23f2200f3 --- /dev/null +++ b/docs/4/modules/operlevels.yml @@ -0,0 +1,42 @@ +name: operlevels + +description: |- + This module allows the server administrator to define ranks for server operators which prevent lower ranked server operators from using `/KILL` on higher ranked server operators. + +configuration: +- name: [oper, type] + description: |- + This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: + extends: true + attributes: + - name: level + type: Number + required: false + default: 0 + description: |- + The rank to give to the server operators. + details: "" + example: |- + Creates two server operators, Sadie and Adam, where the former will be able to `/KILL` the latter but the latter will not be able to kill the former: + + ```xml + <oper name="Sadie" + ... + level="100"> + + <oper name="Adam" + ... + level="50"> + ``` + + Creates two server operator types, NetAdmin and Helper, where the former will be able to `/KILL` the latter but the latter will not be able to kill the former: + + ```xml + <type name="NetAdmin" + ... + level="100"> + + <type name="Helper" + ... + level="50"> + ``` diff --git a/docs/4/modules/opermodes.yml b/docs/4/modules/opermodes.yml deleted file mode 120000 index 1cf124f8f..000000000 --- a/docs/4/modules/opermodes.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/opermodes.yml \ No newline at end of file diff --git a/docs/4/modules/opermodes.yml b/docs/4/modules/opermodes.yml new file mode 100644 index 000000000..631035764 --- /dev/null +++ b/docs/4/modules/opermodes.yml @@ -0,0 +1,34 @@ +name: opermodes + +description: |- + This module allows the server administrator to set user modes on server operators when they log into their server operator account. + +configuration: +- name: [oper, type] + description: |- + This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: + extends: true + attributes: + - name: modes + type: Text + required: false + default: null + description: |- + The user modes to set on server operators when they log into their server operator account. + details: "" + example: |- + Forces Sadie to have user modes `sw` (snomask, wallops) and all available snomasks when logging into their server operator account: + + ```xml + <oper name="Sadie" + ... + modes="+sw +*"> + ``` + + Forces server operators of type NetAdmin to have user modes `sw` (snomask, wallops) and all available snomasks when logging into their server operator account: + + ```xml + <type name="NetAdmin" + ... + modes="+sw +*"> + ``` diff --git a/docs/4/modules/operprefix.yml b/docs/4/modules/operprefix.yml deleted file mode 120000 index acd766d2c..000000000 --- a/docs/4/modules/operprefix.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/operprefix.yml \ No newline at end of file diff --git a/docs/4/modules/operprefix.yml b/docs/4/modules/operprefix.yml new file mode 100644 index 000000000..76bc4fba6 --- /dev/null +++ b/docs/4/modules/operprefix.yml @@ -0,0 +1,37 @@ +name: operprefix + +description: |- + This module adds the server operator-only `y` (operprefix) channel prefix mode. + +configuration: +- name: operprefix + description: |- + The `<operprefix>` tag defines settings about how the operprefix module should behave. This tag can only be defined once. + attributes: + - name: prefix + type: Character + required: false + default: '!' + description: |- + The prefix character to use for the `y` (operprefix) channel prefix mode. + details: "" + example: |- + ```xml + <operprefix prefix="!"> + ``` + +chmodes: + chars: + - name: operprefix + char: y + type: Prefix + syntax: <nick> + usable_by: Server operators + description: |- + Grants channel operprefix status to <nick>. + example: "" + +special_notes: |- + The `y` (operprefix) channel prefix mode can not be directly set by users. To enable this channel prefix mode log into a server operator account. + + If you don't want the `y` (operprefix) channel prefix mode to be active at all times consider using [the ojoin module](/{{ version }}/modules/ojoin) instead. diff --git a/docs/4/modules/password_hash.yml b/docs/4/modules/password_hash.yml deleted file mode 120000 index 63e9312cd..000000000 --- a/docs/4/modules/password_hash.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/password_hash.yml \ No newline at end of file diff --git a/docs/4/modules/password_hash.yml b/docs/4/modules/password_hash.yml new file mode 100644 index 000000000..2ab1200d0 --- /dev/null +++ b/docs/4/modules/password_hash.yml @@ -0,0 +1,39 @@ +name: password_hash + +description: |- + This module allows passwords to be hashed and adds the `/MKPASSWD` command which allows the generation of hashed passwords for use in the server configuration. + +configuration: +- name: mkpasswd + description: |- + The `<mkpasswd>` tag defines settings about how the mkpasswd module should behave. This tag can only be defined once. + attributes: + - name: operonly + type: Boolean + required: false + default: 'No' + description: |- + Whether the `/MKPASSWD` command is only usable by server operators. You should enable this once you have generated your passwords. + details: "" + example: |- + ```xml + <mkpasswd operonly="no"> + ``` + +commands: +- name: MKPASSWD + param_count: 2 + syntax: <hash> <password> + description: |- + Hashes <password> using the <hash> algorithm. + example: + - description: |- + Hashes the password "hunter2" using the HMAC-SHA-256 algorithm + text: |- + /MKPASSWD hmac-sha256 hunter2 + +command_details: |- + {! {{ version }}/modules/_hash_table.md !} + +special_notes: |- + You should only run this command on a server that you trust as the plaintext password may be intercepted by an attacker. diff --git a/docs/4/modules/pbkdf2.yml b/docs/4/modules/pbkdf2.yml deleted file mode 120000 index 041b5cd00..000000000 --- a/docs/4/modules/pbkdf2.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/pbkdf2.yml \ No newline at end of file diff --git a/docs/4/modules/pbkdf2.yml b/docs/4/modules/pbkdf2.yml new file mode 100644 index 000000000..1b45393cf --- /dev/null +++ b/docs/4/modules/pbkdf2.yml @@ -0,0 +1,57 @@ +name: pbkdf2 + +description: |- + This module allows other modules to generate [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) hashes. + +configuration: +- name: pbkdf2 + description: |- + The `<pbkdf2>` tag defines settings about how the pbkdf2 module should behave. This tag can only be defined once. + attributes: + - name: iterations + type: Number + required: false + default: 12288 + description: |- + The number of iterations of the hashing function that should be performed. + - name: length + type: Number + required: false + default: 32 + description: |- + The length of the derived key. + details: "" + example: |- + ```xml + <pbkdf2 iterations="12288" + length="32"> + ``` +- name: pbkdf2prov + description: |- + The `<pbkdf2prov>` tag defines settings for a specific hash algorithm. This tag can be defined as many times as required. + attributes: + - name: hash + type: Text + required: true + default: null + description: |- + The name of the hash algorithm to configure. + - name: iterations + type: Number + required: false + default: 12288 + description: |- + The number of iterations of the hashing function that should be performed. + - name: length + type: Number + required: false + default: 32 + description: |- + The length of the derived key. + details: "" + example: |- + ```xml + <pbkdf2prov hash="sha256" + iterations="12288" + length="32"> + ``` diff --git a/docs/4/modules/randquote.yml b/docs/4/modules/randquote.yml deleted file mode 120000 index 1a49639cc..000000000 --- a/docs/4/modules/randquote.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/randquote.yml \ No newline at end of file diff --git a/docs/4/modules/randquote.yml b/docs/4/modules/randquote.yml new file mode 100644 index 000000000..6c3ebfc3b --- /dev/null +++ b/docs/4/modules/randquote.yml @@ -0,0 +1,61 @@ +name: randquote + +description: |- + This module allows random quotes to be sent to users when they connect to the server. + +configuration: +- name: [files, execfiles] + description: |- + This module extends the core [`<files>`](/{{ version }}/configuration#files) and [`<execfiles>`](/{{ version }}/configuration#execfiles) tags with the following fields: + extends: true + attributes: + - name: quotes + type: Text + required: false + default: null + description: |- + The file to read or command to execute to obtain the quotes text. + details: "" + example: |- + Obtains the quotes by reading quotes.txt: + + ```xml + <files ... + quotes="quotes.txt"> + ``` + + Obtains the quotes by executing `curl https://www.example.com/quotes.txt`: + + ```xml + <execfiles ... + quotes="curl https://www.example.com/quotes.txt"> + ``` +- name: randquote + description: |- + The `<randquote>` tag defines settings about how the randquote module should behave. This tag can only be defined once. + attributes: + - name: file + type: Text + required: false + default: quotes + description: |- + The file path or name of the field in <files> / <execfiles> to use when reading the quotes. + - name: prefix + type: Text + required: false + default: null + description: |- + If defined then text to prefix quotes with when sending them to a user. + - name: suffix + type: Text + required: false + default: null + description: |- + If defined then text to suffix quotes with when sending them to a user. + details: "" + example: |- + ```xml + <randquote file="quotes" + prefix="" + suffix=""> + ``` diff --git a/docs/4/modules/redirect.yml b/docs/4/modules/redirect.yml deleted file mode 120000 index 9beb45623..000000000 --- a/docs/4/modules/redirect.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/redirect.yml \ No newline at end of file diff --git a/docs/4/modules/redirect.yml b/docs/4/modules/redirect.yml new file mode 100644 index 000000000..69a73caba --- /dev/null +++ b/docs/4/modules/redirect.yml @@ -0,0 +1,34 @@ +name: redirect + +description: |- + This module allows users to be redirected to another channel when the user limit is reached. + +configuration: [] + +chmodes: + chars: + - name: redirect + char: L + type: Parameter + syntax: <channel> + usable_by: Channel operators + description: Redirects all new users to <channel> when the user limit is reached. + example: + - description: |- + Redirects new users from #channel to #channel-full when the user limit is reached + text: |- + /MODE #channel +L #channel-full + +umodes: + chars: + - name: antiredirect + char: L + type: Switch + syntax: null + usable_by: Anyone + description: |- + Prevents users from being redirected by channel mode `L` (redirect). + example: "" + +special_notes: |- + When setting a redirect the target channel should exist and the user setting the redirect should have channel operator status in it. diff --git a/docs/4/modules/regex_glob.yml b/docs/4/modules/regex_glob.yml deleted file mode 120000 index 51502409b..000000000 --- a/docs/4/modules/regex_glob.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/regex_glob.yml \ No newline at end of file diff --git a/docs/4/modules/regex_glob.yml b/docs/4/modules/regex_glob.yml new file mode 100644 index 000000000..4477066d1 --- /dev/null +++ b/docs/4/modules/regex_glob.yml @@ -0,0 +1,4 @@ +name: regex_glob + +description: |- + This module provides the `glob` regular expression engine which uses the built-in glob matching system. diff --git a/docs/4/modules/regex_re2.yml b/docs/4/modules/regex_re2.yml deleted file mode 120000 index 830764fc4..000000000 --- a/docs/4/modules/regex_re2.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/regex_re2.yml \ No newline at end of file diff --git a/docs/4/modules/regex_re2.yml b/docs/4/modules/regex_re2.yml new file mode 100644 index 000000000..e3b784b55 --- /dev/null +++ b/docs/4/modules/regex_re2.yml @@ -0,0 +1,9 @@ +name: regex_re2 + +introduction: "" + +depends_on: + what: a third-party library ([RE2](https://github.com/google/re2)) + +description: |- + This module provides the `re2` regular expression engine which uses the [RE2](https://github.com/google/re2) library. diff --git a/docs/4/modules/restrictchans.yml b/docs/4/modules/restrictchans.yml deleted file mode 120000 index 302bc5d6f..000000000 --- a/docs/4/modules/restrictchans.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/restrictchans.yml \ No newline at end of file diff --git a/docs/4/modules/restrictchans.yml b/docs/4/modules/restrictchans.yml new file mode 100644 index 000000000..de3f24961 --- /dev/null +++ b/docs/4/modules/restrictchans.yml @@ -0,0 +1,61 @@ +name: restrictchans + +description: |- + This module prevents unprivileged users from creating new channels. + +configuration: +- name: allowchannel + description: |- + The `<allowchannel>` tag defines a channel which may be created by unprivileged users. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + A glob pattern for a channel name which can be created by unprivileged users. + details: "" + example: |- + Allows unprivileged users to create the #guests channel: + + ```xml + <allowchannel name="#guests"> + ``` + + Allows unprivileged users to create channels starting with "#user-": + + ```xml + <allowchannel name="#user-*"> + ``` +- name: restrictchans + description: |- + The `<restrictchans>` tag defines settings about how the restrictchans module should behave. This tag can only be defined once. + attributes: + - name: allowregistered + type: Boolean + required: false + default: 'No' + description: |- + Whether users who are logged into an account can create channels. + details: "" + example: |- + ```xml + <restrictchans allowregistered="yes"> + ``` +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: channels/restricted-create + description: |- + Allows server operators to create channels. + details: "" + example: |- + Allows server operators with the class named BasicOper to create channels. + + ```xml + <class name="BasicOper" + ... + privs="... channels/restricted-create ..."> + ``` diff --git a/docs/4/modules/restrictmsg.yml b/docs/4/modules/restrictmsg.yml deleted file mode 120000 index d12d3768d..000000000 --- a/docs/4/modules/restrictmsg.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/restrictmsg.yml \ No newline at end of file diff --git a/docs/4/modules/restrictmsg.yml b/docs/4/modules/restrictmsg.yml new file mode 100644 index 000000000..23ae3ec62 --- /dev/null +++ b/docs/4/modules/restrictmsg.yml @@ -0,0 +1,4 @@ +name: restrictmsg + +description: |- + This module prevents users who are not server operators from messaging each other. diff --git a/docs/4/modules/rline.yml b/docs/4/modules/rline.yml deleted file mode 120000 index 537adc91e..000000000 --- a/docs/4/modules/rline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/rline.yml \ No newline at end of file diff --git a/docs/4/modules/rline.yml b/docs/4/modules/rline.yml new file mode 100644 index 000000000..dbc6529bd --- /dev/null +++ b/docs/4/modules/rline.yml @@ -0,0 +1,71 @@ +name: rline + +description: |- + This module adds the `/RLINE` command which allows server operators to prevent users matching a nickname!username@hostname+realname regular expression from connecting to the server. + +configuration: +- name: rline + description: |- + The `<rline>` tag defines settings about how the rline module should behave. This tag can only be defined once. + attributes: + - name: engine + type: Text + required: false + default: null + description: |- + The regular expression engine to use for checking matches. + - name: matchonnickchange + type: Boolean + required: false + default: 'No' + description: |- + Whether to attempt to match users when they change their nickname. + - name: zlineonmatch + type: Boolean + required: false + default: 'No' + description: |- + Whether to add a Z-line on the IP address of users that match a R-line. + details: |- + The engine field should be set to the name of a regular expression engine. + + {! {{ version }}/modules/_regex_table.md !} + + example: |- + ```xml + <rline engine="pcre" + matchonnickchange="no" + zlineonmatch="no"> + ``` + +commands: +- name: RLINE + param_count: 1, 3 + oper_only: true + syntax: <regex> [<duration> <reason>] + description: |- + Allows server operators to add and remove regular expression bans on nickname!username@hostname+realname masks. + example: + - note: |- + The following examples assume that the "pcre" regex module is being used. + + See the `<rline>` documentation above for more information. + description: |- + Bans users connecting from example.com for one week + text: |- + /RLINE ^[^!]+![^@]+@example.com\+.+$ 7d :Trolling is forbidden + - description: |- + Bans users that have "BotBot" in their real name forever + text: |- + /RLINE ^[^!]+![^@]+@[^\+]+\+.*BotBot.*$ 0 :No bots allowed + - description: |- + Unbans users connecting from example.com + text: |- + /RLINE ^[^!]+![^@]+@example.com\+.+$ + +stats: +- char: R + description: Lists all regular expression lines. + +special_notes: |- + R-lines are expired lazily when a lookup happens for performance reasons. This means that expiry messages may display later than expected. diff --git a/docs/4/modules/sajoin.yml b/docs/4/modules/sajoin.yml deleted file mode 120000 index 247abf2ad..000000000 --- a/docs/4/modules/sajoin.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sajoin.yml \ No newline at end of file diff --git a/docs/4/modules/sajoin.yml b/docs/4/modules/sajoin.yml new file mode 100644 index 000000000..aa1409881 --- /dev/null +++ b/docs/4/modules/sajoin.yml @@ -0,0 +1,41 @@ +name: sajoin + +description: |- + This module adds the `/SAJOIN` command which allows server operators to force users to join one or more channels. + +configuration: +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: users/sajoin-others + description: |- + Allows server operators to `/SAJOIN` users other than themselves. + details: "" + example: |- + Allows server operators with the class named BasicOper to `/SAJOIN` users other than themselves. + + ```xml + <class name="BasicOper" + ... + commands="... SAJOIN ..." + privs="... users/sajoin-others ..."> + ``` + +commands: +- name: SAJOIN + param_count: 1-2 + oper_only: true + syntax: '[<nick>] <channel>[,<channel>]+' + description: |- + Forces <nick> to join <channel>. If no nick is specified, forces the server operator issuing the command to join. + example: + - description: |- + Forces Sadie to join #channel + text: |- + /SAJOIN Sadie #channel + - description: |- + Forces the server operator issuing the command to join #channel + text: |- + /SAJOIN #channel diff --git a/docs/4/modules/sakick.yml b/docs/4/modules/sakick.yml deleted file mode 120000 index 6668f8e48..000000000 --- a/docs/4/modules/sakick.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sakick.yml \ No newline at end of file diff --git a/docs/4/modules/sakick.yml b/docs/4/modules/sakick.yml new file mode 100644 index 000000000..9354bf28b --- /dev/null +++ b/docs/4/modules/sakick.yml @@ -0,0 +1,17 @@ +name: sakick + +description: |- + This module adds the `/SAKICK` command which allows server operators to kick users from a channel without having any privileges in the channel. + +commands: +- name: SAKICK + param_count: 2-3 + oper_only: true + syntax: <channel> <nick> [<reason>] + description: |- + Kicks <nick> from <channel> optionally with the reason specified in <reason>. + example: + - description: |- + Kicks emily from #channel + text: |- + /SAKICK #channel emily :Your behaviour is inappropriate diff --git a/docs/4/modules/samode.yml b/docs/4/modules/samode.yml deleted file mode 120000 index 5b18c4398..000000000 --- a/docs/4/modules/samode.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/samode.yml \ No newline at end of file diff --git a/docs/4/modules/samode.yml b/docs/4/modules/samode.yml new file mode 100644 index 000000000..8a7e0d14c --- /dev/null +++ b/docs/4/modules/samode.yml @@ -0,0 +1,41 @@ +name: samode + +description: |- + This module adds the `/SAMODE` command which allows server operators to change the modes of a target (channel, user) that they would not otherwise have the privileges to change. + +configuration: +- name: class + description: |- + This module extends [the core `<class:privs>` field](/{{ version }}/configuration#class) with the following values: + extends: true + added_values: + - name: users/samode-usermodes + description: |- + Allows server operators to change the user modes of any other user using `/SAMODE`. + details: "" + example: |- + Allows server operators with the class named SACommands to `/SAMODE` the user modes of other users. + + ```xml + <class name="SACommands" + ... + commands="... SAMODE ..." + privs="... users/samode-usermodes ..."> + ``` + +commands: +- name: SAMODE + param_count: 2+ + oper_only: true + syntax: <target> <modes> [<mode-parameters>]+ + description: |- + Changes the modes of <target> to <modes> [<mode-parameters>]+ + example: + - description: |- + Removes channel mode `s` (secret) from #channel + text: |- + /SAMODE #channel -s + - description: |- + Adds user mode `w` (wallops) to Sadie + text: |- + /SAMODE Sadie +w diff --git a/docs/4/modules/sanick.yml b/docs/4/modules/sanick.yml deleted file mode 120000 index 308574018..000000000 --- a/docs/4/modules/sanick.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sanick.yml \ No newline at end of file diff --git a/docs/4/modules/sanick.yml b/docs/4/modules/sanick.yml new file mode 100644 index 000000000..4b564d54f --- /dev/null +++ b/docs/4/modules/sanick.yml @@ -0,0 +1,17 @@ +name: sanick + +description: |- + This module adds the `/SANICK` command which allows server operators to change the nickname of a user. + +commands: +- name: SANICK + param_count: 2 + oper_only: true + syntax: <old-nick> <new-nick> + description: |- + Changes the nickname of <old-nick> to <new-nick>. + example: + - description: |- + Changes the nickname of Sadie to Sadie2 + text: |- + /SANICK Sadie Sadie2 diff --git a/docs/4/modules/sapart.yml b/docs/4/modules/sapart.yml deleted file mode 120000 index 0f877dd3e..000000000 --- a/docs/4/modules/sapart.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sapart.yml \ No newline at end of file diff --git a/docs/4/modules/sapart.yml b/docs/4/modules/sapart.yml new file mode 100644 index 000000000..35ff8d018 --- /dev/null +++ b/docs/4/modules/sapart.yml @@ -0,0 +1,17 @@ +name: sapart + +description: |- + This module adds the `/SAPART` command which allows server operators to force part users from one or more channels without having any privileges in these channels. + +commands: +- name: SAPART + param_count: 2-3 + oper_only: true + syntax: <nick> <channel>[,<channel>]+ [<reason>] + description: |- + Force parts <nick> from <channel> optionally with the reason specified in <reason>. + example: + - description: |- + Force parts emily from #channel + text: |- + /SAPART #channel emily :Your behaviour is inappropriate diff --git a/docs/4/modules/saquit.yml b/docs/4/modules/saquit.yml deleted file mode 120000 index 027533f5e..000000000 --- a/docs/4/modules/saquit.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/saquit.yml \ No newline at end of file diff --git a/docs/4/modules/saquit.yml b/docs/4/modules/saquit.yml new file mode 100644 index 000000000..494d87473 --- /dev/null +++ b/docs/4/modules/saquit.yml @@ -0,0 +1,17 @@ +name: saquit + +description: |- + This module adds the `/SAQUIT` command which allows server operators to disconnect users from the server. + +commands: +- name: SAQUIT + param_count: 2 + oper_only: true + syntax: <nick> <reason> + description: |- + Disconnects <nick> from the server with the reason specified in <reason>. + example: + - description: |- + Disconnects emily from the server + text: |- + /SAQUIT emily :Quitting diff --git a/docs/4/modules/satopic.yml b/docs/4/modules/satopic.yml deleted file mode 120000 index 9d45f976b..000000000 --- a/docs/4/modules/satopic.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/satopic.yml \ No newline at end of file diff --git a/docs/4/modules/satopic.yml b/docs/4/modules/satopic.yml new file mode 100644 index 000000000..bd97538cb --- /dev/null +++ b/docs/4/modules/satopic.yml @@ -0,0 +1,17 @@ +name: satopic + +description: |- + This module adds the `/SATOPIC` command which allows server operators to change the topic of a channel that they would not otherwise have the privileges to change. + +commands: +- name: SATOPIC + param_count: 2 + oper_only: true + syntax: <channel> <topic> + description: |- + Changes the topic of <channel> to <topic>. + example: + - description: |- + Changes the topic of #animals to "I like turtles" + text: |- + /SATOPIC #animals :I like turtles diff --git a/docs/4/modules/seenicks.yml b/docs/4/modules/seenicks.yml deleted file mode 120000 index cdf08964e..000000000 --- a/docs/4/modules/seenicks.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/seenicks.yml \ No newline at end of file diff --git a/docs/4/modules/seenicks.yml b/docs/4/modules/seenicks.yml new file mode 100644 index 000000000..dc01d1134 --- /dev/null +++ b/docs/4/modules/seenicks.yml @@ -0,0 +1,10 @@ +name: seenicks + +description: |- + This module sends a notice to snomasks `n` (local) and `N` (remote) when a user changes their nickname. + +snomasks: +- char: n + description: Notifications about nicknames being changed on the local server. +- char: N + description: Notifications about nicknames being changed on a remote server. diff --git a/docs/4/modules/serverban.yml b/docs/4/modules/serverban.yml deleted file mode 120000 index f75c4da98..000000000 --- a/docs/4/modules/serverban.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/serverban.yml \ No newline at end of file diff --git a/docs/4/modules/serverban.yml b/docs/4/modules/serverban.yml new file mode 100644 index 000000000..d87aeaabf --- /dev/null +++ b/docs/4/modules/serverban.yml @@ -0,0 +1,18 @@ +name: serverban + +description: |- + This module adds extended ban `s:` (server) which check whether users are on a server matching the specified glob pattern. + +extbans: + description: "" + chars: + - name: server + char: s + type: Matching + syntax: <pattern> + description: Checks whether users are on a server matching <pattern>. + example: + - description: |- + Bans users on irc2.example.com from joining the channel + text: |- + /MODE #channel +b s:irc2.example.com diff --git a/docs/4/modules/sethost.yml b/docs/4/modules/sethost.yml deleted file mode 120000 index 2b9e734fb..000000000 --- a/docs/4/modules/sethost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sethost.yml \ No newline at end of file diff --git a/docs/4/modules/sethost.yml b/docs/4/modules/sethost.yml new file mode 100644 index 000000000..cd8ee8bd4 --- /dev/null +++ b/docs/4/modules/sethost.yml @@ -0,0 +1,39 @@ +name: sethost + +description: |- + This module adds the `/SETHOST` command which allows server operators to change their displayed hostname. + +configuration: +- name: hostname + description: |- + The `<hostname>` tag defines settings about how the sethost module should behave. This tag can only be defined once. + attributes: + - name: charmap + type: Text + required: false + default: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789 + description: |- + The characters which are allowed in a hostname. + details: "" + example: |- + Allows hostnames to contain letters, numbers, `/`, `-`, `.', and `__`. + + ```xml + <hostname charmap="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789"> + ``` + +commands: +- name: SETHOST + param_count: 1 + oper_only: true + syntax: <hostname> + description: |- + Changes the displayed hostname of the user to <hostname>. + example: + - description: |- + Changes the hostname of the user to wibble.wobble + text: |- + /SETHOST wibble.wobble + +special_notes: |- + This command only changes the displayed hostname of the user. Their real hostname will remain intact and still will match against bans. diff --git a/docs/4/modules/setident.yml b/docs/4/modules/setident.yml deleted file mode 120000 index dc5c0344c..000000000 --- a/docs/4/modules/setident.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/setident.yml \ No newline at end of file diff --git a/docs/4/modules/setident.yml b/docs/4/modules/setident.yml new file mode 100644 index 000000000..fe865e31f --- /dev/null +++ b/docs/4/modules/setident.yml @@ -0,0 +1,17 @@ +name: setident + +description: |- + This module adds the `/SETIDENT` command which allows server operators to change their username (ident). + +commands: +- name: SETIDENT + param_count: 1 + oper_only: true + syntax: <username> + description: |- + Changes the username (ident) of the user to <username>. + example: + - description: |- + Changes the username (ident) of the user to wibble + text: |- + /SETIDENT wibble diff --git a/docs/4/modules/setidle.yml b/docs/4/modules/setidle.yml deleted file mode 120000 index 3d813eb2d..000000000 --- a/docs/4/modules/setidle.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/setidle.yml \ No newline at end of file diff --git a/docs/4/modules/setidle.yml b/docs/4/modules/setidle.yml new file mode 100644 index 000000000..efb99e360 --- /dev/null +++ b/docs/4/modules/setidle.yml @@ -0,0 +1,17 @@ +name: setidle + +description: |- + This module adds the `/SETIDLE` command which allows server operators to change their idle time. + +commands: +- name: SETIDLE + param_count: 1 + oper_only: true + syntax: <duration> + description: |- + Changes the idle time of the user to <duration>. + example: + - description: |- + Changes the idle time of the user to five minutes + text: |- + /SETIDLE 5m diff --git a/docs/4/modules/setname.yml b/docs/4/modules/setname.yml deleted file mode 120000 index 00d57aa91..000000000 --- a/docs/4/modules/setname.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/setname.yml \ No newline at end of file diff --git a/docs/4/modules/setname.yml b/docs/4/modules/setname.yml new file mode 100644 index 000000000..7d2698cfc --- /dev/null +++ b/docs/4/modules/setname.yml @@ -0,0 +1,41 @@ +name: setname + +description: |- + This module adds the `/SETNAME` command which allows users to change their real name (gecos). + +configuration: +- name: setname + description: |- + The `<setname>` tag defines settings about how the setname module should behave. This tag can only be defined once. + attributes: + - name: notifyopers + type: Boolean + required: false + default: 'Yes' + description: |- + Whether to notify server operators when a user changes their real name. + - name: operonly + type: Boolean + required: false + default: 'No' + description: |- + Whether the `/SETNAME` command can only be used by server operators. + details: "" + example: |- + ```xml + <setname notifyopers="yes" + operonly="no"> + ``` + +commands: +- name: SETNAME + param_count: 1 + oper_only: true + syntax: <realname> + description: |- + Changes the real name (gecos) of the user to <realname>. + example: + - description: |- + Changes the real name (gecos) of the user to "Wibble Wobble" + text: |- + /SETNAME :Wibble Wobble diff --git a/docs/4/modules/sha1.yml b/docs/4/modules/sha1.yml deleted file mode 120000 index 4a1ffe6e7..000000000 --- a/docs/4/modules/sha1.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sha1.yml \ No newline at end of file diff --git a/docs/4/modules/sha1.yml b/docs/4/modules/sha1.yml new file mode 100644 index 000000000..b550491f7 --- /dev/null +++ b/docs/4/modules/sha1.yml @@ -0,0 +1,4 @@ +name: sha1 + +description: |- + This module allows other modules to generate [SHA-1](https://en.wikipedia.org/wiki/SHA-1) hashes. diff --git a/docs/4/modules/showfile.yml b/docs/4/modules/showfile.yml deleted file mode 120000 index 9847eb8e0..000000000 --- a/docs/4/modules/showfile.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/showfile.yml \ No newline at end of file diff --git a/docs/4/modules/showfile.yml b/docs/4/modules/showfile.yml new file mode 100644 index 000000000..f5c8c87d2 --- /dev/null +++ b/docs/4/modules/showfile.yml @@ -0,0 +1,74 @@ +name: showfile + +description: |- + This module adds support for showing the contents of files to users when they execute a command. + +configuration: +- name: showfile + description: |- + The `<showfile>` tag defines a command to show the contents of a file. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + The name of the command that users should execute to receive this file. + - name: file + type: Text + required: true + default: null + description: |- + The file path or name of the field in `<files>` / `<execfiles>` to use when reading the file. + - name: method + type: Text + required: false + default: numeric + description: |- + The method to use to send the message to the user. + - name: endnumeric + type: Number + required: false + default: 309 + description: |- + If the method field is set to numeric then the numeric to use to stop the response. + - name: endtext + type: Text + required: false + default: End of COMMAND + description: |- + If the method field is set to numeric then the message to use in the stopping numeric. + - name: intronumeric + type: Number + required: false + default: 308 + description: |- + If the method field is set to numeric then the numeric to use to start the response. + - name: introtext + type: Text + required: false + default: Showing COMMAND + description: |- + If the method field is set to numeric then the message to use in the starting numeric. + - name: textnumeric + type: Number + required: false + default: 232 + description: |- + If the method field is set to numeric then the numeric to use to show the response. + details: |- + The method field should be set to one of the following values: + + Value | Description + ------- | ----------- + numeric | Send the message using the specified numerics. + msg | Send the message using `PRIVMSG`. + notice | Send the message using `NOTICE`. + + example: |- + ```xml + <showfile name="RULES" + file="rules.txt" + introtext="Server rules:" + endtext="End of server rules."> + ``` diff --git a/docs/4/modules/sqlite3.yml b/docs/4/modules/sqlite3.yml deleted file mode 120000 index 25e983f74..000000000 --- a/docs/4/modules/sqlite3.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sqlite3.yml \ No newline at end of file diff --git a/docs/4/modules/sqlite3.yml b/docs/4/modules/sqlite3.yml new file mode 100644 index 000000000..b4e856be2 --- /dev/null +++ b/docs/4/modules/sqlite3.yml @@ -0,0 +1,40 @@ +name: sqlite3 + +introduction: "" + +depends_on: + what: a third-party library ([SQLite](https://www.sqlite.org/index.html)) + +description: |- + This module provides the ability for SQL modules to query a SQLite 3 database. + +configuration: +- name: database + description: |- + The `<database>` tag defines a SQLite 3 database to connect to. This tag can be defined as many times as required. + attributes: + - name: module + type: Text + required: true + default: null + description: |- + *This MUST be set to "sqlite" to connect to a SQLite 3 database.* + - name: id + type: Text + required: true + default: null + description: |- + The name that SQL-using modules can refer to this `<database>` tag using. + - name: hostname + type: Text + required: true + default: null + description: |- + The path to where the SQLite database is stored. + details: "" + example: |- + ```xml + <database module="sqlite" + id="opers" + hostname="/path/to/database.sq3"> + ``` diff --git a/docs/4/modules/sslrehashsignal.yml b/docs/4/modules/sslrehashsignal.yml deleted file mode 120000 index 7fc7a8e00..000000000 --- a/docs/4/modules/sslrehashsignal.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/sslrehashsignal.yml \ No newline at end of file diff --git a/docs/4/modules/sslrehashsignal.yml b/docs/4/modules/sslrehashsignal.yml new file mode 100644 index 000000000..a6fd91b04 --- /dev/null +++ b/docs/4/modules/sslrehashsignal.yml @@ -0,0 +1,54 @@ +name: sslrehashsignal + +introduction: "" + +depends_on: + what: UNIX-specific features + condition: If you are building on a UNIX platform + +description: |- + This module allows the `SIGUSR1` signal to be sent to the server to reload TLS (SSL) certificates. + +configuration: [] + +misc: |- + ### Signals + + Name | Description + ------- | ----------- + SIGUSR1 | Reloads the server's TLS (SSL) certificates. + +special_notes: |- + Since 3.17.0 InspIRCd ships with a script that you can customise for use as a post-deploy hook with [Certbot](https://certbot.eff.org/) to automatically reload your TLS (SSL) certificates when they are updated. For users of older versions this script is replicated below. + + ```sh + #!/bin/sh + set -e + + # The location your renewal tool places your certificates. + CERT_DIR="/etc/letsencrypt/live/irc.example.com" + + # The location of the InspIRCd config directory. + INSPIRCD_CONFIG_DIR="/etc/inspircd" + + # The location of the InspIRCd pid file. + INSPIRCD_PID_FILE="/var/run/inspircd/inspircd.pid" + + # The user:group that InspIRCd runs as. + INSPIRCD_OWNER="inspircd:inspircd" + + if [ -e ${CERT_DIR} -a -e ${INSPIRCD_CONFIG_DIR} ] + then + cp "${CERT_DIR}/fullchain.pem" "${INSPIRCD_CONFIG_DIR}/cert.pem" + cp "${CERT_DIR}/privkey.pem" "${INSPIRCD_CONFIG_DIR}/key.pem" + chown ${INSPIRCD_OWNER} "${INSPIRCD_CONFIG_DIR}/cert.pem" "${INSPIRCD_CONFIG_DIR}/key.pem" + + if [ -r ${INSPIRCD_PID_FILE} ] + then + kill -USR1 $(cat ${INSPIRCD_PID_FILE}) + elif [ -d /lib/systemd ] && systemctl --quiet is-active inspircd + then + systemctl kill --signal USR1 inspircd + fi + fi + ``` diff --git a/docs/4/modules/starttls.yml b/docs/4/modules/starttls.yml deleted file mode 120000 index c27d09803..000000000 --- a/docs/4/modules/starttls.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/starttls.yml \ No newline at end of file diff --git a/docs/4/modules/starttls.yml b/docs/4/modules/starttls.yml new file mode 100644 index 000000000..e451116cb --- /dev/null +++ b/docs/4/modules/starttls.yml @@ -0,0 +1,26 @@ +name: starttls + +description: |- + This module provides the IRCv3 `tls` client capability. + +configuration: +- name: starttls + description: |- + The `<starttls>` tag defines settings about how the starttls module should behave. This tag can only be defined once. + attributes: + - name: provider + type: Text + required: false + default: null + description: |- + The name of the TLS (SSL) profile to use for STARTTLS clients. + details: "" + example: |- + ```xml + <starttls provider="gnutls"> + ``` + +client_caps: +- name: '[tls](https://ircv3.net/specs/extensions/tls.html)' + description: |- + Allows plaintext connections to upgrade to TLS (SSL). diff --git a/docs/4/modules/stripcolor.yml b/docs/4/modules/stripcolor.yml deleted file mode 120000 index e505c02f5..000000000 --- a/docs/4/modules/stripcolor.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/stripcolor.yml \ No newline at end of file diff --git a/docs/4/modules/stripcolor.yml b/docs/4/modules/stripcolor.yml new file mode 100644 index 000000000..6ee3573f0 --- /dev/null +++ b/docs/4/modules/stripcolor.yml @@ -0,0 +1,44 @@ +name: stripcolor + +description: |- + This module adds channel mode `S` (stripcolor) which allows channels to strip IRC formatting codes from messages. + +chmodes: + chars: + - name: stripcolor + char: S + type: Switch + syntax: null + usable_by: Channel operators + description: |- + Enables stripping of IRC formatting codes from channel messages. + example: "" + +umodes: + chars: + - name: u_stripcolor + char: S + type: Switch + syntax: null + usable_by: Anyone + description: |- + Enables stripping of IRC formatting codes from private messages. + example: "" + +exemptions: +- name: stripcolor + description: Allows exempted users to send messages that contain IRC formatting codes. + +extbans: + description: "" + chars: + - name: stripcolor + char: S + type: Acting + syntax: <mask> + description: Strips IRC formatting codes from messages sent by users matching <mask>. + example: + - description: |- + Strips IRC formatting codes from users matching `*!*@example.com` + text: |- + /MODE #channel +b S:*!*@example.com diff --git a/docs/4/modules/swhois.yml b/docs/4/modules/swhois.yml deleted file mode 120000 index 8588d0d5b..000000000 --- a/docs/4/modules/swhois.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/swhois.yml \ No newline at end of file diff --git a/docs/4/modules/swhois.yml b/docs/4/modules/swhois.yml new file mode 100644 index 000000000..04800bb37 --- /dev/null +++ b/docs/4/modules/swhois.yml @@ -0,0 +1,39 @@ +name: swhois + +description: |- + This module adds the `/SWHOIS` command which adds custom lines to a user's WHOIS response. + +configuration: +- name: [oper, type] + description: |- + This module extends the core [`<oper>`](/{{ version }}/configuration#oper) and [`<type>`](/{{ version }}/configuration#type) tags with the following fields: + extends: true + attributes: + - name: swhois + type: Text + required: false + default: null + description: |- + If defined then defines a custom line to add to the server operator's WHOIS response. + details: "" + example: |- + Adds "hates cheese" to Sadie's WHOIS response: + + ```xml + <oper name="Sadie" + ... + swhois="hates cheese"> + ``` + +commands: +- name: SWHOIS + param_count: 2 + oper_only: true + syntax: <nick> <line> + description: |- + Sets the custom WHOIS line for <nick> to <line>. + example: + - description: |- + Sets the custom WHOIS line for Sadie to "hates cheese" + text: |- + /SWHOIS Sadie :hates cheese diff --git a/docs/4/modules/tline.yml b/docs/4/modules/tline.yml deleted file mode 120000 index 76e69de67..000000000 --- a/docs/4/modules/tline.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/tline.yml \ No newline at end of file diff --git a/docs/4/modules/tline.yml b/docs/4/modules/tline.yml new file mode 100644 index 000000000..cd4e5a472 --- /dev/null +++ b/docs/4/modules/tline.yml @@ -0,0 +1,17 @@ +name: tline + +description: |- + This module adds the `/TLINE` command which allows server operators to determine how many users would be affected by an X-line on a specified pattern. + +commands: +- name: TLINE + param_count: 1 + oper_only: true + syntax: <pattern> + description: |- + Determines how many users would be affected by an X-line on <pattern>. + example: + - description: |- + Determines how many users would be affected by an X-line on `*!*@example.com` + text: |- + /TLINE *!*@example.com diff --git a/docs/4/modules/uninvite.yml b/docs/4/modules/uninvite.yml deleted file mode 120000 index 12ec630f9..000000000 --- a/docs/4/modules/uninvite.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/uninvite.yml \ No newline at end of file diff --git a/docs/4/modules/uninvite.yml b/docs/4/modules/uninvite.yml new file mode 100644 index 000000000..c61bf6935 --- /dev/null +++ b/docs/4/modules/uninvite.yml @@ -0,0 +1,16 @@ +name: uninvite + +description: |- + This module adds the `/UNINVITE` command which allows users who have invited another user to a channel to withdraw their invite. + +commands: +- name: UNINVITE + param_count: 1 + syntax: <nick> <channel> + description: |- + Withdraws the invite for <nick> to join <channel> + example: + - description: |- + Withdraws the invite for Adam to join #secret + text: |- + /UNINVITE Adam #secret diff --git a/docs/4/modules/vhost.yml b/docs/4/modules/vhost.yml deleted file mode 120000 index 54fbe3ae2..000000000 --- a/docs/4/modules/vhost.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/vhost.yml \ No newline at end of file diff --git a/docs/4/modules/vhost.yml b/docs/4/modules/vhost.yml new file mode 100644 index 000000000..99db33cac --- /dev/null +++ b/docs/4/modules/vhost.yml @@ -0,0 +1,61 @@ +name: vhost + +description: |- + This module allows the server administrator to define accounts which can grant a custom virtual host. + +configuration: +- name: vhost + description: |- + The `<vhost>` tag defines a virtual host account. This tag can be defined as many times as required. + attributes: + - name: user + type: Text + required: true + default: null + description: |- + The username used when logging into the account. + - name: pass + type: Text + required: true + default: null + description: |- + The password used when logging into the account. + - name: hash + type: Text + required: false + default: null + description: |- + The algorithm that the password is hashed with. + - name: host + type: Text + required: false + default: null + description: |- + The vhost for users who log into this account. + details: |- + !!! warning "" + The `hash` field is currently optional but will be required in the next major version of InspIRCd. + + {! {{ version }}/modules/_hash_table.md !} + + example: |- + Adds a virtual host account with the username Sadie and a hashed password: + + ```xml + <vhost user="Sadie" + pass="Ohf74jA8$GwQ083Z/Jl2Vi6WpYKu2ABTU5HAKO+Zk8NWw7sdt7cQ" + hash="hmac-sha256" + host="helper.example.com"> + ``` + +commands: +- name: VHOST + param_count: 2 + syntax: <username> <password> + description: |- + Log into the account with the specified username and password. + example: + - description: |- + Logs into the account with the name Sadie and password fl00fyc4pyb4r4 + text: |- + /VHOST Sadie fl00fyc4pyb4r4 diff --git a/docs/4/modules/watch.yml b/docs/4/modules/watch.yml deleted file mode 120000 index 80d5ddf74..000000000 --- a/docs/4/modules/watch.yml +++ /dev/null @@ -1 +0,0 @@ -../../3/modules/watch.yml \ No newline at end of file diff --git a/docs/4/modules/watch.yml b/docs/4/modules/watch.yml new file mode 100644 index 000000000..8a4d29e6a --- /dev/null +++ b/docs/4/modules/watch.yml @@ -0,0 +1,53 @@ +name: watch + +description: |- + This module adds the `/WATCH` command which allows users to find out when their friends are connected to the server. + +configuration: +- name: watch + description: |- + The `<watch>` tag defines settings about how the watch module should behave. This tag can only be defined once. + attributes: + - name: maxwatch + type: Number + required: false + default: 32 + description: |- + The maximum number of entries on a user's watch list. + details: "" + example: |- + ```xml + <watch maxwatch="32"> + ``` + +commands: +- name: WATCH + param_count: 1 + syntax: + - '[(+|-)<nick>]' + - C + - L + - S + description: |- + Manipulates the contents of the executing user's watch list. + example: + - description: |- + Adds Sadie to the watch list + text: |- + /WATCH +Sadie + - description: |- + Removes Sadie from the watch list + text: |- + /WATCH -Sadie + - description: |- + Removes all users from the watch list + text: |- + /WATCH C + - description: |- + Lists all users on the watch list + text: |- + /WATCH C + - description: |- + Shows the status of all watched users + text: |- + /WATCH S diff --git a/docs/4/user-modes.md b/docs/4/user-modes.md deleted file mode 120000 index 5c36636ca..000000000 --- a/docs/4/user-modes.md +++ /dev/null @@ -1 +0,0 @@ -../3/user-modes.md \ No newline at end of file diff --git a/docs/4/user-modes.md b/docs/4/user-modes.md new file mode 100644 index 000000000..2f4c08b9f --- /dev/null +++ b/docs/4/user-modes.md @@ -0,0 +1,46 @@ +--- +title: v{{ version }} User Modes +--- + +## User Modes + +!!! note "" + This page documents user modes. For channel modes see [the channel mode page](/{{ version }}/channel-modes). + +{% include "3/_mode_types_table.md" %} + +### Core + +Core user modes are user modes which are always available. For details on the user modes provided by modules, see the modules section below. + +Name | Character | Type | Parameter Syntax | Usable By | Description +--------- | --------- | --------- | ----------------- | ---------------- | ----------- +invisible | i | Switch | *None* | Anyone | Marks the user as invisible. +oper | o | Switch | *None* | Server operators | Marks the user as a server operator (can only be set by the server). +snomask | s | Parameter | `(+|-)<snomasks>` | Server operators | Enables receiving the specified types of [server operator notice](/{{ version }}/snomasks). +wallops | w | Switch | *None* | Anyone | Enables receiving `/WALLOPS` messages from server operators. + +#### Example Usage + +Enables snomasks `l` (LINK) and `L` (REMOTELINK) and disables snomask `d` (DEBUG): + +```plaintext +/MODE YourNick +s +lL-d +``` + +Enables all available snomasks: + +```plaintext +/MODE YourNick +s +* +``` + +Disables all enabled snomasks: + +```plaintext +/MODE YourNick -s +``` + +### Modules + +{% set modes = module_umodes %} +{% include "3/_modes_table.md" %}