# Руководство &ksirc;

## Введение

&ksirc; является основным клиентом &irc; для &kde;. Он поддерживает сценарии Perl и в значительной степени совместим с &mirc; при обычном использовании.

## Использование &ksirc;

### Если вы не использовали &irc; ранее...

Проще говоря, &irc; является протоголом разговора, определённом официальными стандартами интернет, и способным занять большуючасть вашей жизни. Для использования &irc; вы должны подключиться к серверу, и затем к каналу (эквивалент комнаты для бесед).

Для подключения к серверу, откройте &ksirc; и выберите Соединения Новый сервер... либо нажмите клавишу F2. В появившемся диалоге выберите группу в левом выпадающем списке и сервер в среднем - порт, который почти всегда будет 6667. Новое окно начнёт показывать сообщения от сервера к клиенту. Когда сообщения перестанут появляться, вы можете выбрать канал. Для отображения списка доступных каналов, наберите ``/list``. Для подключения к каналу наберите ``/join` `#имя_канала``. Чтобы покинуть канал, просто наберите ``/part``.

Это основы, чтобы получить больше информации, продолжайте читать...

### Основы &ksirc;

#### Сервера

&ksirc; позволяет вам подключаться к нескольким серверам. Соединения Новый сервер... или нажмите клавишуF2. Появится диалог Связаться с сервером, и вы можете выбрать Группу, затем Сервер, а также Порт, к которому хотите подключиться.

Просто нажмите Соединение когда завершите, и для сервера будет открыто новое окно. Вы можете следить за серверами, к которым подключены в окне Управление сервером &ksirc;

Вы можете получить помощь по большинству команд &irc; набрав `/help `имя_команды`` . При вводе `/help` вы увидитесписок команд.

#### Каналы

Вы можете присоединиться к каналу с помощью обычной команды &irc; ``/join` `#имя_канала`` , выбрав Соединения Присоединиться к каналу... либо нажать клавишу F3.

Каналы, к которым вы присоединились показаны в окне Управление сервером под сервером, которому они принадлежат. Чтобы покинуть канал, вы можете набрать `/part`, выбрать Канал Закрыть или нажать &Ctrl;W.

#### Параметры каналов

Меню Канал, доступно в любом окне канала и содержит некоторые полезные пункты:

&Ctrl;S Сохранить в журнале...

- Сохраняет содержимое канала в файле.

Вставить время

- Если выбран, перед каждой фразой будет показано время, в формате [ЧЧ:ММ:СС]

&Alt;C T Таблица Ascii

- Отображает таблицу Ascii, где вы можете выбрать необходимый символ.

&Alt;C P Уведомление при изменении

- Если выбран, &ksirc; издаёт гудок, когда в канале появляется новая фраза.

#### Параметры пользователя

Список пользователей в канале отображается справа. Щелчок правой кнопкой мыши на нике в этом списке вызывает контекстное меню, большинство пунктов которого очевидно:

Обновить ники

- Послать сообщение на сервер с запросом списка пользователей в канале. Это обеспечивает современность списка ников.

Следовать

- Выделять ник пользователя в каждом сообщении, посланном в канал. Таким способом вы можете вести беседу с кем-либо в переполненном канале.

Прекратить следование

- Прекратить слежение за пользователем.

Кто это?

- Послать пользователю запрос &CTCP; "ты кто?", который предоставляет информацию о пользователе, подобно имени его хоста, и к какому серверу он подключён.

Пинг

- Послать пользователю запрос &CTCP; Пинг, для определении его времени эха.

Версия клиента

- Послать пользователю запрос &CTCP; версии, для определения версии используемой им программы.

Оскорбление

- Оскорбление пользователя одним из забавных способов.

Следующие команды доступны если вы являетесь оператором в канале:

Выкинуть с канала

- Удаление пользователя из канала.

Запретить вход в канал

- Запретить пользователю присоединяться к каналу.

Снять запрет входа в канал

- Удалить запрет пользователю присоединятся к каналу.

Сделать оператором

- Предоставить пользователю привилегии оператора.

Сделать обычным пользователем

- Лишить пользователя привилегий оператора.

### Автосоединение

Если вы при каждом использовании &ksirc; подключаетесь к нескольким серверам и/или каналам, можете настроить &ksirc; автоматически подключаться к ним: в окне Управление сервером, выберите Настройки НастроитьKSirc..., и появится диалог, выберите страницу Автосоединение. Для добавление канала с сервера, заполните текстовые поля Сервер и Канал, затем нажмите кнопку Новый. Для добавление другого канала этого-же сервера, выберите сервер в дереве, введите имя канала в поле Канал и нажмите кнопку Добавить. Вы можете повторить этот процесс несколько раз если хотите добавить несколько серверов и каналов для подключения к ним при запуске &ksirc;.

## Настройка &ksirc;

### Введение в настройку

Диалог настройки &ksirc; доступен в меню Настройка Настроить KSirc... окна Управление сервером

### Страница Общие

#### Режим окон

Отдельные окна (старый вариант)

- Причиной использования в &ksirc; интерфейс одного документа, является связь каждого нового канала или окна `/query` с собственным окном.

Многооконный режим с вкладками (XChat)

- Причиной использования в &ksirc; многооконного интерфейса в стиле XChat, где каждый канал или окно `/query` расположены во вкладках основного окна &ksirc;. Каждая вкладка может быть сделана активной щелчком на ней мышкой, вы можете переключать вкладки используя &Alt;Стрелка влево и &Alt;Стрелка вправо.

#### Блок Разное

Автоматическое создание окон

- Если установлен, &ksirc; будет автоматически создавать новое окно для каждого пользователя, который посылает вам команду `/msg`. Если не установлен, любой текст посланный вам командой `/msg` появится в текущем окне и вы можете использовать `/query `имя_пользователя`` для создания окна чата с конкретным пользователем.

Завершение ников

- Если выбрано, завершение ников включено. Оно работает следующим образом:

  1. Наберите первые буквы ника пользователя

  2. Нажмите TAB. Набранный вами текст будет дополнен до имени пользователя, включая изменение регистра, если необходимо. ⪚ `phi<TAB>` станет `PhilRod` если в канале присутствует пользователь PhilRod.

  3. Если тексту соответствует несколько ников, присутствующих в канале, будет выбран первый. Повторное нажатие TAB отображает следующий ник в списке. Например, если в канале присутствуют пользователи PhilA и PhilRod, и вы набрали `phi<TAB>`, сначала текст будет закончен как `PhilA`, а когда вы нажмёте TAB ещё раз, он будет изменён на `PhilRod`.

Показывать тему в заголовке

- Показывать в заголовке текущего окна канала, его тему.. Если не выбрано, тема будет отображаться только внутри окна.

Вставлять время

- Вставлять время перед каждой фразой, в формате [ЧЧ:ММ:СС].

Сигнал при изменении

- Если установлен, будет генерироваться системный гудок, когда пользователь в вашем списке `/notify` появится на сервере &irc;.

Список выбора цветов

- Если установлен, при нажатии &Ctrl;K появится окно, где вы можете выбратьцвет для текста. Если не установлен, вы должны будете набирать коды цветов вручную. Смотрите также sectcolors.

Автоматический вход на канал после выкидывание

- Переприсоединяться к каналу автоматически если вы были отключены.

Длинна истории

- Хранить указанное количество строк чата в каждом окне, позволяет вам прокручивать его вверх и видеть что было сказано ранее.

#### Настройка Обои

В разделе Обоев вы можете изменить изображение помещаемое как фон в ваши окна &ksirc;. Вы можете ввести в текстовое поля имя файла, или просмотреть файлы с помощью кнопки справа от этого поля. Используемые файлы изображений должны быть в формате &GIF;, JPEG или PNG. Предварительный просмотр изображения отображается в правой части окна.

### Страница Запуск

Здесь вы можете настроить параметры запуска &ksirc;.

#### Настройки идентификации

Ник

- Установить ваш ник в &irc;

Альтернативный ник

- Установить другой ник, если первоначальный выбор уже используется другим пользователем.

Реальное имя

- Ваше реальное имя, как возвращается командой `/whois` к вам.

#### Список уведомлений

Здесь вы можете ввести список пользователей, которых хотите добавить к вашему списке `/notify` при старте. Вы будете предупреждены, когда кто-либо из этого списка появится в сети.

### Страница Цвета

Здесь вы можете настроить цвета, используемые &ksirc;.

#### Настройка Цветов чата

Здесь вы можете установить цвета для каждого типа текста. Нажатие цветной кнопки, расположеной справа от имени каждого типа текста открывает диалог цвета, где вы можете выбрать, какой цвет будет использоваться для отображения данного типа текста.

#### Цвета ника

Основной текст: и Фон: устанавливают цвета основного текста и фона ников пользователей в окнах чата. Параметр Цвет сообщений, содержащих ваш ник: устанавливает цвет любого сообщение появляющегося в канале, которое содержит ваш ник.

#### Коды цветов

Здесь вы можете установить как разрешает родные коды цветов (смотрите sectcolors) а также какие коды цветов &mirc; разрешены.

## Цвета &ksirc;

&ksirc; следует цветовой схеме используемой &mirc; с небольшими изменениями для более удобного использования.

    <fg> == текст
    <bg> == фон
    [] == дополнительный

### Совместимый с &mirc;

Формат:

- `0x03<fg>[,<bg>]` установить цвет текста и фона

- `0x03` переустановить в значение по умолчанию этой строки

### Родной &ksirc;

Формат:

- `˜<fg>[,<bg>]` установить цвет текста и фона

- `˜c` пореустановить в значение по умолчанию

- `˜b` установить полужирный шрифт

- `˜u` установить подчёркивание

- `˜i` установить курсив

- `˜r` установить обратный текст

Почему в &ksirc; была сделана замена 0x03 на ˜ (&Ctrl;C)? 0x03 интенсивно используется в сценариях, и не все функции C воспринимают его корректно. `˜ `буква`` также позволяют использовать большинство команд, и это также планируется в будущих версиях &mirc;.

### Номера цветов

1. белый

2. чёрный

3. синий

4. зелёный

5. красный

6. коричневый

7. пурпурный

8. оранжевый

9. жёлтый

10. светлый зелёный

11. голубой

12. светлый голубой

13. светлый синий

14. розовый

15. серый

16. светлый серый

### Отправка полужирным, подчёркнутым, обратным или цветным

Вы можете использовать следующие комбинации для вставки в текст управляющих кодов:

- &Ctrl;B для полужирного текста

- &Ctrl;U для подчёркнутого текста

- &Ctrl;R для обратного текста

- &Ctrl;K для цветного текста

- &Ctrl;O для обычного текста

### Примеры

Подчеркнуть отдельное слово в предложении:

1. Нажмите &Ctrl;U

2. Наберите слово

3. Нажмите &Ctrl;U повторно

Это будет затрагивать только текст, заключённый в начальный и конечный коды. Вы можете использовать этот метод и для других управляющих кодов.

Управляющий код &Ctrl;K немного отличается, поскольку позволяет указывать номер цвета. Для окраски одного слова в предложении:

1. Нажмите &Ctrl;K

2. Наберите число от 0 до 15

3. Наберите слово

4. Нажмите &Ctrl;K повторно

Если вы ходите изменить у слова цвет фона, вы должны набрать два разделённые запятой числа вместо одного. Первое число - это цвет текста, второе - номер цвета фона. Диапазон цветов от 0 до 15 находится в предедущем разделе.

Вы можете заключать текст в несколько управляющих кодов, так что для примера вы можете иметь полужирное, подчёркнутое и окрашенное слово.

## Фильтры

### Профили фильтров и как они создаются

Мне жаль если вы не сможете в этом разобраться. Я ищу способ создать качественного составителя фильтров, который вы сможете с лёгкостью использовать. Но на это нужно время.

Фильтр ищет соответствие строке и использует Из и На для замены. Из и На являются регулярными выражениями Perl. Правила рассматриваются в порядке убывания. Верхнее правило эквивалентно первому, затем рассматривается второе с верху, &etc;. Все строки расцениваются как:

`$`имя`` расширяется до переменной окружения ``name`` . Она устанавливается немедленно, когда вы вставляете правило, и не позже не может изменяться. Поэтому вероятно имеет ограниченное назначение.

`$$`имя`` заменяется на переменную `$`имя`` языка Perl в процессе сравнения. Она может быть подстроками типа `$1`, `$2` при замене, или обычными переменными доступными в sirc (типа `$nick`, `$channel`, &etc;).

`˜`имя`˜` рассмотренный только однажды посылает строку текста окну `имя`. Если око не существует, будет направлен в окно, которое последним имело фокус. Существует несколько специальных окон, все они предваряются символом `!`:

`!default`

- Текущее по умолчанию окно. Существование гарантируется.

`!all`

- Послать всем окнам. Это может и не воявиться во всех окнах, в зависимости от того как текст анализируется. Например, окно канала не будет отображать `/part` или `/quit` если ник не присутствует в канале.

`!discard`

- отказаться от текста

Остальная часть выражение рассматривается как обычное выражение Perl. Вам пригодится прочтение руководства по `perlre`, но больше всего необходимо понимание основ регулярный выражений.

### Примеры:

1. Хотите преобразовать все boren из borenа в BoreN

       Условие: .*
       Из: boren
       На: BoreN

   Достаточно простой, соответствует всему, затем заменяет boren на BoreN.

2. Вы хотите соответствовать всему с boren, и посылать в окно с именем boren

       Условие: boren
       Из: ˆ
       На: ˜boren˜

   Искать boren, если найдено, заменять начало строки (ˆ) на ˜boren˜.

3. Хотя предыдущий пример работает, если строка уже содержит `˜некоторое_окно˜` вы получите два `˜boren˜˜некоторое_окно˜...` Так что вы можете всесто этого сделать.

       Условие: boren
       Из: ^(?:˜\S+˜)
       На: ˜boren˜

   Ок, строка Из немного более сложна. Она означает: соответствие 0 или 1 копии `˜\S+˜`. Где 1 является тильдой, один или несколько не пробелов, затем другая тильда. Параноик мог бы написать `(*:˜\S+˜)`, что означает: соответствие 0 или более директивам канала в случае если предыдущее правило не сработали.

4. Уничтожающие сообщения сервера являются уродливыми, раздражающими &etc;. Обычное сообщение в dalnet похоже на:

       *** Notice -- Received KILL message for
       BOBO!ANDY@line82-basel.datacomm.ch from NickServ
       Path: empire.ny.us.dal.net[209.51.168.14]!trapdoor.ca.us.dal.net
       [206.86.127.252]!caris.ca.us.dal.net[208.1.222.221]
       !services.dal.net[2008.1.222.222]!services.dal.net
       (NickServ Enforcement)

   Когда вы используете `+s`, то получаете очень большое количество подобных сообщений, но не хотите видеть их. Я собираюсь создать 3 правила, одновременно применяемых к ним. Вы можете создать для это и меньшее количество, но они покажут вам структуру правил в нескольких простых шагах, и как использовать несколько правил для обработки одного сообщения. Первый шаг - это удаление из сообщения Path:

       Условие: ^\*\*\*.* KILL message for.*
       Из:  Path: \S+
       На: .

   Правило ищет сообщения, начинающиеся с `***`, `*` должны экранироваться с помощью `\` , поскольку означают один или несколько предшествующих символов. `.*` соответствует любым символам, перед `KILL message for`. Это позволит вам избежать печати `-- Received...` &etc; Последующие `.*` одначает: любые символы до конце строки. (я думаю не обязательный)

   Строка Из: означает: заменить " Path: " и любые символы, кроме пробелов на строку На:. На: является `"."`, поэтому вся строка сворачивается в точку.

   Теперь сообщение похоже на:

       *** Notice -- Received KILL message for BOBO!ANDY@line82-basel.datacomm.ch
       from NickServ. (NickServ Enforcement)

   Обратите внимание на новый `"."` после `NickServ`?

5. Ок, сообщение достаточно чистое, но KILLы от nickserv не действительны, так что давайте отправлять их в окно `!discard`

       Условие: ^\*\*\*.*KILL message.*\(NickServ Enforcement\)
       Из: ^(?:˜\S+˜)
       На:  ˜!discard˜

   Правило ищет соответствия в сообщении KILL и удостоверяетсячто оно от NickServ. Обратите внимание на `\(` и `\)`, они обе используются в выражениях, поэтому мы должны экранировать их. Это похоже на то, что было в предыдущих примерах.

6. Теперь мы фильтруем все уничтожения nickserv, но сообщение всё ещё довольно сложное, чтобы прочитатьего одним взглядом. Так что давайте переформатируем его на что-либо подобное:

       *** [KILL] KILLER; killed KILLED; (ПРИЧИНА)

       Условие: \*\*\*.*KILL message
       Из: \*\*\*.*for (.*?) from (.*?)\. \((.*?)\).*
       На: *** [KILL] $$2 killed $$1 ($$3)

   Ок, фильтр ищет соответствия `***`любой текст` KILL message`. Мы не можем использовать `ˆ` так как мы, возможно, добавили в конец `˜<окно>˜`.

   Строка От становится намного интереснее: `"for (.*?) "` ищет слово "for" перед некоторым текстом. `.*?` соответствует отсутствию или некоторому количеству текста, за исключением перехода на новую строку, но не обязательно. Правило срабатывает если найдено первое совпадение, но не последнее. Другими словами, это соответствует всему, кроме пробелов. Помещение выражения в `()` сохраняет его содержимое. Каждые () сохраняют соответствующие данные в `$#`, где `#` начинается с 1 для первой подстроки, &etc; В нашем примере, `$1` содержит ник/информацию о пользователе уничтожаемого человека. `$2` содержит имя уничтожающего. Между `()` содержится причина уничтожения. Здесь `(` и `\(` кажется немного запутанными. Запомните, `\(` соответствует фактическому символу `'('`.

7. Как раскрасить вашу жизнь

   Вы хотите добавить в &ksirc; немного цвета. Информацию о цветах смотрите в разделе Цвета , но вот правило, перекрашивающее ник между `<NICK>` в каждой строке:

       Условие: ^(?:˜\S+˜)<\S+>
       Из: <(\S+)>
       На: <˜4$$1˜c>

   Берёт ник и добавляет цвет #4 между двумя `<>`. `˜c` очищает цвет.

## Клавиши

Список коротких клавиш и клавиш команд, доступных в &ksirc;.

## Раскладки клавиш

Раскладка клавиш | Действие
&Ctrl;N | Открыть новое окно канала/запроса.
&Ctrl;Q | Выйти
&Ctrl;Enter | Начать сообщение последнему человеку посылавшему вам сообщение.
&Ctrl;&Shift;Enter | Начать сообщение предпоследнему человеку посылавшему вам сообщение.
&Ctrl;K | Начать с номером кода цвета номера. Текст набранный после этого будет цветным.
&Ctrl;U | Начать или окончить подчёркнутый текст. Текст после первого использования будет подчёркнутым пока вы не используете эту комбинацию повторно.
&Ctrl;I | Начать или окончить курсивный текст. Текст после первого использования будет курсивом пока вы не используете эту комбинацию повторно.
&Ctrl;B | Начать или окончить полужирный текст. Текст после первого использования будет полужирным пока вы не используете эту комбинацию повторно.
&Ctrl;R | Начать или окончить обратный показ текста. Текст после первого использования будет изменён пока вы не используете эту комбинацию повторно.
TAB | Попытаться завершить ник кого-либо, присутствующего в канале, основываясь на тексте который вы ввели. Вы, вероятно, уже знакомы с этим по командной строке, хотя это и не обязательно работает аналогичным образом. Смотрите nick-completion.

## Авторские права и лицензия

Авторское право на &ksirc; 1997-2002, разработчики &ksirc;.

Авторское право на части документации 1997, &Andrew.Stanley-Jones;

Документация обновлена для &kde; 3.0, &Philip.Rodrigues; &Philip.Rodrigues.mail;.

Олег Баталовolegbatalov@mail.ru Перевод на русский язык

&underFDL; &underGPL;

## Установка

### Где взять &ksirc;

&install.intro.documentation;

### Компиляция и установка

&install.compile.documentation;
&documentation.index;