Новости

Обновление исправляет совместимость с Freenode после обновления этой сетью версии IRCd.

Вышел второй релиз-кандидат KVIrc 4.0

Ричард Столлман дал автограф проекту и пожелал успеха в разработке.

Image:Feed.png RSS

Материал из IRC клиент KVIrc.

Перейти к: навигация, поиск

Алиас это определенная пользователем команда. Она может быть использована для того чтобы переименовать стандартную команду KVirc, для автоматизации некоторых задач, или как структурная единица программы. Алиасы могут быть созданы или удалены при помощи графического редактора алиасов, из командной строки или скрипта с использованием команды alias. Созданный однажды, алиас остается в конфигурации KVirc до тех пор, пока он не будет удален. Следующие примеры попробуют внести ясность в только что сказанное. Команда join очень часто используема. Хорошей идеей является использование простого "j" вместо слова join из-за того что писать 1 символ намного быстрее. Нет ничего проще в KVirc. Просто введите в командной строке:

alias(j){ join $0-; };

Это создаст алиас "j". После этого вы сможете использовать /j как обычную команду

j #kvirc

Вы, возможно заметили странную функцию $0- в теле алиаса: она означает "все параметры, переданные алиасу". Это значит, что когда вы вызываете

j #kvirc testpassword

Оба параметра (#kvirc и testpassword) будут переданы в команду join. Функции $N (где N-число) это специальные функции, которые возвращают значение параметра в заданной позиции. Она возвращает значение параметра в позиции N-1, а не N, т.к. параметры пронумерованы начиная с нуля ($0 это первый параметр!). $N-M возвращает параметры с N по M, а $N- возвращает параметры, начиная с N до конца списка параметров. В примере выше $0- предназначено для того чтобы передать все параметры, начиная с первого.

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

   alias(j){}

Это удалит определенный ранее алиас.

Частой задачей в IRC является кик с последующим баном. Вы сначала баните пользователя, а потом кикаете его с канала. Это предполагает использование двух команд: кика и бана. Хорошая идея в этом случае создание алиаса "kb", котоырй будет выполнять эти 2 действия. Это просто:

alias(kb){ ban $0; kick $0-; };

Этот код создаст алиас "kb", который потом может быть вызван как обычная команда:

kb spammer Ты не нужен здесь!

Этот алиас сначала выполнит команду "ban spammer", а затем "kick spammer Ты не нужен здесь!". Наш алиас очень прост. Он не проверяет того, что параметры не пусты. Сервер может выдать ошибку при использовании такого алиаса.

Алиас может быть в любое время изменен повторным использованием команды alias. Давайте сделаем наш "kb" более умным, добавив проверку на непустые параметры. Совет: Вы можете использовать графический редактор алиасов.

    alias(kb)
    {
        if("$0" == "")
        {
            echo "Использование: /kb <ник> <причина кика>"
            return
        }
        ban $0
        %reason = $1-
        if("%reason" == "")%reason = "Ты не нужен здесь!"
        kick $0 %reason
    }

Пример выше сначала проверяет правильность первого параметра, переданного в алиас: если ник не задан, алиас сообщит об этом пользователю и прекратит обработку. Следующий шаг - вызов команды "ban <ник>". Другое улучшение это причина кика по умолчанию: мы сначала присваиваем переменной %reason значения оставшихся параметров, и если переменная остается пустой, то ей назначается значение по умолчанию. В конце концов вызывается команда "kick <ник> <причина>". Возможно вам нужно обратиться к документации по синтаксису языка, чтобы полностью понять этот код.

Алиасы могут быть использованы в целях структурного программирования. В больших скриптах вы обязательно встретитесь с тем, что будете выполнять одно и то же действие в нескольких местах (например цветной вывод или подсчет значения какой-либо переменной на основе некоторых данных). Алиасы могут решить эту проблему, выполняя роль известных в других языках программирования высокого уровня механизмов "процедур" или "функций". Алиас, как функция, может быть вызван из других скриптов или алиасов, которые будут нуждаться в функциональности этого алиаса.

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

alias(sum3){ return $($0 + $1 + $2); };

Этот код создаст алиас "sum3" и сделает его доступным как команду и как функцию. Команда "return" установит возвращаемое последовательностью команд значение (помните что алиас это и есть последовательность команд) и остановит выполнение скрипта, передав управление вызвавшему алиас скрипту. Таким образом return $($0 + $1 + $2); установит возвращаемое алиасом значение в математическую сумму $($0 + $1 + $2). Потом вы можете использовать этот алиас следующим образом:

    ...
    %myfirstsum = $sum3(%somevalue,%someothervalue,4)
    %anothersum = $sum3(12,%somevalue,%anothervalue)
    ...

Здесь некоторые переменные даны без описания, но мы верим, что читатель поймет этот пример без дополнительных комментариев. Функции-алиасы сохраняют всю функциональность обычных алиасов. То есть возможно выполнение кода:

/sum3 1 2 3

Это абсолютно корректный вызов. Однако он не приведет к каким-либо видимым результатам потому что строка ввода игнорирует возвращаемый результат. Если команда return не была вызвана в теле алиаса, то его возвращаемое значение остается пустым.

Алиасы могут иметь флаги, как и любые другие команды. Для получения значений заданных флагов существует функция $sw.

Личные инструменты
Инструменты
Наши кнопки
Размести кнопку KVirc у себя на сайте:
www.kvirc.ru - кроссплатформенный IRC клиент с богатым графическим интерфейсом и внутренним языком скриптинга
Друзья и спонсоры
  • Fireforge.net
Linux coutner