/* UnrealIRCd 6 Help Configuration
 * Based on the original help text written by hAtbLaDe
 * Revised by CC (07/2002) and many others
 *
 * translation performed by: Slyder
 * Latest corrections and addons by: Bock, i
 * contacts: #nn@irc.bynets.org:6667 (Bock)
 * contacts: irc.servx.org:+6697 (i)
 */

help {
	" Помощь по командам сервера.";
	" Уточните тему после команды /HELPOP.";
	" Вам будут показаны все доступные команды и опции.";
	" Для получения более подробной информации посетите";
	" канал помощи или задайте вопрос IRC-оператору.";
	" -";
	" /HELPOP USERCMDS - Получить список команд пользователя";
	" /HELPOP OPERCMDS - Получить список команд оператора";
	" /HELPOP SVSCMDS  - Команды, посылаемые через U:line";
	"                    сервер (Сервисы)";
	" /HELPOP UMODES   - Получить список режимов пользователя";
	" /HELPOP SNOMASKS - Получить список Snomask";
	" /HELPOP CHMODES  - Получить список режимов Канала";
	" -";
	" ==-------------------------oOo--------------------------==";
}

/* note: indexes were generated by cat somecmds|sort|column -c 70
 *       along with tab->space conversion (tabwidth 8).
 *       Perhaps we should automate this step :). -- Syzop
 */

help Usercmds {
	" Список команд, доступных пользователям на данный момент.";
	" Используйте /HELPOP <команда> для получения подробной информации";
	" по интересующей команде.";
	" -";
	" ==-------------------------oOo-------------------------==";
	" ADMIN           LINKS           PART            USERHOST";
	" AWAY            LIST            PING            USERIP";
	" CREDITS         LUSERS          PRIVMSG         VERSION";
	" CYCLE           MAP             QUIT            VHOST";
	" DCCALLOW        MODE            RULES           WHO";
	" INVITE          MODULE          SETIDENT        WHOIS";
	" JOIN            MOTD            SETNAME         WHOWAS";
	" KICK            NAMES           SILENCE";
	" KNOCK           NICK            TIME";
	" LICENSE         NOTICE          TOPIC";
	" ==-------------------------oOo-------------------------==";
}

help Opercmds {
	" Список команд, доступных только IRC-операторам.";
	" Используйте /HELPOP <команда> для получения подробной информации";
	" по интересующей команде.";
	" -";
	" См. также https://www.unrealircd.org/docs/IRCOp_guide";
	" -";
	" ==-------------------------oOo-------------------------==";
	" ADDMOTD           GZLINE            SAPART";
	" ADDOMOTD          INVITE            SDESC";
	" CHGHOST           KILL              SETHOST";
	" CHGIDENT          KLINE             SHUN";
	" CHGNAME           LAG               SPAMFILTER";
	" CLOSE             LOCOPS            STATS";
	" CONNECT           MKPASSWD          TEMPSHUN";
	" DCCDENY           OPER              TLINE";
	" DIE               OPERMOTD          TRACE";
	" DNS               REHASH            TSCTL";
	" ELINE             RESTART           UNDCCDENY";
	" GLINE             SAJOIN            WALLOPS";
	" GLOBOPS           SAMODE            ZLINE";
	" ==-------------------------oOo-------------------------==";
}

help Svscmds {
	" Список команд, которые могут быть посланы";
	" U:line серверу (Сервисы).";
	" Пример использования команд:";
	" /MSG OPERSERV RAW :services <команда>";
	" Используйте /HELPOP <команда> для получения подробной информации";
	" по интересующей команде.";
	" -";
	" ==-------------------------oOo-------------------------==";
	" SQLINE          SVSKILL         SVSNLINE    SVSSILENCE";
	" SVS2MODE        SVSLUSERS       SVSNOLAG    SVSSNO";
	" SVS2SNO         SVSMODE         SVSNOOP     SVSWATCH";
	" SVSFLINE        SVSMOTD         SVSO        SWHOIS";
	" SVSJOIN         SVSNICK         SVSPART     UNSQLINE";
	" ==-------------------------oOo-------------------------==";
}

help Umodes {
	" Список режимов пользователя.";
	" -";
	" ==---------------------------oOo---------------------------==";
	" o = IRC-оператор";
	" -";
	" d =  Режим \"только личные сообщения\" (Deaf)";
	" i = Невидимый (Не показывается в списке команды /WHO)";
	" p = Скрывает список каналов, в которых находится пользователь,";
	"     из вывода команд /whois и /who";
	" q = Только администраторы сети или администраторы сервисов могут";
	"     удалить Вас с канала (использовать kick)";
	" r = Указывает, что ник пользователя зарегистрирован";
	"     (устанавливается только сервисами)";
	" s = Пользователь принимает уведомления от серверов (см. /HELPOP SNOMASKS)";
	" t = Показывает, что Вы используете /VHOST";
	" w = Может принимать Wallop сообщения";
	" x = Скрывает реальное имя хоста пользователя (безопасность)";
	" z = Отмечает клиента, использующего шифрованное соединение (SSL/TLS)";
	" B = Отмечает вас как бота";
	" D = Блокирует приватные сообщения, (исключения: сервисы, IRC-операторы) (privdeaf)";
	" G = Нецензурные слова в сообщениях заменяются на <censored>";
	" H = Скрывает статус IRC-оператора в запросах /WHO и /WHOIS.";
	"     (только для IRC-операторов)";
	" I = Скрывает время бездействия IRC-оператора (в /whois) от обычных пользователей.";
	" R = Ограничивает получение PRIVMSGs/NOTICEs только от";
	"     зарегистрированных (+r) пользователей";
	" S = Для нужд сервисов. (В целях защиты)";
	" T = Запрещает получение CTCP запросов";
	" W = Позволяет видеть, когда кто-то делает /WHOIS на Ваш";
	"     ник (только для IRC-операторов)";
	" Z = Получать/отправлять сообщения, только для пользователей, использующих";
	"     безопасное подключение (SSL/TLS)";
	" ==---------------------------oOo---------------------------==";
}

help Snomasks {
	" Snomask - это сокращение от 'Service NOtice MASK'.";
	" Смысл - определить, какие уведомления от";
	" сервера Вы можете получать.";
	" Использование: /MODE nick +s <snomask>";
	"        Пример: /MODE blah +s +cC-j";
	" Параметр указывает какую маску вы хотите (или не хотите).";
	" Вы можете обнулить маску, выполнив команду /MODE nick -s.";
	"-";
	" Список доступных масок:";
	" ==-------------------------oOo-----------------------==";
	"b = серверные баны (KLINE, GLINE, SHUN, и т.д.)";
	"B = Сообщения от модуля DNS Blacklist";
	"c = Видны соединения/отключения на локальном сервере";
	"C = Видны подключения/отключения на удалённых серверах";
	"    (за исключением указанных в U:lines)";
	"d = Отклоненные запросы DCC, описаннные в Deny dcc блоках";
	"D = Видны отладочные 'мусорные' уведомления (не рекомендуется";
	"    для постоянного использования)";
	"f = Видны уведомления об обнаружении флуда (рекомендуется)";
	"j = Видны заходы (join), выходы (part) и удаления пользователей";
	"    с каналов (kick)";
	"k = Видны уведомления об использовании команды KILL";
	"n = Видны изменения ников на локальном сервере";
	"N = Видны изменения ников на удалённых серверах";
	"q = Видны попытки сменить ник, неудавшиеся из-за (Q:LINE)";
	"s = Видны общие уведомления: все уведомления, не попавшие под другие маски";
	"    (содержит очень важные сообщения, настоятельно рекомендуется)";
	"S = Видны сообщения спам-фильтра";
	"o = Видно использование OperOverride в каналах.";
	"O = Видно использование команд (/CHGNAME, /CHGIDENT, /CHGHOST, ..)";
	"    или принуждение пользователей (/SAJOIN, /SAPART)";
	" R = JSON-RPC usage";
	"v = Видно использование /VHOST";
	" ==-------------------------oOo------------------------==";
}

help Chmodes {
	" В этой секции приведён список режимов, которые могут быть применены";
	" на канал командой /MODE";
	" -";
	" ==------------------------------oOo----------------------------==";
	" v <nickname> = Даёт пользователю 'право голоса' - Voice (Можно";
	"                говорить, даже если если на канал наложен режим +m)";
	" h <nickname> = Даёт пользователю ограниченные возможности оператора";
	"                канала - HalfOp";
	" o <nickname> = Даёт пользователю статус оператора канала";
	" a <nickname> = Даёт пользователю статус администратора канала";
	" q <nickname> = Даёт пользователю статус владельца канала";
	" -";
	" b <nick!ident@host> = Накладывает 'бан' на nick!ident@host [h]";
	"                       (подробнее о 'расширенных типах бана' /HELPOP EXTBANS)";
	" c = Блокирует сообщения, содержащие управляющие коды mIRC для";
	"     задания цвета [o]";
	" C = Запрещает хождение CTCP пакетов в канале [o]";
	" D = Задержка отображения захода на канал до первого сообщения [o]";
	" e <nick!ident@host> = Накладывает маску исключения на 'бан' для";
	"                       пользователей, попавших под заданную маску [h]";
	" f <floodparams> = Защита от флуда. (Для получения дополнительной";
	"                   информации загляните в /HELPOP CHMODEF) [o]";
	" G = Включает фильтрацию сообщений путём замены нецензурных слов на <censored> [o]";
	" H <max-lines:max-minutes> = Записывает историю канала с указанными лимитами [o]";
	" i = Для того, чтобы попасть на канал, пользователь должен быть";
	"     приглашён (Invite only) [h]";
	" I <ник!пользователь@хост> = Накладывает маску исключения на режим +i";
	" k <ключ> = Пользователи должны иметь <ключ>, чтобы попасть на";
	"            защищённый канал [h]";
	" K = Запрещает использование команды /KNOCK [o]";
	" L <канал2> = Связывает каналы таким образом, что при достижении";
	"              параметра, заданного режимом +l, новые пользователи";
	"              будут перенаправляться на канал <канал2>) [q]";
	" l <число> = Задаёт максимальное <число> пользователей в канале [o]";
	" m = Модерируемый канал (только пользователи с установленными флагами";
	"     +vhoaq могут говорить) [h]";
	" M = Включает ограничение на возможность говорить в канале только";
	"     зарегистрированным пользователям (+r), либо пользователям с";
	"     'Правом голоса' (+v). [o]";
	" N = Запрещает пользователям канала изменять свой ник [o]";
	" n = Пользователи, не присутствующие в канале, не могут";
	"     посылать PRIVMSGs в канал [h]";
	" O = Канал только для IRC-операторов (могут устанавливать только";
	"     IRC-операторы)";
	" p = Включает режим 'ограниченного доступа' на канал (Private) [o]";
	" P = Permanent channel (the channel is not destroyed when empty) (settable by IRCops)";
	" P = Делает канал постоянным. Настройки канала и его видимость в /LIST";
	"     сохраняется, даже если его покинет последний пользователь. (могут устанавливать";
	"     только IRC-операторы)";
	" Q = На канале запрещена команда /KICK [o]";
	" R = В канал могут войти только зарегистрированные (+r) пользователи [o]";
	" r = Показывает, что канал зарегистрирован (устанавливается только сервисами)";
	" s = Включает 'режим секретности' на канале (Secret) [o]";
	" S = Из сообщений вырезаются коды mIRC для управления цветом [o]";
	" T = Указывает, что на канале запрещены уведомления (NOTICEs) [o]";
	" t = Только пользователи с флагами +hoaq могут изменить топик [h]";
	" V = Запрещает использование команды /INVITE [o]";
	" z = Только пользователи, подключенные к серверу через шифрованный";
	"     канал (SSL/TLS), могут попасть в канал [o]";
	" Z = Все пользователи на канале используют безопасное подключение SSL/TLS.";
	"     (Устанавливается/снимается сервером. Только если канал так же +z)";
	" -";
	" [h] - минимум требуются права halfop, [o] - минимум требуются права";
	"       chanop, [q] - требуются права владельца";
	" ==------------------------------oOo----------------------------==";
}

help ExtBans {
	" Данные типы банов позволяют вам банить не только по традиционной маске nick!user@host.";
	" Например, MODE #chan +e ~account:SomeAccount может быть использовано для установки";
	" исключения бана для того, кто идентифицирован на сервисах с указанной учётной записью.";
	" Расширенные баны могут начинаться с ~, за которой следует имя или буква.";
	" UnrealIRCd 6 по умолчанию использует 'именованные' расширенные";
	" баны: +e ~account:SomeAccount";
	" в то время как предыдущие версии использовали расширенные баны";
	" c 'буквой': +e ~a:SomeAccount";
	" См. также https://www.unrealircd.org/docs/Extended_Bans";
	" -";
	" ==[ Группа 1: лимит времени ]==";
	" Следующий тип бана может использоваться перед любым (расширенным)баном:";
	" =Буква--------Имя----------------------------Описание---------------------------==";
	"         |               | Временные баны автоматически снимаются сервером после   ";
	"    ~t   |     ~time     | указанного количества минут. Например:                  ";
	"         |               | +b ~time:3:*!*@hostname                                 ";
	" ==------------------------------------------------------------------------------==";
	" -";
	" ==[ Группа 2: действия ]==";
	" Эти типы банов определяют, на какие действия накладывается бан:";
	" =Буква--------Имя----------------------------Описание---------------------------==";
	"         |               | Люди, попадающие под бан, могут заходить на канал, но   ";
	"    ~q   |    ~quiet     | не могут говорить, пока у них не будет +v или выше.     ";
	"         |               | Пример: +bb ~quiet:*!*@blah.blah.com ~quiet:nick*!*@*   ";
	"-----------------------------------------------------------------------------------";
	"         |               | Люди, попадающие под бан, не могут изменить ник, пока   ";
	"    ~n   |  ~nickchange  | у них не будет +v или выше.                             ";
	"         |               | Пример: +bb ~nickchange:*!*@*.uk ~nickchange:nick*!*@*  ";
	"-----------------------------------------------------------------------------------";
	"         |               | Люди, попадающие под бан, не могут посетить канал.      ";
	"    ~j   |     ~join     | При этом пользователь может выполнять все действия, если";
	"         |               | он уже находится на канале (смена ника, разговор и т.д.)";
	"-----------------------------------------------------------------------------------";
	"         |               | Обход ограничений сообщений. Этот расширенный бан       ";
	"         |               | доступен только как исключение (+e), но не как (+b).    ";
	"         |               | Синтаксис: +e ~msgbypass:тип:маска. Допустимые типы:    ";
	"         |               | 'external' (обход +n), 'censor' (обход +G),             ";
	"         |               | 'moderated' (обход +m/+M), 'color' (обход +S/+c), и     ";
	"    ~m   |  ~msgbypass   | 'notice' (обход +T). Некоторые примеры:                 ";
	"         |               | Разрешить IP обходить +m и +n:                          ";
	"         |               | +e ~msgbypass:moderated:*!*@192.168.1.1                 ";
	"         |               | +e ~msgbypass:external:*!*@192.168.1.1                  ";
	"         |               | Разрешить учётной записи 'ColorBot' обходить ограничения";
	"         |               | по цвету: +e ~msgbypass:color:~account:ColorBot         ";
	"-----------------------------------------------------------------------------------";
	"         |               | Если пользователь соответствует бану или другим         ";
	"         |               | ограничениям (например, +l/+k/и т.д.) тогда он будет    ";
	"    ~f   |   ~forward    | перенаправлен на указанный канал.                       ";
	"         |               | Пример: +b ~forward:#badisp:*!*@*.isp.xx                ";
	" ==------------------------------------------------------------------------------==";
	" -";
	" ==[ Группа 3: селекторы ]==";
	" Эти типа банов вводят новые критерии, которые можно использовать:";
	" =Буква--------Имя----------------------------Описание---------------------------==";
	"         |               | Если пользователь авторизовался на сервисах под этим    ";
	"    ~a   |   ~account    | именем учётной записи, то он будет попадать под этот бан";
	"         |               | Пример: +e ~account:Имя                                 ";
	"-----------------------------------------------------------------------------------";
	"         |               | Если люди сидят на указанном канале, они не смогут зайти";
	"         |               | Префиксом можно указать (+/%/@/&/~), каких именно       ";
	"    ~c   |   ~channel    | пользователей необходимо банить. Будут забанены те,     ";
	"         |               | у кого права на указанном канале равны или выше.        ";
	"         |               | Пример: +b ~channel:#lamers   +e ~channel:@#trusted     ";
	"-----------------------------------------------------------------------------------";
	"         |               | Модуль GEOIP пытается сопоставить IP-адреса             ";
	"         |               | пользователей с кодом страны, например NL и RU.         ";
	"    ~C   |   ~country    | Вы можете установить бан или исключение на пользователя,";
	"         |               | на основе двухбуквенного кода страны.                   ";
	"         |               | Пример: +b ~country:NL        +e ~country:RU            ";
	"-----------------------------------------------------------------------------------";
	"         |               | Если пользователь является IRC-оператором, и            ";
	"         |               | авторизовался под опер-блоком с соответствующим именем  ";
	"         |               | класса 'oper::operclass', тогда это будет совпадать.    ";
	"    ~O   |  ~operclass   | Таким образом, вы можете создавать каналы, на которые   ";
	"         |               | могут зайти только определенные типы операторов.        ";
	"         |               | Установите +i и используйте +I.                         ";
	"         |               | Пример: +iI ~operclass:*admin*                          ";
	"-----------------------------------------------------------------------------------";
	"         |               | Если настоящее имя пользователя попадает под бан,       ";
	"         |               | он не сможет зайти.                                     ";
	"    ~r   |   ~realname   | Пример: +b ~realname:*Stupid_bot_script*                ";
	"         |               | Дополнение: Подчёркивание ('_') означает и пробел (' '),";
	"         |               | и подчёркивание ('_'), так что этот запрет будет        ";
	"         |               | соответствовать 'Stupid bot script v1.4'.               ";
	"-----------------------------------------------------------------------------------";
	"         |               | Когда пользователь использует SSL/TLS с клиентским      ";
	"         |               | сертификатом, вы можете сопоставить отпечаток           ";
	"    ~S   |    ~certfp    | сертификата (тот, который вы видите в /WHOIS). Подходит ";
	"         |               | для бана и исключений инвайта (+I).                     ";
	"         |               | Пример: +iI ~certfp:00112233445566778899aabbccddeeff..  ";
	" ==------------------------------------------------------------------------------==";
	" -";
	" ==[ Группа 4: специальный ]==";
	" Эти типы банов особенные и больше нигде не подходят:";
	" =Буква--------Имя----------------------------Описание---------------------------==";
	"-----------------------------------------------------------------------------------";
	"         |               | Фильтрация текста для конкретного канала. Поддерживает  ";
	"    ~T   |     ~text     | два действия:  'censor' и 'block'. Два примера:         ";
	"         |               | +b ~text:censor:*badword* и +b ~text:block:*что_то*     ";
	"-----------------------------------------------------------------------------------";
	"         |               | Скрыть part/quit сообщения выхода с канала/из сети.     ";
	"    ~p   |   ~partmsg    | Пример: +b ~partmsg:*!*@*.isp.com                       ";
	" ==------------------------------------------------------------------------------==";
	" -";
	" ==[ Объединение ]==";
	"* Вы можете объединять расширенные баны из 2-й группы с 3-ей.";
	"  Пример: +b ~quiet:~channel:#lamers пользователи не смогут говорить также и на #lamers.";
	"* Баны из 3-й группы также могут использоваться для исключений по инвайтам (+I),";
	"  такие как +I ~channel:@#trusted и +I ~account:accountname.";
	"* Вы можете установить ограничение по времени (группа 1) перед любым расширенным баном,";
	"  и даже объединить группы 1 + группа 2 + группа 3:";
	"  +b ~time:60:~join:~country:RU";
}

help Chmodef {
	" Режим канала +f предоставляет гибкий механизм защиты канала от флуда.";
	" Режим позволяет вам контролировать флуд команд входа, смены ника, CTCP,";
	" knock и просто текстом в канал. Синтаксис у режима +f следующий:";
	" -";
	" +f [<количество><тип>{#<действие>}{,...}]:<секунды>";
	" -";
	" Параметр <количество> указывает, сколько раз должно произойти событие";
	" <тип> до того, как будут предприняты действия по предотвращению флуда.";
	" Доступны следующие типы:";
	" -";
	" ==-----Тип -----Имя--- -----Действие---------Дополнительно-----==";
	"        c        CTCP        +C               m, M";
	"        j        Join        +i               R";
	"        k        Knock       +K";
	"        m        Messages    +m               M";
	"        n        Nickchange  +N";
	"        p        Paste       drop             m, M";
	"        t        Text        kick             b, d";
	"        r        Repeat      kick             d, b";
	" -";
	" Различие между типами m и t в том, что m отслеживает все сообщения в канале,";
	" в то время как t отслеживает сообщения от каждого отдельного пользователя.";
	" Тип p считает события multiline вставки (3+ строк) для всего канала.";
	" -";
	" Если вы задаёте некое действие в ответ на флуд, вы можете так же указать,";
	" как долго (в минутах) будет действовать наказание.";
}

help Nick {
	" Изменяет виртуальное имя (Ник).";
	" Все присутствующие на канале, в котором вы находитесь,";
	" будут уведомлены об изменении вашего имени.";
	" -";
	" Синтаксис:  NICK <новое имя>";
	" Пример:     NICK hAtbLaDe";
}

help Whois {
	" Показывает различную информацию о пользователе:";
	" \"Имя\", каналы в которых он находится, текущую маску хоста и т.д.";
	" -";
	" Синтаксис:  WHOIS <имя Пользователя>";
	" Пример: WHOIS hAtbLaDe";
	" -";
	" Флаги состояния.";
	"   Список каналов, возвращаемый в ответ на запрос WHOIS может содержать";
	"   один или более флагов состояния, показывающих информацию о канале.";
	"   Список возможных флагов:";
	"     ~ - Пользователь является владельцем канала (+q)";
	"     & - Пользователь является администратором канала (+a)";
	"     @ - Пользователь имеет статус оператора на канале (+o)";
	"     % - Пользователь имеет статус оператора с ограниченными";
	"         полномочиями на канале (+h)";
	" 	+ - Пользователь имеет право голоса (+v)";
	" 	! - Пользователь включил режим сокрытия каналов (+p), но вы его";
	"         видите, потому что имеете права оператора IRC";
	" 	? - Канал является \"Секретным\" (+s), но вы его видите, потому";
	"         что имеете права оператора IRC";
}

help Who {
	" Возвращает информацию о пользователях";
	" В наиболее простой форме это синтаксис 'WHO #канал' или 'WHO ник'";
	" Однако мы также поддерживаем расширенный синтаксис who - (WHOX):";
	" -";
	" Синтаксис:";
	" /WHO <маска> [параметры]";
	" /WHO <маска> [параметры [маска2]]";
	" -";
	" Маска может содержать подстановочные знаки, такие как * и ?";
	" -";
	" Параметры состоят из [<флаги>][%[<поля>[,<тип>]]]";
	" Где:";
	" <флаги> определяют, где искать, и могут содержать одну или несколько букв:";
	"  n: пользователи с указанным ником";
	"  u: пользователи с указанным идентом (ident)";
	"  h: пользователи с указанным хостом [*]";
	"  i: пользователи с указанным IP [*]";
	"  s: пользователи на указанном сервере [*]";
	"  r: пользователи с указанным реальным именем (gecos)";
	"  a: пользователи с указанным аккаунтом (учётная запись на сервисах)";
	"  m: пользователи, имеющие указанные режимы (маска содержит, например, +z или -z) [*]";
	"  t: пользователи, с указанным временем подключения";
	"  R: устанавливает вывод для отображения реальных имен хостов [*]";
	"  I: устанавливает вывод для отображения IP-адресов [*]";
	"  Пункты, отмеченные [*], означают, что (возможно) требуются привилегии IRCOp.";
	" <поля> решает, какие поля будут отображаться в выходных данных WHO";
	" (обратите внимание, что любые поля всегда выводятся в этом порядке:)";
	"  t: Тип запроса. Отображает указанный номер для каждого ответа. <querytype>";
	"  c: имя первого канала, на котором находится пользователь";
	"  u: Имя пользователя (ident)";
	"  i: IP-адрес [*]";
	"  h: Имя хоста [*]";
	"  H: Реальное имя хоста [*]";
	"  s: Сервер";
	"  n: Ник";
	"  f: Флаги состояния (объясняется позже)";
	"  m: Режимы пользователя [*]";
	"  d: Количество переходов между серверами";
	"     (например: 0 означает, что пользователь находится на одном сервере)";
	"  l: Время бездействия (или 0 для пользователей других серверов)";
	"  a: Имя аккаунта (учётная запись на сервисах)";
	"  o: имя operclass [*]";
	"  R: репутация [*]";
	"  r: Реальное имя (gecos)";
	"  Пункты, отмеченные [*], означают, что (возможно) требуются привилегии IRCOp.";
	" И, наконец, <querytype> - это число, которое клиенты могут использовать для пометки";
	" запросов WHO, чтобы они могли легко увидеть, какой ответ WHO относится";
	" к конкретному запросу WHO.";
	" -";
	" Примеры простых запросов WHO:";
	"  WHO #канал          - Чтобы перечислить всех пользователей канала";
	"  WHO 1.2.3.4         - Чтобы показать всех пользователей с этим IP-адресом";
	"                        (только IRCOp)";
	" Примеры запросов WHOX:";
	"  WHO Servic* n       - Показать всех пользователей, имя которых начинается с Servic";
	"                        (Полный список могут увидеть только IRC-операторы)";
	"  WHO #канал cI       - Показывать всех пользователей в канале #канал";
	"                        с их IP-адресом вместо имени хоста (только IRCOp)";
	"  WHO z m             - Показать всех пользователей с режимом z, означает:";
	"                        все пользователи на SSL/TLS. (только IRCOp)";
	"  WHO -z m            - Показать всех незащищенных пользователей без режима z.";
	"                        (только IRCOp)";
	"  WHO >5m t           - Показать всех пользователей, подключенных более 5 минут назад";
	" -";
	" Примеры запросов WHOX с использованием модификаторов вывода:";
	"  WHO #test %acfhnru  - Показать всех пользователей канала #test и показать";
	"                        различные поля, среди которых 'a' (учётная запись";
	"                        на сервисах) не отображается обычным WHO.";
	"-";
	" Флаги состояния:";
	" Команда WHO показывает несколько флагов в возвращенном результате, чтобы указать";
	" различную информацию о пользователе. Эти флаги объясняются ниже:";
	" G - Пользователь отсутствует /away (gone)";
	" H - Пользователь присутствует /away (here)";
	" r - Имя пользователя зарегистрировано";
	" B - Пользователь признан ботом (+B)";
	" s - Пользоватеь подключен через SSL/TLS";
	" * - Пользователь является IRC оператором";
	" ~ - Пользователь является владельцем канала (+q)";
	" & - Пользователь является администратором канала (+a)";
	" @ - Пользователь является оператором канала (+o)";
	" % - Пользователь имеет ограниченные права оператора канала (+h)";
	" + - Пользователь имеет право голоса (+v)";
	" ! - У пользователя установлен флаг +H и вы IRC-оператор";
}

help Whowas {
	" Показывает информацию WHOIS о пользователях";
	" не подключенных в данный момент к серверу.";
	" -";
	" Синтаксис:  WHOWAS <имя пользователя>";
	"             WHOWAS <имя пользователя> <количество записей>";
	" Пример:     WHOWAS hAtbLaDe";
}

help Cycle {
	" Выполнить цикл \"выйти/войти\" в указанном канале. Команда";
	" эквивалентна последовательному выполнению PART и JOIN.";
	" -";
	" Синтаксис:  CYCLE <канал1>,<канал2>,<канал3>";
	" Пример:     CYCLE #help";
	"             CYCLE #main,#chat";
}

help Dns {
	" Возвращает информацию из DNS кэша IRC сервера.";
	" Следует заметить, что большинство современных клиентов уже";
	" имеют встроенную команду DNS, поэтому вероятнее всего Вам";
	" придётся использовать команду /raw DNS.";
	" Так же есть два варианта использования:";
	" 'DNS l' покажет записи в DNS кеше";
	" 'DNS i' вернёт подробную информацию о конфигурации сервера имён";
	" -";
	"Синтаксис: DNS [опция]";
}

help Names {
	" Возвращает список пользователей указанного канала.";
	" -";
	" Синтаксис:  NAMES <канал>";
	" Пример:     NAMES #Support";
}

help Ison { 
	" Служит для определения состояния Пользователя - в";
	" сети он в данный момент или нет.";
	" -";
	" Синтаксис:  ISON <имя> <имя2> <имя3> <имя4>";
	" Пример:     ISON hAtbLaDe Stskeeps OperServ AOLBot";
}

help Join { 
	" Используется для входа на канал(ы) IRC сервера.";
	" Все присутствующие на канале будут уведомлены о вхождении.";
	" JOIN с 0 в качестве аргумента позволяет покинуть сразу все каналы.";
	" Если задан один или более ключей, они будут использованы для входа";
	" на канал с режимом +k";
	" -";
	" Синтаксис:  JOIN <канал>,<канал2>,<канал3> <ключ1>,<ключ2>,<ключ3>";
	"  	      JOIN 0 (покинуть все каналы)";
	" Пример:     JOIN #Support";
	"             JOIN #Lobby,#IRCd";
	"             JOIN #IRCd,#Support,#main letmein,somepass,anotherpass";
}

help Part {
	" Используется для того, чтобы покинуть текущий канал.";
	" Все присутствующие на канале будут уведомлены о том, что пользователь";
	" покинул канал.";
	" Если указана причина ухода в качестве параметра, остальные";
	" пользователи её увидят.";
	" -";
	" Синтаксис:  PART <канал>,<канал2>,<канал3>,<канал4> <причина>";
	" Пример:     PART #Support";
	"             PART #Lobby,#IRCd See ya later!";
}

help Motd {
	" Показывают информационное сообщение IRC сервера, к которому";
	" вы подключены.";
	" -";
	" Синтаксис: MOTD";
	"            MOTD <сервер>";
}

help Rules {
	" Показывает правила пользования сетью.";
	" -";
	" Синтаксис: RULES";
	"            RULES <сервер>";
}

help Lusers {
	" Предоставляет информацию о количестве локальных и глобальных";
	" пользователей (текущее и максимальное количество пользователей сети).";
	" -";
	" Синтаксис: LUSERS [сервер]";
}

help Map {
	" Предоставляет \"Карту Сети\" список серверов и связи между ними.";
	" В основном используется для визуализации маршрутизации в сети.";
	" -";
	" Синтаксис: MAP";
}

help Quit {
	" Отключает от IRC сервера. Пользователи каналов, в которых вы";
	" находитесь, будут уведомлены о том, что вы отключились.";
	" Если причина выхода не указана, ваш ник будет использован в качестве";
	" причины.";
	" -";
	" Синтаксис:  QUIT <причина>";
	" Пример:     QUIT Leaving!";
}

help Ping {
	" Команда PING используется для определения присутствия клиента или";
	" сервера на другом конце соединения. Сервер посылает PING через";
	" определённые промежутки времени, если соединение не проявляет других";
	" признаков жизни. Если ответ на PING не приходит в течении";
	" определённого в конфигурации времени, соединение считается разорванным.";
	" PING может посылаться и в случае, если соединение проявляет активность.";
	" Следует заметить, что эта команда не имеет ничего общего с командой";
	" CTCP PING";
	" -";
	" Синтаксис:  PING <сервер> <сервер2>";
	" Пример:     PING irc.example.org";
	"             PING hAtbLaDe";
	"             PING hAtbLaDe irc2.dynam.ac";
}

help Version {
	" Возавращает версию ПО на IRC сервере.";
	" -";
	" Синтаксис: VERSION";
	"            VERSION <сервер>";
}

help Stats {
	" Возвращает немного статистической информации с сервера";
	" -";
	" Синтаксис:  STATS <флаги>";
	" Пример:     STATS u";
	" -";
	" Дайте команду /stats без параметров для получения списка доступных";
	" флагов.";
}

help Links {
	" Возвращает список серверов, слинкованных с сетью на данный момент.";
	" Сервера, подключенные с использованием U:lines, могут видеть только";
	" IRC операторы.";
	" -";
	" Синтаксис: LINKS";
}

help Admin {
	" Возвращает административную информацию с указанного сервера.";
	" -";
	" Синтаксис: ADMIN";
	"            ADMIN <сервер>";
}

help Userhost {
	" Возвращает имя хоста для указанного пользователя.";
	" Обычно эту команду используют скрипты и боты.";
	" -";
	" Синтаксис:  USERHOST <имя>";
	" Пример:     USERHOST hAtbLaDe";
}

help Userip {
	" Возвращает IP адрес указанного пользователя.";
	" Обычно эту команду используют скрипты и боты.";
	" -";
	" Синтаксис: USERIP <имя>";
	" Пример:    USERIP codemastr";
}

help Topic {
	" Устанавливает/изменяет тему указанного канала, или просто показывает";
	" её запросившему.";
	" -";
	" Синтаксис:  TOPIC <канал> (Покажет текущую тему)";
	"             TOPIC <канал> <тема> (Изменит тему)";
	" Пример:     TOPIC #Operhelp";
	"             TOPIC #Lobby Welcome to #Lobby!!";
}

help Invite {
	" Посылает указанному пользователю приглашение войти на указанный канал.";
	" Если у канала установлен флаг +i, то пользователь должен обладать правами";
	" оператора канала для того, чтобы пригласить кого-то, иначе любой пользователь";
	" может посылать приглашения.";
	" Если выполнить команду без параметров, вы увидите список каналов, на которые";
	" получили приглашения.";
	" -";
	" Синтаксис:  INVITE [<имя> <канал>]";
	" Пример:     INVITE";
}

help Kick {
	" Удаляет пользователя из канала. Может быть использована только";
	" оператором или полу-оператором. Если причина удаления не указана, в её";
	" качестве будет использовано имя применившего команду";
	" -";
	" Синтаксис:  KICK <канал> <пользователь> [причина]";
	" Пример:     KICK #Lobby foobar Lamer..";
}

help Away {
	" Помечает вас как отсутствующего - \"Away\".";
	" -";
	" Синтаксис:  AWAY <причина> (Пометит Вас как отсутствующего по";
	"                             указанной причине)";
	"             AWAY (Снимет статус отсутствующего)";
	" Пример:     AWAY Lunch time!";
}

help List {
	" Возвращает полный список каналов, доступных в сети IRC на данный";
	" момент. Если указать строку для поиска, будут выданы только те";
	" каналы, в имени которых присутствует указанная строка.";
	" -";
	" Синтакис:  LIST <строка поиска>";
	" Пример:    LIST";
	"            LIST *ircd*";
	" -";
	" Так же доступны дополнительные флаги:";
	" >число  Возвращает каналы с количеством пользователей больше";
	"         указанного числа";
	" <число  Возвращает каналы с количеством пользователей меньше";
	"         указанного числа";
	" !*маска*  Показывает каналы, не попадающие под шаблон *маска*";
	" -";
	" Все эти параметры могут быть использованы вместо стандартной";
	" строки поиска.";
}

help Privmsg {
	" Позволяет послать сообщение пользователю, всему каналу или целому";
	" серверу.";
	" /PRIVMSG <имя> <текст>";
	"  Посылает личное сообщение.";
	"  Пример: /PRIVMSG Blah hi, how are you?";
	" /PRIVMSG <#канал> <текст>";
	"  Посылает сообщение в канал.";
	"  Пример: /PRIVMSG #room Hi all";
	" /PRIVMSG <префикс><#канал> <текст>";
	"  Посылает сообщение только пользователям с привелегиями выше заданных";
	"  префиксом в <#канал>";
	"  Пример: /PRIVMSG @#room This goes to +oaq";
	"          /PRIVMSG +#room This goes to +vhoaq";
	"  ВАЖНО: Вы должны обладать минимум правом голоса, чтобы послать";
	"         сообщение для +#канал/%#канал/@#канал и минимум быть";
	"         оператором канала, чтобы послать для &#канал/~#канал.";
	" /PRIVMSG $<маска> <текст>";
	"  Посылает сообщение всем пользователям на серверах с маской <маска>";
	"  [Только для Операторов IRC]";
	"  Сообщение показывается в окне статуса большинством современных IRC";
	"  клиентов.";
	"  Пример: /PRIVMSG $*.example.org We will be upgrading our net in the";
	"  next hour";
	"  Однако, следует заметить, что в большинстве случаев лучше использовать";
	"  сервисы (/OS GLOBAL).";
	" -";
	" Возможен вариант одновременной посылки одного сообщения нескольким";
	" пользователям";
	" /PRIVMSG <имя1>,<имя2>,<имя3>.";
	" -";
	" ВАЖНО: В случае использования старых клиентов (ircII, к примеру)";
	" нельзя использовать дополнительные возможности команд /msg или";
	" /privmsg, нужно пользоваться ими следующим образом:";
	"  '/QUOTE PRIVMSG @#channel blah'.";
}

help Notice {
	" Посылает \"notice\" пользователю, каналу или всем, кто подключен к";
	" указанному серверу.";
	" /NOTICE <имя> <текст>";
	"  Посылает \"notice\" указанному пользователю.";
	"  Пример: /NOTICE Blah hi, how are you?";
	" /NOTICE <#канал> <текст>";
	"  Посылает \"notice\" в указанный канал.";
	"  Пример: /NOTICE #room Hi all, this is annoying";
	" /NOTICE <префикс><#канал> <текст>";
	"  Посылает \"notice\" пользователям с правами <префикс> и выше в";
        "  канале <#канал>";
	"  Пример: /NOTICE @#room This goes to +oaq";
	"          /NOTICE +#room This goes to +vhoaq";
	"  ВАЖНО: Вы должны обладать минимум правом голоса (+v) для того,";
        "         чтобы послать для +#chan/%#chan/@#chan и минимум быть";
        "         оператором (+o), чтобы посылать для &#chan/~#chan.";
	" /NOTICE $<маска> <текст>";
	"  Посылает \"notice\" всем пользователям сервера, попадающим под";
        "  <маска> [Доступно только операторам]";
	"  Сообщения видны в окне статуса большинства современных клиентов.";
	"  Пример: /NOTICE $*.example.org We will be upgrading our net in the";
	"          next hour";
	"  В большинстве случаев сервисы (/OS GLOBAL) будут лучшей";
	"  альтернативой.";
	" -";
	" Возможен вариант одновременной посылки одного сообщения нескольким";
	" пользователям: /NOTICE <nick1>,<nick2>,<nick3>.";
	" -";
	" ВАЖНО: В случае использования старых клиентов (ircII, к примеру),";
	" чтобы использовать дополнительные возможности, необходимо применять";
        " следующий способ: '/QUOTE NOTICE @#channel blah'.";
}

help Knock {
	" Для каналов с ограничением доступа \"только по приглашению\" вы можете";
	" постучаться (\"knock\") в канал и попросить, чтобы вас пригласили.";
	" -";
	" Синтаксис:  KNOCK <#канал> <сообщение>";
	" Пример:     KNOCK #secret_chan I'm an op, let me in!";
}

help Setname {
	" Позволяет пользователю изменить реальное имя (\"Real name\") (GECOS)";
	" без отключения от IRC";
	" -";
	" Синтаксис: SETNAME <новое \"реальное имя\">";
}

help Vhost {
	" Скрывает реальный hostname пользователя, заменяя его виртуальным";
	" именем предоставленным IRC сервером.";
	" -";
	" Синтаксис:  VHOST <логин> <пароль>";
	" Пример:     VHOST openbsd ilovecypto";
}

help Mode {
	" Устанавливает режим для пользователя или канала.";
	" Воспользуйтесь /HELPOP CHMODES или /HELPOP UMODES чтобы просмотреть";
	" список режимов";
	" -";
	" Синтаксис:  MODE <канал/пользователь> <режим>";
	" Пример: MODE #Support +tn";
	"         MODE #Support +ootn hAtbLaDe XYZ";
}

help Credits {
	" Эта команда возвращает список людей, так или иначе помогавших в";
	" создании UnrealIRCd.";
	" -";
	" Синтаксис: CREDITS";
	"            CREDITS <сервер>";
}

help License {
	" Возвращает информацию о лицензии, под которой распространяется";
	" UnrealIRCd.";
	" Синтаксис: LICENSE";
	"            LICENSE <сервер>";
}

help Time {
	" Отображает текущую дату и время на сервере.";
	" -";
	" Синтаксис: TIME";
	"            TIME <сервер>";
}

help Silence {
	" Игнорирует сообщения от пользователя или группы пользователей сервера.";
	" -";
	" Синтаксис: SILENCE +nickname (Добавляет ник в SILENCE список)";
	"            SILENCE -nickname (Удаляет ник из SILENCE списка)";
	"            SILENCE           (Отображает текущий SILENCE список)";
}

help Oper {
	" Позволяет пользователю получить статус IRC оператора.";
	" -";
	" Синтаксис:  OPER <идентификатор> <пароль>";
	" ВАЖНО: идентификатор и пароль чувствительны к регистру";
	" Пример: OPER hAtbLaDe foobar234";
}

help Wallops {
	" Посылает сообщение всем пользователям с установленным флагом +w.";
	" Только IRC операторы могут использовать Wallops, но получать эти";
	" сообщения может любой пользователь с установленным флагом +w";
	" -";
	" Синтаксис: WALLOPS <сообщение>";
}

help Locops {
	" Посылает сообщение IRC операторам, подключенным к серверу (local).";
	" -";
	" Синтаксис:  LOCOPS <сообщение>";
	" Пример:     LOCOPS Gonna k:line that user ...";
}

help Globops {
	" Посылает общесетевое сообщение для IRC операторов. Видеть его могут";
	" только IRC операторы.";
	" -";
	" Синтаксис:  GLOBOPS <сообщение>";
	" Пример:     GLOBOPS Lets get em clones ..";
}

help Kill {
	" Отключает пользователей от сервера IRC.";
	" Команду могут использовать только IRC операторы.";
	" -";
	" Синтаксис:  KILL <ник1>,<ник2>,<ник3>,... <причина>";
	" Пример:     KILL Jack16 Cloning is not allowed";
}

help Kline {
	" Команда временно добавляет пользователя или хост в K:Lines.";
	" Если вы или ваш хост попадает под заданные в K:Line параметры,";
	" вам будет отказано в подключении к серверу.";
	" Если время задано как 0, действие KLINE станет постоянным.";
	" Время может быть указано в формате 1d10h15m30s.";
	" Команда может быть применена только IRC оператором.";
	" -";
	" Синтаксис:  KLINE <hostmask or ник> [время] <причина> (добавляет K-Line)";
	"             KLINE -<hostmask> (удаляет K-Line)";
	" Пример:     KLINE *@*.aol.com Abuse (добавляет постоянный K-Line)";
	"             KLINE *@*.someisp.com 2d Abuse (добавляет K-Line на 2 дня)";
	"             KLINE Idiot 1d Please go away";
	"             KLINE -*@*.aol.com";
	" -";
	" Мягкие действия (подробнее https://www.unrealircd.org/docs/Actions)";
	" Синтаксис:  KLINE %<hostmask or ник> [время] <причина> (добавляет мягкий K-Line)";
	"             KLINE -%<hostmask> (удаляет мягкий K-Line)";
	" Пример:     KLINE %*@*.aol.com Abuse (добавляет постоянный мягкий K-Line)";
	"             KLINE %*@*.someisp.com 2d Abuse (добавляет мягкий K-Line на 2 дня)";
	"             KLINE %Idiot 1d Please go away";
	"             KLINE -%*@*.aol.com";
	" -";
	" Расширенные баны серверов (подробнее https://www.unrealircd.org/docs/Extended_server_bans)";
	" Синтаксис:  KLINE ~<имя>:<маска> [время] <причина>";
	" Пример:     KLINE ~realname:*Stupid_bot_script*";
	
}

help Zline {
	" Команда временно добавляет пользователя или хост в Z:Lines. ";
	" Если вы или ваш хост попадает под заданные в Z:Line параметры,";
	" вам будет отказано в подключении к серверу.";
	" Если время задано как 0, действие ZLINE станет постоянным.";
	" Время может быть указано в формате 1d10h15m30s.";
	" Команда может быть применена только IRC оператором.";
	" -";
	" Синтаксис:  ZLINE <*@ipmask> [время] <причина> (Добавляет Zline)";
	"             ZLINE -<*@ipmask> (удаляет Zline)";
	" Пример:     ZLINE *@127.0.0.1 Abuse (Добавляет постоянный Z:line)";
	"             ZLINE *@127.0.0.1 2d Abuse (Добавляет Z:line на 2 дня)";
	"             ZLINE -*@127.0.0.1";
}

help Gline {
	" Команда временно добавляет пользователя или хост в G:Lines. ";
	" Если вы или ваш хост попадает под заданные в G:Line параметры,";
	" вам будет отказано в подключении к любому серверу сети.";
	" Если время задано как 0, действие GLINE станет постоянным.";
	" Время может быть указано в формате 1d10h15m30s.";
	" Команда может быть применена только IRC оператором.";
	" -";
	" Синтаксис:  GLINE <user@host маска или ник> [время] <причина>";
	"  (Добавляет G-Line для user@host)";
	"             GLINE -<user@host маска> (Удаляет G-Line для user@host)";
	" Пример:     GLINE *@*.idiot.net 900 Spammers (Добавляет G-Line на 15 мин.)";
	"             GLINE *@*.idiot.net 1d5h Spammers (Добавляет G-Line на 29 часов)";
	"             GLINE Idiot 1d Abuse";
	"             GLINE -*@*.idiot.net";
	" -";
	" Мягкие действия (подробнее https://www.unrealircd.org/docs/Actions)";
	" -";
	" Синтаксис:  GLINE %<user@host маска или ник> [время] <причина>";
	"  (Добавляет G-Line для user@host, но по-прежнему разрешает соединение если у";
	"  пользователя есть зарегистрированная учётная запись и он идентифицируется через SASL)";
	"             GLINE -%<user@host маска> (Удаляет мягкий G-Line для user@host)";
	" Пример:     GLINE %*@*.idiot.net 900 Spammers (Добавляет мягкий G-Line на 15 мин.)";
	"             GLINE %*@*.idiot.net 1d5h Spammers (Добавляет мягкий G-Line на 29 часов)";
	"             GLINE %Idiot 1d Abuse";
	"             GLINE -%*@*.idiot.net";
	" -";
	" Расширенные баны серверов (подробнее https://www.unrealircd.org/docs/Extended_server_bans)";
	" Синтаксис:  GLINE ~<имя>:<маска> [время] <причина>";
	" Пример: GLINE ~realname:*Stupid_bot_script*";
	" Поддерживаемые <флаги>:";
	" a - Имя учётной записи на сервисах";
	" r - gecos/строка реального имени";
	" S - Отпечаток сертификата клиента SSL/TLS";
}

help Shun {
	" Запрещает использование любой команды, кроме ADMIN и ответов на";
	" запросы сервера Ping. Shun имеет действие по всей сети (как glines).";
	" Если время задано как 0, действие SHUN будет постоянным.";
	" Время может быть указано в формате 1d10h15m30s.";
	" Команда может быть применена только IRC оператором.";
	" -";
	" Синтаксис:  SHUN <nickname> <время> :<причина> (Добавляет SHUN для nickname";
	"                                     на <время> в секундах)";
	"             SHUN +<user@host> <время> :<причина> (Добавляет SHUN для user@host";
	"                                       на <время> в секундах)";
	"             SHUN -<user@host> (Снимает SHUN с user@host)";
	"             SHUN (Показывает текущий список SHUN)";
	" -";
	" Пример:     SHUN +foobar@aol.com 600 :Spamming";
	"  (Shuns foobar@aol.com на 10 минут по причине Spamming)";
	"             SHUN +foobar@aol.com 1d6h :Spamming (SHUN на 30 часов)";
	" -";
	" Расширенные баны серверов (подробнее https://www.unrealircd.org/docs/Extended_server_bans)";
	" Синтаксис:  SHUN ~<имя>:<маска> [время] <причина>";
	" Пример:     SHUN ~realname:*Stupid_bot_script*";
}

help Gzline {
	" Команда накладывает временный глобальный Z:line. Если вы попадаете под";
    " указанную в Z:Line маску, вы не можете подключиться к любому серверу в";
    " сети.";
	" Если время равно 0, GZLINE становится постоянным.";
	" Время может быть указано в формате 1d10h15m30s.";
	" Команда может быть применена только IRC оператором.";
	" -";
	" Синтаксис:  GZLINE <*@ipmask> <время в секундах > :<причина>";
	"  (Добавляет общесетевой Z:line для *@ipmask)";
	"          GZLINE -<*@ipmask> (Снимает общесетевой Z:line с *@ipmask)";
	" Пример:  GZLINE *@4.16.200.* 900 Spammers (Действующий 15 минут";
	"                                            общесетевой Z:line)";
	"          GZLINE *@4.16.200.* 1d5h Spammers (Действующий 29 часов";
	"                                             общесетевой Z:line)";
}

help Eline {
	" Добавляет исключение бана, поэтому некоторые пользователи не будут затронуты";
	" такими вещами, как K-Line, G-Line и другими типами банов.";
	" Синтаксис:  ELINE <user@host> <тип> <время> <причина> (Добавляет E-Line)";
	"             ELINE -<user@host>                        (Снимает E-Line)";
	"    Пример:  ELINE *@unrealircd.org kGF 0 This user is exempt";
	" Допустимые <типы>:";
	" ==-Тип---------Имя------------------------------Описание------------------------==";
	"     k   |      K-Line     | Обход K-Line                                          ";
	"     G   |      G-Line     | Обход G-Line                                          ";
	"     z   |      Z-Line     | Обход Z-Line                                          ";
	"     Z   |     GZ-Line     | Обход Global Z-Line                                   ";
	"     Q   |      Q-Line     | Обход Q-Line                                          ";
	"     s   |       shun      | Обход Shun                                            ";
	"     F   |    spamfilter   | Обход проверки spamfilter                             ";
	"     b   |     blacklist   | Обход проверка чёрных списков (DNS blacklist)         ";
	"     c   |  connect flood  | Обход set::anti-flood::connect-flood                  ";
	"     d   | handshake flood | Обход проверки handshake data flood                   ";
	"         |                 |  (без ZLINE на слишком большом количестве данных перед";
    "         |                 |  регистрацией)                                        ";
	"     m   |     maxperip    | Обход ограничений allow::maxperip                     ";
	"     r   |    antirandom   | Обход модуля antirandom                               ";
	"     8   |  antimixedutf8  | Обход модуля antimixedutf8                            ";
	"     v   |     version     | Обход блоков ban version { }                          ";
	" ==------------------------------------------------------------------------------==";
	" -";
	" Расширенные баны серверов (подробнее https://www.unrealircd.org/docs/Extended_server_bans)";
	" Синтаксис:  ELINE ~<флаг>:<маска> <тип> <время> <причина>";
	"    Пример:  ELINE ~S:1234567890a... kGF 0 Trusted user with this certificate fingerprint";
	" Поддерживаемые <флаги>:";
	" a - Имя учётной записи на сервисах";
	" r - gecos/строка реального имени";
	" S - Отпечаток сертификата клиента SSL/TLS";
}

help Rehash {
	" Заставляет сервер перечитать файл конфигурации.";
	" Доступна для использования только IRC операторам.";
	" -";
	" Синтаксис: REHASH <имя сервера> -<флаг>";
	"            REHASH -global <флаг>";
	"            REHASH -<флаг>";
	" -";
	" Если не указано имя сервера и флаг, сервер перечитает unrealircd.conf,";
	" а так же все файлы MOTD, BOTMOTD, OPERMOTD и RULES.";
	" Если указано имя сервера, команда подействует на указанный сервер.";
	" Если указан -global, то все сервера в сети перечитают настройки";
	" Только администратор сети может указывать имя сервера и -global.";
	" -";
	" Указание флагов позволяет перечитать другие конфигурационные файлы." ;
	" Список флагов:";
	"  -dns      - Переинециализация и перезагрузка преобразования адресов";
	"  -garbage  - Активирует \"сборщик мусора\"";
	"  -tls      - Перезагрузка сертификатов SSL/TLS";
}

help Restart {
	" Перезапускает IRC демона, с отключением всех пользователей,";
	" подключенных к серверу в момент выполнения команды.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис: RESTART";
	"            RESTART <пароль>";
	"            RESTART <пароль> <причина>";
}

help Die {
	" Убивает IRC демон, отключает от него всех пользователей.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис: DIE";
	"            DIE <пароль>";
}

help Lag {
	" Команда - аналог Traceroute для IRC серверов";
	" Вы вводите /LAG irc.example.org и получаете ответ от каждого";
	" сервера, через который она проходит, с указанием времени задержки.";
	" Используется для поиска лагов и серверов с нестыковкой по времени";
	" -";
	" Синтаксис: LAG <server>";
}

help Sethost {
	" Пользуясь этой командой вы можете сменить свой виртуальный хост";
	" (Vhost) на что угодно, за исключением специальных символов.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  SETHOST <новое имя>";
	" Пример:     SETHOST i.have.hairy.armpits";
}

help Setident {
	" Этой командой вы можете сменить себе ваш идент (Username).";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  SETIDENT <новый ident>";
	" Пример:     SETIDENT l33t";
}

help Chghost {
	" Сменяет имя хоста пользователя IRC сети на указанное.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  CHGHOST <ник> <хост>";
	" Пример:     CHGHOST hAtbLaDe root.me.com";
}

help Chgident {
	" Изменяет идентификационную информацию (Ident) о пользователе сети.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  CHGIDENT <ник> <ident>";
	" Пример:     CHGIDENT hAtbLaDe sheep";
}

help Chgname {
	" Изменяет \"IRC Name\" (или \"Real Name\") пользователя сети";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  CHGNAME <ник> <имя>";
	" Пример:     CHGNAME hAtbLaDe Gotta new name :)";
}

help Squit {
	" Отключает IRC сервер (или все сервера, попадающие под маску) от сети.";
	" Обычно используется для перемаршрутизации.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  SQUIT <сервер> [причина]";
	" Пример:     SQUIT leaf.server.net bye";
}

help Connect {
	" Подключает указанный IRC сервер к тому, на котором вы находитесь.";
	" Возможно применение команды не только на локальном сервере.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис:  CONNECT <сервер> [порт]";
	"             CONNECT <leaf> <port> <hub>";
	" Пример:     CONNECT leaf.server.net";
	"             CONNECT leaf.server.net 6667 hub.server.net";
}

help Dccdeny {
	" Запрещает передачу файлов, попадающих под указанную маску, по DCC.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис: DCCDENY <маска> <причина>";
}

help Undccdeny {
	" Отменить запрет на передачу файлов по указанной маске.";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис: UNDCCDENY <filename mask>";
}

help Sajoin {
	" Заставляет пользователя войти в канал.";
	" Команда доступна только администраторам сервисов";
	" -";
	" Синтаксис:  SAJOIN <ник> <канал>,[<канал2>..]";
	" Пример:     SAJOIN hAtbLaDe #OperHelp";
	"             SAJOIN hAtbLaDe #Support,#IRCHelp";
}

help Sapart {
	" Заставляет пользователя покинуть канал.";
	" Команда доступна только администраторам сервисов";
	" -";
	" Синтаксис:  SAPART <ник> <канал>,[<канал2>..] [<комментарий>]";
	" Пример:     SAPART hAtbLaDe #OperHelp";
	"             SAPART hAtbLaDe #Support,#IRCHelp";
	"             SAPART hAtbLaDe #Support,#IRCHelp Go away";
}

help Samode {
	" Позволяет администратору сервисов изменить режимы на указанном канале";
	" без прав оператора этого канала.";
	" Доступна только администраторам сервисов";
	" -";
	" Синтаксис:  SAMODE <канал> <режим>";
	" Пример:     SAMODE #Support +m";
}

help Trace {
	" Команду TRACE можно использовать на сервере или пользователе.";
	" При использовании на пользователе возвращает класс и задержку.";
	" при использовании на сервере возвратит класс/версию/информацию";
        " о соединении.";
	" Иногда вывод TRACE приводит в замешательство, особенно если вы";
        " используете его в первый раз.";
	" -";
	" Синтаксис:  TRACE <сервер|ник>";
	" Пример:     TRACE irc.example.org";
}

help Opermotd {
	" Показывает MOTD сервера для IRC операторов";
	" Команда доступна только IRC операторам.";
	" -";
	" Синтаксис: OPERMOTD";
}

help Sdesc {
	" Этой командой можно изменить описание сервера без применения squit";
	" или переподключения.";
	" Команда доступна только администратору/помощнику администратора";
	" -";
	" Синтаксис:  SDESC <новое описание>";
	" Пример:     SDESC Fly High, Fly Free";
}

help Mkpasswd {
	" Команда возвратит 'hash' указанной строки, который можно";
	" в последствии использовать в конфигурационном файле в качестве пароля:";
	" в oper::password, vhost::password, и т.д.";
	" Дополнительную информацию и типы хешей:";
	" https://www.unrealircd.org/docs/Authentication_types";
	" -";
	" Синтаксис:  MKPASSWD <метод> <пароль>";
	" Пример:     MKPASSWD argon2 IamTeh1337";
}

help Module {
	" Покажет список загруженных сервером модулей.";
	" По умолчанию будут перечислены только сторонние модули, без указания -all";
	" -";
	" Синтаксис: MODULE [-all] [сервер]";
	"    Пример: MODULE";
	" -";
	" Вывод команды различается в зависимости от того, обычный вы";
	" пользователь сети либо оператор IRC.";
	" -- обычный пользователь --";
	" *** имя - (описание) [3RD]";
	" Флаг [3RD] присутствует, если это сторонний модуль.";
	" -- IRCOp -- ";
	" *** имя - версия (описание) [дополнительные флаги]";
	" Дополнительные флаги могут содержать:";
	" [PERM]: встроенный модуль (невозможно выгрузить/перегрузить).";
	" [PERM-BUT-RELOADABLE]: модуль можно перезагружать, но нельзя выгрузить.";
	" [3RD] модуль создан третьей стороной (сторонний модуль)";
	" Так же будут видны присутствующие hooks и command overrides.";
}

help Close {
	" Команда позволяет отключить все неизвестные соединения к IRC серверу.";
	" -";
	" Синтаксис: CLOSE";
}

help Tsctl {
	" Команда позволяет управлять временем в IRC сети";
	" Может использоваться только IRC операторами.";
	" -";
	" Синтаксис: TSCTL ALLTIME (Покажет время на всех серверах)";
}

help Svsnick {
	" Меняет ник указанному пользователю.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSNICK <старый ник> <новый ник> <timestamp>";
	" Пример:     SVSNICK hAtbLaDe Foobar 963086432";
}

help Svsmode {
	" Изменяет режимы указанного пользователя.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSMODE <ник> <режим>";
	" Пример:     SVSMODE hAtbLaDe +i";
}

help Svskill {
	" Отключает пользователя от сети.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSKILL <пользователь> :<причина>";
	" Пример:     SVSKILL Lamer21 :Goodbye";
}

help Svsnoop {
	" Включает или отключает режим IRC оператора";
	" вне зависимости от того, позволяет это сделать указанный";
	" сервер или нет.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSNOOP <сервер> <+/->";
	" Пример:     SVSNOOP leaf.server.net -";
}

help Svsjoin {
	" Заставляет пользователя войти в указанный канал.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSJOIN <ник> <канал>[,<канал2>..] [ключ1[,ключ2[..]]]";
	" Пример:     SVSJOIN hAtbLaDe #jail";
	"             SVSJOIN hAtbLaDe #jail,#zoo";
}

help Svspart {
	" Заставляет пользователя покинуть канал.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSPART <ник> <канал>[,<канал2>..] [<комментарий>]";
	" Пример:     SVSPART hAtbLaDe #Hanson";
	"             SVSPART hAtbLaDe #Hanson,#AOL";
	"             SVSPART hAtbLaDe #Hanson,#AOL You must leave";
}

help Svso {
	" Даёт пользователю Operflags как описано в O:lines.";
	" Не забывайте указывать SVSMODE +o и им подобные.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSO <nick> <+operflags> (Добавляет Operflags)";
	"             SVSO <nick> - (Снимает все O:Line флаги)";
	" Пример:     SVSO SomeNick +bBkK";
}

help Swhois {
	" Изменяет сообщение WHOIS для указанного ника.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SWHOIS <ник> :<сообщение> (Устанавливает SWHOIS)";
	"             SWHOIS <ник> :  (Сбрасывает SWHOIS)";
	" Пример:     SWHOIS SomeNick :is a lamer";
}

help Sqline {
	" Накладывает бан на указанный ник или маску.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SQLINE <маска> :<причина>";
	" Пример:     SQLINE *Bot* :No bots";
}

help Unsqline {
	" Снимает бан с указанного ника или маски";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  UNSQLINE <маска>";
	" Пример:     UNSQLINE *Bot*";
}

help Svs2mode {
	" Изменяет режимы указанного пользователя и уведомляет его";
	" о сделанных изменениях.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVS2MODE <ник> <режимы>";
	" Пример:     SVS2MODE hAtbLaDe +h";
}

help Svsfline {
	" Добавляет маску файла к DCCDENY";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис: :server SVSFLINE + file :reason (Добавляет имя файла)";
	"            :server SVSFLINE - file (Удаляет имя файла)";
	"            :server SVSFLINE *      (Очищает список DCCDENY)";
}

help Svsmotd {
	" Изменяет MOTD у сервисов.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" Синтаксис:  SVSMOTD # :<текст> (Добавляет текст MOTD)";
	"             SVSMOTD !          (Удаляет текущий MOTD)";
	"             SVSMOTD ! :<текст> (Замещает текущий новым MOTD)";
	"    Пример:  SVSMOTD # :Services MOTD";
}

help Svsnline {
	" Создаёт глобальный бан на основе реального имени.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" Указанная причина не должна содержать пробелов, сервер";
	" сам заменит на пробелы знак _";
	" -";
	" Синтаксис:  SVSNLINE + <причина_бана> :<имя> (чтобы добавить бан)";
	"             SVSNLINE - :<имя> (чтобы удалить бан)";
	"             SVSNLINE * (очистить все баны)";
	"    Пример:  SVSNLINE + sub7_drone :*sub7*";
}

help Svslusers {
	" Изменяет общее и/или локальное максимальное количество";
	" пользователей сервера. Если указан -1 для любого из значений,";
	" то текущее установленное значение будет оставлено.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSLUSERS <сервер> <globalmax|-1> <localmax|-1>";
	" Пример:     SVSLUSERS irc.example.org -1 200";
}

help Svswatch {
	" Изменяет список WATCH у указанного пользователя.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" Синтаксис: SVSWATCH <имя> :<параметры>";
	" Пример:    SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
}

help Svssilence {
	" Изменяет список SILENCE у указанного пользователя.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" В отличие от команды SILENCE, вы можете добавлять/удалять";
	" несколько записей одной командой.";
	" Синтаксис: SVSSILENCE <имя> :<параметры>";
	" Пример:    SVSSILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
}

help Svssno {
	" Изменяет snomask для указанного ника.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSSNO <ник> <snomasks>";
	" Пример:     SVSSNO joe +Gc";
}

help Svs2sno {
	" Изменяет snomask для указанного ника и уведомляет пользователя";
	" об изменениях.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVS2SNO <ник> <snomasks>";
	"    Пример:  SVS2SNO joe +Gc";
}

help Svsnolag {
	" Включает 'no fake lag' для указанного пользователя.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVSNOLAG [+|-] <ник>";
	"    Пример:  SVSNOLAG + joe";
}

help Svs2nolag {
	" Включает 'no fake lag' для указанного пользователя.";
	" Должно использоваться через сервер, описанный в U:Lines.";
	" -";
	" Синтаксис:  SVS2NOLAG [+|-] <ник>";
	"    Пример:  SVS2NOLAG + joe";
}

help Spamfilter {
	" Команда создаёт/удаляет общесетевые фильтры спама.";
	" Спамфильтры используются для удаления мусора, рекламы, блокировки";
	" ботов и т.д.";
	" -";
	" Синтаксис: /spamfilter [add|del|remove|+|-] [метод] [тип] [действие] [tkltime] [причина] [строка]";
	" [метод]    Метод сопоставления должен быть одним из:";
	"            -regex (PCRE regex),";
	"            -simple (самый быстрый, но поддерживает только ? и *)";
	" [тип]      указывает тип сообщений, к которым применяется фильтр:";
	"            'c' сообщения в канале, 'p' личные сообщения, 'n' личные \"notice\",";
	"            'N' \"notice\" в канал, 'P' сообщения при покидании канала,";
	"            'q' сообщение при отключении, 'd' dcc,";
	"            'a' сообщение при отсутствии, 't' тема, 'T' message-tag (т.е.: +typing=active),";
	"            'u' имя пользователя (nick!user@host:realname ban)";
	" [действие]  указывает применяемое действие (может быть указано только:";
	"             одно действие):";
	"            'kill', 'tempshun' (shun на текущую сессию), 'shun',";
	"            'kline', 'gline', 'zline', 'gzline', 'block' (блокирует сообщение),";
	"            'dccblock' (блокирует любой dcc), 'viruschan' (покинуть все каналы";
	"            и войти в канал помощи), 'warn' (уведомляет IRC-операторов).";
	" [tkltime]  длительность применяемого фильтром действия (указание '-'";
	"            включает значение из set::spamfilter::ban-time, но для";
	"            block/tempshun этот параметр игнорируется.);";
	" [причина]  причина, указываемая при наложении указанного действия, БЕЗ";
	"            ПРОБЕЛОВ, '_' будут преобразованы в пробелы. Если в качестве";
	"            причины указать '-', будет использовано значение";
	"            по-умолчанию из set::spamfilter::ban-reason.";
	" [строка]   регулярное выражение, блокируемое фильтром";
	" - ";
	" Примеры:";
	" /spamfilter add -simple p block - - Come watch me on my webcam";
	" /spamfilter add -simple p block - Possible_virus_detected,_join_#help Come watch me on my webcam";
	" /spamfilter add -simple p tempshun - - You_are_infected me.mpg";
	" /spamfilter add -simple p gline - - Come watch me on my webcam";
	" /spamfilter add -simple p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
	" /spamfilter add -simple p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
	" /spamfilter del -simple p block - - Come watch me on my webcam*";
	" /spamfilter add -regex cN gzline 1d No_advertising_please come to irc\..+\..+";
}

help Tempshun {
	" Добавляет/удаляет 'временный shun'.";
	" Временный shun означает, что его действие распространяется только на ";
	" _текущую сессию_, т.е. если пользователь переподключится, действие";
	" shun прекратится.";
	" -";
	" Синтаксис:  TEMPSHUN [+|-]<ник> [причина]";
	" Пример:     TEMPSHUN evilguy suspected infection";
	"             TEMPSHUN -niceguy";
}

help DccAllow {
	" Для получения помощи по системе DCCALLOW, введите '/DCCALLOW HELP'";
}

help Addmotd {
	" Добавляет линию в конец MOTD (сообщение дня)";
	" -";
	" Синтаксис:  ADDMOTD <текст>";
	" Пример:     ADDMOTD Удачного общения!";
}

help Addomotd {
	" Добавляет линию в конец OPERMOTD (сообщение дня для операторов)";
	" -";
	" Синтаксис:  ADDOMOTD <текст>";
	" Пример:     ADDOMOTD Согрешите и потеряйте операторство!";
}
