Copyright: Copyright © 1995-2004 mIRC Co. Ltd. Translated by pIRC Team


Accepting Files
Безопасность при работе с файлами

Одной из полезных возможностей в IRC является прием и передача файлов, но следует быть осторожным – обращайте внимание на то кто вам посылает файлы и каких типов эти файлы.

Большинство файлов не опасны, но некоторые могут быть заражены вирусом или содержать в себе программы способные принести вред вашему компьютеру. Поэтому следуйте следующим правилам:

Принимайте файлы только от тех пользователей, которых вы знаете. Никогда не принимайте файлы от людей которые вам не знакомы и никогда не принимайте неизвестные вам файлы даже от знакомых.

Файлы с расширениями .BAT, .COM, .EXE, .DLL потенциально могут содержать вредоносные программы.

Алиасы, Попапы, или Скрипты которые вы загружаете  в ваш IRC клиент также могут принести вред. mIRC, и многие другие IRC клиенты, позволяют вам создавать скрипты выполняющие различные функции, которые могут навредить вашему компьютеру. Используйте скрипты только с тех ресурсов которым вы доверяете.

Проверяйте на наличие макро-вирусов все файлы .DOC, полученные из сети.

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


Access Levelsяs
Уровни доступа

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

Все пользователи имеют доступ к событиям по умолчанию с уровнем 1. Чем выше уровень пользователя, тем к большему количеству событий он будет иметь доступ. Вы можете изменить уровень по умолчанию.

Пользователи

В разделе пользователей вы можете указать список пользователей и их уровни доступа в:

<level1,level2,...,levelN>:<useraddress>

3,5,6:goat!khaled@mirc.com

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

Если вы не хотите назначить только главный уровень доступа, поставьте знак равно перед первым уровнем:.

=3,5,6:goat!khaled@mirc.com

Пользователь будет иметь доступ только к событиям уровней 3, 5, и 6.

События

Формат описания события:

<prefix> <level>:<event>:<window>:<commands>

ctcp 1:HELP:*:/msg $nick No help is available for level 1 users

Команда доступна всем пользователям (уровень 1). Если пользователь посылает вам ctcp сообщение /ctcp yournick HELP, ваш скрипт ответит ему сообщением No help is available for level 1 users.

Именованные уровни доступа

Вы можете использовать именованные уровни доступа. Это просто замена цифр на имена уровней для облегчения читаемости скрипта.

friend:goat!khaled@mirc.com

on @friend:JOIN:#mIRC:/mode $chan +o $nick

Слово friend в данном случае - уровень доступа.

Ограничение доступа

Вы можете ограничить доступ к событию используя специальные префиксы.

Префикс +

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

10:goat!khaled@mirc.com

ctcp +5:HELP:*:/msg $nick You have accessed a level +5 event

Доступ к этому событию будут иметь только пользователи с уровнем 5.

Префикс *

Вы можете разрешить любому пользователю вызвать обработчик события, используя префикс *.

on *:TEXT:help:#:/msg $nick you have accesed a * level event

Префикс !

Вы можете исключить себя при обработке событий. Для этого используется символ !.

ctcp !2:HELP:*:/msg $nick You have accessed a level 2 event

Событие не вызовется, если инициатором его будете вы, независимо от вашего уровня доступа.

Префикс @

Вы можете разрешить обработку событий только при наличие у вас опа на канале. Для этого используется символ @.

10:goat!khaled@mirc.com

on @2:JOIN:#mIRC:/mode $chan +o $nick

Когда пользователь зайдет на канал, где вы Оп, сработает событие. Если у вас нет Опа, ничего не произойдет.

The & prefix

Вы можете запретить вызов обработчика, если предыдущий скрипт использовал команду /halt или /haltdef для предотвращения вывода стандартного сообщения.

on &1:TEXT:*:?:/echo this event won't trigger if $halted is true

The $ prefix

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

on $*:TEXT:m/regular expression/switches:#:/echo message: $1-

Параметр 'm' и другие опции не обязательны.  // обязательны. Если опции используются, они должны быть в стандарте PCRE, в противном случае будет неудача. Вы можете использовать опцию 'S' для вырезания контрольных кодов из $1-.

Символ =

Вы можете ограничить пользователю доступ к событиям меньших уровней. Для этого используется префикс =.

10:goat!khaled@mirc.com

ctcp 2:HELP:*:/msg $nick You have accessed a level 2 event

ctcp 5:HELP:*:=

Этот пользователь не будет иметь доступа к обоим событиям, поскольку событие с уровнем 5 блокирует доступ ко всем событиям HELP с уровнем меньше 5.

Символ !

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

ctcp 5:PING:*:echo PING!

ctcp 5:*:*:!

Этот пользователь не будет иметь доступа к обоим событиям, поскольку событие с уровнем 5 блокирует доступ ко всем событиям HELP с уровнем меньше 5.

Создание групп

Вы можете создавать группы доступа, используя символ #.

#group1 on

...

[ list of events ]

...

#group1 end

Команды /enable и /disable служат для управления группами. Команда /disable запрещает обработку событий. Формат записи для запрещения группы:

#group1 off

...

[ list of events ]

...

#group1 end

Нельзя вкладывать группы друг в друга.

Порядок определений

Многие префиксы и символы чувствительны к порядку событий. Лучшим решением является начало с малых уровней доступа и ниже их увеличение.


Acknowledgements`ХA#grou7. oс_

Благодарности

После стольких лет работы над mIRC тяжело вспомнить всех людей, которые были вовлечены в разработку программы; некоторых я давно не видел, с другими общаюсь и по сей день. Все они внесли свой вклад, кто отчетами о багах, советами, ответами на вопросы, бета-тестингом, помощью на IRC каналах, а кто и созданием полезных скриптов, написанием документации и веб-сайтами.

Я получаю электронные письма от людей со всего мира. Они очень трогательные и сердечные и много для меня значат.

Объявляю Благодарность...

Tjerk Vonck который создал первый канал #mIRC, домашнюю страничку mIRC, mIRC FAQ, и содействовал распространению mIRC.

Бета-тестерам mIRC, прошлым и сегодняшним, за их тяжелую работу по вылавливанию багов и добавлению новых функций.

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

Jarkko Oikarinen, создателю IRC, и всем кодерам которые после него вели и ведут тяжелую работу по улучшению IRC для всех нас.

Nicolas Pioch за его короткое введение в IRC, Ramji, Bibbly, Stimps, Mike, James G., Edward, Peeg и Viv :)

Kevin Day, за кодинг.

Andrzej Kowalik, за его работу над значками на панели инструментов.

M.Hunnibell, M.Overtoom, Mark "Too Slick" Hanson, Ron R., и Dan Lawrence за их техническую помощь.

Richard "Budman" Jones, который создал значок [image].

Регулярной поддержке библиотечным пакетом PCRE, который является открытым программным обеспечением, написанным Philip Hazel, и защищенный авторским правом Университета Кембриджа Англии.

Поддержке JPEG базирующейся на разработках Independent JPEG Group.

Поддержке PNG базирующейся на разработках разных авторов и Group 42, Inc.

Поддержке Zlib базирующейся на разработках Jean-loup Gailly и Mark Adler.


Address Book

Адресная книга

Адресная книга служит для хранения различной информации о пользователях. В нее можно попасть через меню настроек, панель инструментов или же нажав Alt+B, а также при помощи команды /abook [nickname].

Адрес

Раздел Address позволяет вам хранить основную информацию о пользователях в IRC.

Nickname

Ник пользователя. Информация в адресной книге сохраняется для определенного ника.

Real Name

Имя пользователя.

Email

Email адрес. Если вы кликните на кнопке Email, mIRC запустит ваш почтовый клиент.

Website

Адрес вебсайта. Если вы кликните на кнопке View, mIRC запустит ваш веб-браузер.

IP Address

IP адрес. Если вы кликните на кнопке Chat, mIRC инициирует DCC Чат с этим пользователем через DCC Server, не используя IRC Сервер.

Примечание: Пользователь может иметь разные IP Адреса.

Notes

Замечания. Вы можете ввести любое замечание об этом пользователе.

Picture

Если пользователь прислал вам свое фото, вы можете ассоциировать его с ником в адресной книге.

Info

Раздел Info показывает результат команды /uwho, которая выводит информацию о пользователе  в  IRC. Формат команды /uwho таков:

/uwho [nick] [nick]

Выполнение команды /whois на определенном нике, показывает информацию о его сервере и затем заносится в раздел info адресной книги. Выполнение данной команды необходимо для того, чтобы более точно определить время молчания или сообщение away.

Примечание: Адрес пользователя в разделе Info может не быть email адресом, а быть адресом интернет провайдера.

Уведомления

Список уведомлений это как бы список друзей, и если ник из этого списка появится в IRC сети, то вы получите об этом уведомление.

Управление

Раздел Управление позволяет управлять настройками пользователей.

Ник

Раздел Цвета ника позволяет вам назначить цвета для разных ников.


Agents

Агенты

mIRC поддерживает Microsoft Agent если он установлен в вашей системе. Агент это анимационный персонаж который может говорить и выполнять различные действия.

Примечание: Диалоговое окно агента вы увидите только в том случае, если он уже установлен в вашей системе. Если же у вас агент не установлен, вы можете просмотреть информацию о том как установить этого агента на официальном сайте mIRC -  http://www.mirc.co.uk/agents.html

Раздел агента в окне настроек позволяет вам менять поведение агента и указать события когда агент должен говорить.

Agent Settings

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

Функция auto-hide прячет агента, когда mIRC свернут, но если агент начнет что-либо говорить, он станет видимым снова.

Agent Events

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

Lexicon

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

Speech Options

Голосовые настройки позволяют вам изменить скорость, шаг, и громкость устного текста.

lowercase переводит ники, каналы, или целую строку в нижний регистр.

При включенной ignore message агент прекращает говорить если текст содержит определенный процент не-текстовых символов, например, буквы и числа при выводе текстовых картинок в ascii.

Если включена опция only speak if channel name has changed, mIRC не будет произносить имя канала каждый раз.


Agents Scripting

Агенты

mIRC поддерживает Microsoft Agent через скриптинг или раздел Агенты. Агент это анимационный персонаж который может говорить и выполнять различные действия.

Информацию об агенте вы можете получить на официальном сайте mIRC -

 mIRC website.

Команды агента

Нижеописанные команды позволяют вам манипулировать агентом.

/gload <-h> <name> <filename | N | default>

Вы должны ввести команду /gload для загрузки агента, перед тем как его использовать.

Name это имя, на которое вы будете ссылаться в других командах и идентификаторах.

Загрузить агента вы можете указав filename (файл), или N (номер) агента, или же как default (по умолчанию), то есть загрузится агент установленный в вашей системе по умолчанию.

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

Примечание: Вы не можете загрузить двух одинаковых агентов. Но вы можете загружать сколь угодно много разных агентов.

/gunload <name>

Выгрузить агента. Name – имя выгружаемого агента.

/gshow <name> [x y]

Возвращает агента на предыдущую позицию или на указанную.

/ghide <name>

Прячет агента.

/gmove <name> <x> <y> [speed]

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

/gsize <name> <w> <h>

Задает новый размер агента.

/gtalk -kwlu <name> <text | <wavefile | text>>

Заставляет агента произнести указанный текст.

Если указан ключ –k, текст произноситься не будет.

Чтобы агент воспроизвел звуковой файл следует указать ключ -w и указать имя файла.

-l – применение лексикона.

-u – применение голосовых опций.

/gplay <name> <anim | N> [timeout]

Заставляет агента воспроизвести одну из своих анимаций.

Вы можете указать имя анимации -  anim или же ее номер - N.

Некоторые анимации не остановятся без команды /gstop. Опция [timeout] указывает период времени, по истечении которого следует остановиться, и выполнить остальные команды. Если вы не указываете время, оно устанавливается по умолчанию равным  5 секунд.

/gpoint <name> <x y>

Заставляет агента переместиться на заданную позицию.

Если вы хотите остановить текущее действие, используйте ключ -c.

Если вы хотите остановить только talk (разговор) или play (проигрывание), вы должны это указать.

/gopts -bieqnh <name> <on off size pace hide nosize nopace nohide langid>

Устанавливает различные настройки поведения агента.

Ключ -b переводит  balloons в состояние on или off. Вы также можете задать size (размер) ballons, pace (шаг) для отображения текста слово за словом как это говорится, и hide (спрятать) чтобы спрятать balloons когда нет текста для произношения.

Ключ -i включает/выключает эффекты молчания.

Ключ -e включает/выключает звук.

Ключ -n позволяет вам установить id языка, где langid значение id в hex.

Ключ -h переключает опцию авто-скрытия (смотрите /gload).

/gqreq <on | off>

По умолчанию mIRC принимает все запросы и выполняет их поочередно, даже если вы используете разных агентов одновременно. Все сообщения будут видны и все агенты будут выполнять действия в порядке указанном вами. Вы можете включить/выключить очередность прямо в процессе работы агента(ов).

Идентификаторы агента

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

$agentver

Возвращает версию Агента установленного в вашей системе, 0 если агент не установлен.

$agentstat

Возвращает 1 если Агент готов, или 0 если агент занят.

$agentname

Возвращает имя агента при событии on AGENT.

$agent(N).char

Возвращает имя файла N-ого доступного агента.

Если вы укажете 0, возвратит общее количество установленных агентов в вашей системе.

$agent(name)

Возвращает информацию об агенте загруженном в данный момент.

Свойства: name, fname, visible, x, y, w, h, ow, oh, speed, pitch, idle, effects, active, langid, balloon, hide

name	имя которое вы дали этому агенту

fname	имя файла агента или по умолчанию

visible	возвращает $true если агент видимый или $false

x,y,w,h	позиция агента слева/сверху/ширина/высота

ow, oh	оригинальная ширина/высота

speed	скорость произношения

pitch	темп произношения

idle	молчание включено/выключено

effects	звук включен/выключен

active	агент активен/вверху

langid	id языка системы

balloon	текущие установки: on off size pace hide

hide	возвращает установки авто-скрытия

$agent(name,N)

Возвращает информацию об анимации и поставленных в очередь строках.

Свойства: anim, line

anim	возвращает имена доступных анимаций для этого агента.

Если вы укажете N, возвратит имя N-ой анимации.

Если вы укажете 0, возвратит общее количество анимаций.

line	возвращает список строк поставленных в очередь для произношения.

Если вы укажете N, возвратит N-ую строку.

Если вы укажете 0, возвратит общее количество строк поставленных в очередь.

Тэги в произносимом тексте

Вы можете использовать теги в <тексте> в команде /gtalk которая преобразовывает текст в голосовое произношение, вот некоторые из них:

\spd=n\	устанавливает скорость произносимого текста

\pit=n\	устанавливает темп произносимого текста

\vol=n\	устанавливает громкость произносимого текста

\chr="text"\	где text  - normal, monotone или whisper

\ctx="text"\	где text - address, email, unknown

\emp\	подчеркивает следующее слово

\pau=n\	пауза в произношении nnn миллисекунд

\rst\	устанавливает настройки по умолчанию

$notags(text)

Убирает вышеуказанные тэги из текста. Только правильные и корректно написанные тэги будут убраны.


Aliases

Алиасы

Алиасы - это созданные пользователем команды для ускорения работы и упрощения часто повторяющихся действий. Чтобы создавать алиасы вы должны знать основные IRC команды.

Алиасы могут быть вызваны из командной строки, из другого алиаса, из меню или из скрипта. Алиас не может вызываться рекурсивно (т.е. вызывать сам себя).

Примеры

Следующие примеры покажут вам как создавать и использовать простейшие алиасы.

/gb /join #gb

Теперь /gb означает то же, что и /join #russkichat.

/j /join $1

Теперь добавляем параметр. Если мы напечатаем /j #privet - это превратится в /join #privet. Параметр $1 - первый аргумент командной строки.

/yell /me $2 $1

Если вы введете /yell There! Hello то будет выполнена команда /me Hello There! Цифра после символа $ определяет номер параметра командной строки.

/jj /join $?

Знак вопроса после символа $ означает, что данный параметр должен быть введен вручную. После ввода значение он попадает в то место строки, где находится $?. Когда встречается такой параметр, mIRC выводит диалоговое окно и ожидает ввод параметра.

/jj /join #$1

Символ # будет подставлен в начало введенного параметра. Т.е. если вы введете в диалоговом окне "dom", то команда /jj будет преобразована в /join #dom.

/jj /join $?="Enter channel to join:"

Этот формат команды поможет изменить строку-приглашение в диалоговом окне ввода параметра. Над полем ввода появится строка "Enter channel to join:".

/aw /away $?="Enter away message:" | /say $!

Этот пример демонстрирует работу параметра $!. Параметр $! - это введенное вами в окне ввода значение. Удобно, если введенное значение используется несколько раз. Сначала запрашивается строка для /away, а затем введенное значение используется в команде /say.

/give /me gives $$1 a $$2

Символы $$ определяют, что команда может быть выполнена только тогда, когда значение параметра определено. Если один из параметров не указан, этот алиас не выполнится. Вы можете использовать комбинации символов $$?1 и $?1 для ввода обязательного и необязательного параметра. Если первый и второй параметры не определены, система запросит параметры, но алиас не выполнится, если вы не введете первый параметр. Второй параметр не влияет на выполнение алиаса.

/slap /me slaps $1 around with $2-

Формат $2- означает, что все, что следует за параметром 2, добавится в командную строку. Т.е. если вы наберете /slap Adm a large trout, то в итоге получите строчку /me slaps Adm around with a large trout.

Вы можете определить диапазон параметров в виде $2-5, что означает использование параметры от 2-го до 5-го.

/laugh /me laughs at $1's joke

Если символ или слово следует непосредственно за параметром $, то он(оно) добавляется к параметру. Если вы введете /laugh mimi то получите /me laughs at mimi's joke.

/silly /say Hel $+ lo th $+ ere $+ !

Можно склеивать текст с помощью идентификатора $+ . В этом примере на выходе получится /say Hello there!

/p /part #

Символ # - название канала, в окне которого вы вводите команду. Если вы введете /p находясь в канале #system, то получится команда /part #system

/op /mode # +o $1

Теперь вам нужно лишь ввести команду /op goat для того чтобы дать оп указанному нику.

/dop /mode # -ooo $1 $2 $3

Теперь вы можете с помощью команды /dop goat mike bongo деопнуть сразу троих пользователей.

Если вы хотите выполнить несколько команд сразу, то нужно использовать символ |. Следующая команда показывает, как это работает.

/dkb /kick # $1 | /mode # +b $1

сначала мы кикаем пользователя, потом баним.

Квадратные скобки [ ]

Можно изменять приоритет идентификатора, используя конструкцию [ ] . Идентификаторы внутри скобок вычисляются первыми, слева направо.

/say % [ $+ [ $1 ] ]

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

/set %x %y

/set %y Hiya!

/echo [ [ %x ] ]

Фигурные скобки { }

Вы можете создавать многострочные скрипты, используя фигурные скобки { }

/poem {

  /msg $1 The Wendigo, the Wendigo,

  /msg $1 It's eyes are ice and indigo...

}

Конструкция If-then-else

Вы можете использовать управляющую конструкцию if-then-else в скриптах и алиасах.

/number {

  if ($1 == 1) echo One

  elseif ($1 == 2) echo Two

  else echo Unknown number!

}

Создается алиас который проверяет, равен ли параметр 1 или 2, и в зависимости от этого выполняет действия.

Более детально это описано в секции  if-then-else.

Команда Goto

Команда безусловного перехода на метку.

/number {

  if ($1 == 1) goto one

  elseif ($1 == 2) goto two

  else goto unknown

  :one

  echo One

  halt

  :two

  echo Two

  halt

  :unknown

  echo Unknown number!

  halt

}

Некорректное использование goto может вызвать бесконечный цикл. Для прерывания запущенного цикла используйте комбинацию клавиш Control-Break.

Примечание: Не обязательно использовать префикс / в скриптах и алиасах. Префикс необходим только в командах, вводимых в командной строке.

Error handling

При возникновении ошибки в скрипте можно перепрыгнуть в определенную точку скрипта при помощи :error и продолжить его выполнение. Идентификатор $error возвращает текст ошибки.

Вы можете сбросить ошибку командой /reseterror. Если вы не выполните эту команду, при возникновении следующей ошибки скрипт опять перейдет к :error и остановит выполнение скрипта.

Цикл While

Выполняется команда в фигурных скобках пока выражение в круглых скобках является правдой.

var %i = 1

while (%i <= 10) {

  echo 2 %i

  inc %i

}

Здесь используется формат похожий на конструкцию if-then-else.

Циклы могут вставляться друг в друга. Вы можете использовать команду /break чтобы прервать выполнение текущего цикла, и команду /continue для перемещения в начало цикла.

Команда Return

Команда останавливает выполнение текущего скрипта и возвращает управление вызвавшему процессу.

Также можно указать возвращаемое значение, которое будет сохранено в идентификаторе $result.

/return [value]

Команда Halt

Команда останавливает скрипт и все последующие действия. Вы можете использовать команду в

скриптах для предотвращения стандартных действий mIRC (например, ответ на сообщения ctcp), в алиасах для остановки алиаса.

Идентификаторы и переменные

Возвращают значения внутренних переменных mIRC. Например, $time возвращает текущее время. Когда mIRC находит идентификатор, он заменяет его текущим значением идентификатора.

Список идентификаторов вы найдете в секции Identifiers.

Переменные это те же идентификаторы, которые вы создаете сами и которым можете впоследствии назначать или изменять значение.

Подробная информация о переменных вы найдете в секции Variables.

Специальные идентификаторы

Алиасы, которые возвращают значение и которые вы можете использовать с префиксом идентификатора ($).

Например, если создать алиас /add, например, такой:

add {

  %x = $1 + $2

  return %x

}

то впоследствии его можно использовать так:

//echo Total is: $add(1,2)

Вы можете использовать любое количество идентификаторов: $add(1,2,...,N).

Вы также можете использовать идентификатор $prop  для ссылки на ваши собственные свойства:

add {

  %x = $1 + $2

  if ($prop == negative) return $calc(-1 * %x)

  return %x

}

//echo Total is: $add(1,2).negative

Примечание: Внутренние идентификаторы с именем, совпадающим с идентификатором пользователя, имеют больший приоритет.

Скрипты

Вы можете добавить алиас в Скрипт, используя префикс alias и ваш алиас.

alias add {

  %x = $1 + $2

  return %x

}

Это тот же самый алиас, но записанный в скриптах и использующий префикс alias.

Если вы укажете ключ -l после префикса алиас, то этот алиас будет доступен только командам данного скрипта и невидим для других скриптов.

alias -l add {

  %x = $1 + $2

  return %x

}

Поддержка функциональных клавиш

Вы можете переопределить действия функциональных клавиш. Для этого нужно использовать следующий формат:

/F1 /say Hello!

/sF2 /query $1

/cF3 /ctcp $1 version

Префиксы s и c для кнопок Shift и Control соответственно.

Примечание: Значение параметров при использовании функциональных клавиш зависит от окна, в котором используется клавиша. Например, в окне приватной беседы параметр $1 - это имя пользователя. В окне канала при активированном списке пользователей $1 - функ. клавиша будет работать с выбранными никами. Если список пользователей не активизирован, то просто с каналом.

Префиксы командной строки

Если вы выполняете команду, набирая ее в командной строке, вы можете заставить mIRC вычислить идентификатор, используя двойной слеш //. Например:

/echo My nickname is $me

Эта команда напечатает "My nickname is $me" и не вычислит идентификатор $me.

//echo My nickname is $me

Эта команда напечатает "My nickname is Pircfan", если ваш ник Pircfan.

Если вы не хотите видеть результаты выполнения команды, используйте точку после префикса /

Например:

/ignore somenick

напечатает *** Added somenick*@* to ignore list

/.ignore somenick

ничего не напечатается.

Если вы хотите выполнить команду без обработки ее как alias, вы должны указать префикс ! .

Комментарии

Вы можете добавлять комментарии в ваш скрипт, используя символ ";" в начале строки.

; Это комментарий

/*

Это комментарий

*/

Вы можете поместить комментарий в любом месте скрипта.

Идентификатор $&

Идентификатор используется для разбиения длинных строк для более удобного представления и редактирования:

longline {

  echo This is an example of a long $&

  line that has been split into multiple lines $&

  to make it easier to edit

}


Author/

Автор

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

Несколькими годами позже, я остановился чтобы перевести дыхание, оглянулся, и увидел что я уже в другой комнате, намного большей чем предыдущая, заполненной разными людьми, с цветами и звуками, и другими картинами, более и менее величественными чем моя; некоторые люди стояли напротив меня, приблизившись к моей картине, трогали и размазывали ее, другие же наблюдали за мной издалека; некоторые находились справа от меня, говорили какие цвета использовать или как водить кистью, и критиковали когда я делал ошибки, а некоторые сами подправляли отдельные части моей картины.

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

Было нелегко перейти от персональной работы над mIRC к общественной; И мне это не нравилось. Я например использовал ранее написанные ответы на электронные письма, отвечая на множество вопросов; если же я пытался отвечать на каждое письмо отдельно, у меня оставалось мало времени на что-нибудь еще.

Я также научился принимать критику, что было очень трудно; но mIRC не мог быть создан без помощи многих людей.

Я все еще наслаждаюсь работой над mIRC, хотя сильно устал, но думаю еще год, может два я буду продолжать им заниматься. Я все еще нервничаю после релизов новых версий, что возможно является хорошим знаком :-) Я надеюсь вам это нравится.

И я надеюсь что mIRC когда-нибудь сможет сделать мир приятным и уютным местом.

Мистер Khaled


Binary Files

Бинарные файлы

mIRC может читать и записывать бинарные файлы и модифицировать бинарные переменные.

/bread [-t] <filename> <S> <N> <&binvar>

Читает N байт с позиции S указанного файла и сохраняет результат в бинарной переменной &binvar.

С ключом -t читаются данные вплоть до следующего CR/LF.

/bwrite <filename> <S> [N] <text|%var|&binvar>

Записывает N байтов указанного текста/переменной/бинарной переменной в позицию S файла. Старое содержимое в этой позиции файла будет уничтожено.

Примечание: Если S == -1, запись добавится в конец файла. Если же N == -1, все указанные данные запишутся в файл.

/bset [-t] <&binvar> <N> <asciivalue> [asciivalue ... asciivalue]

Устанавливает значение N-ого байта переменной в указанное ASCII значение.

Если вы попытаетесь выполнить команду /bset для несуществующей переменной, она будет создана размером N и заполнена нулями. Если переменная &binvar существует, но N больше, чем текущий размер переменной, она увеличится до N байт.

Если вы укажете многозначные значения в ascii, они скопируются в последующие позиции после позиции N-ого байта.

Ключ -t указывает, что /bset должно рассматривать значения как простой текст и копировать их непосредственно в &binvar.

/bunset <&binvar> [&binvar ... &binvar]

Сбрасывает указанный список переменных &binvars.

/bcopy [-zc] <&binvar> <N> <&binvar> <S> <M>

Копирует байты M из позиции S во втором &binvar в первый &binvar в позиции N. Это также может использоваться для копирования перекрывающихся частей &binvar в себя.

Если вы определите ключ -z, байты во втором &binvar, которые были скопированы, будут заполнены нулями после копирования.

Если вы определите ключ -c, первый &binvar будет разбит на длину N + M.

Примечание: Если M == -1, все байты из начала позиции S скопируются.

/breplace <&binvar> <oldvalue> <newvalue> [oldvalue newvalue...]

Заменяет все подходящие значения  ascii в &binvar с новыми значениями.

/btrunc <filename> <bytes>

Урезает/увеличивает файл на определенную длину.

$bvar(&binvar,N,M)

Возвращает значение M в ascii начиная с N-ого байта.

Свойства: text, word, nword, long, nlong

$bvar(&v,0)	возвращает длину двоичной переменной

$bvar(&v,1)	возвращает значения ascii в позицию N

$bvar(&v,5,3)	возвращает значения ascii от 5 до 8

$bvar(&v,5,3).text	возвращает простой текст от 5 до 8 вплоть до первого нулевого символа

Свойства word, nword, long, и nlong возвращают значения в хостовом или сетевом байтовом порядке.

Notes on &binvar binary variables

Бинарные переменные ограничены лишь памятью и не имеют ограничений по размеру, и могут быть доступны только через команды /bread и /bwrite. Они не могут быть напечатаны, назначены или отредактированы, и автоматически уничтожаются когда выполнение скрипта завершается.

$bfind(&binvar, N, M)

Ведет поиск соответствующего значения &binvar, начиная с позиции N. M может быть символьным значением, то есть от 0 до 255, или текст. Поиск учитывает регистр.

Properties: text

$bfind(&test, 1, mirc)	ищет "mirc" начиная с позиции 1

$bfind(&test, 5, 32)	ищет char 32 (пробел) начиная с позиции 5

$bfind(&test, 1, 87 65 86)	ищет WAV начиная с позиции1

Вы можете использовать индикатор $bfind().text для того чтобы искать текст даже если он состоит из цифр.


Catcher

Архив ссылок и почтовых адресов

Данная опция проверяет входящие сообщения на содержание в них веб-ссылок или адресов электронной почты, и сохраняет их для дальнейшего использования.

Enable catching for...

Если эта опция разрешена, mIRC будет вылавливать в поступающих строчках все URL и почтовые адреса и сохранять их в списке URL.

mIRC сканирует все строки на наличие подстрок "http://", "ftp://", "gopher://", "www." и "ftp.". mIRC также проверяет наличие адреса в списке и не вставляет его, если он уже есть. Адреса длиннее 256-и символов игнорируются.

mIRC также сохранят текст похожий на почтовый электронный адрес, например, если в нем содержится слово "mail".

Chat links

Эти опции включают или отключают поддержку чатовых ссылок, а также выводят диалоговое окно  подтверждения, когда чатовая ссылка запрашивает mIRC на подключение к серверу.

Web browser

Когда вы открываете веб-ссылку, mIRC может открыть ссылку в новом окне браузера и активировать его.

Place ? items at top

Если стоит галочка, mIRC помещает все URL, отмеченные "?" в начало списка. По умолчанию такие URL помещаются в конец списка.

Delete ? items on exit

Удаляет все отмеченные символом "?" URL-ы при завершении программы. Вы должны изменить символ "?", хотите сохранить URL в списке.

On Send

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

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


Changing Colors

Настройка цветов

mIRC по умолчанию использует черный цвет для текста и белый цвет для фона, как наиболее привычные. Однако вы можете поменять раскладку цветов по своему вкусу (выделить свои сообщения, сообщения сервера и т.д. другим цветом).

Для настройки цветов выберите Colors dialog из меню Tools Menu или нажмите иконку на панели. В появившемся окне вы сможете настроить все необходимые цвета.

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

Для изменения цвета фона кликните на фоне в верхней части окна или выберите из выпадающего меню "Background" и укажите нужный цвет.

Если вам не понравилось то, что вы сделали, вы всегда можете восстановить стандартные цвета mIRC нажав кнопку Reset.

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

После того, как вы настроили все цвета, просто нажмите Ok и все ваши настройки будут сохранены.

mIRC также позволяет изменять цвет и вид введенного вами текста. Вы можете сделать так, чтобы ваш текст отображался как Жирный, Подчеркнутый, Негативный или Цветной. Более подробно это описано в секции Контрольные коды. Но помните, что у других пользователей может быть фон отличный от вашего, и цвет текста которым вы пишите может отлично читаться на вашем фоне, но плохо у других пользователей.


Channel Central

Настройки канала

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

Информацию о режимах канала вы можете найти в секции основные IRC команды.

Topic History

Текущий топик и история изменения топиков пока вы были на канале.

Bans List

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

Only Ops set topic

Разрешает только опам изменять топик.

No external messages

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

Invite only

Запрещает пользователям войти на канал кроме как по специальному приглашению при помощи команды /invite, в формате: /invite nickname #channel

Moderated

Запрещает пользователям разговаривать на канале, если у них нет войса или опа. Данная опция позволяет проводить интервью на канале.

Key

Вы можете указать пароль для входа на канал если вы оп. Любой пользователь должен будет указать этот пароль при входе на канал, в формате: /join #channel password

Limit to N users

Устанавливает ограничение числа пользователей на канале.

Private

При включении этой опции канал не будет виден в результате выполнения команды /whois. Но канал все равно будет отображаться в общем списке каналов.

Secret

Если эта опция включена, канал не будет присутствовать в списке каналов, выводимом при выполнении команды Список каналов.

Примечание: Теперь это диалоговое окно доступно в Системном меню.


Chatting Privately{ерь э=Em
Разговариваем приватно

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

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

Если вы не подключены к каналу, вы должны использовать команду /query nickname, где nickname - ник пользователя, с которым вы хотите поговорить. Нажмите Enter и откроется окно приватной беседы, если, конечно, пользователь с этим ником есть на IRC. Вы можете проверить, есть ли пользователь на IRC, используя команду /whois nickname.

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

Для запуска DCC Chat с кем-либо, нажмите кнопку Chat button на панели инструментов, в появившемся окне DCC Chat введите ник пользователя и нажмите кнопку Chat. Если пользователь подтвердит ваш запрос, то откроется окно и вы можете начинать приватную беседу. Вы найдете более подробную информацию о настройке DCC в секции DCC.

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

/dcc chat <nickname>

Команда для запуска DCC Chat. Nickname – ник пользователя, с которым вы хотите разговаривать.

Примечание: DCC Chat использует ваш IP адрес для установки соединения. Если вам не удается запустить DCC Chat, вероятно вы неправильно настроили mIRC. Проверьте все установки в секции Local Info.


COM Objects

Объекты COM

mIRC позволяет вам вызывать объекты COM через скрипты. У вас должен быть опыт работы с объектами COM чтобы использовать данную функцию.

/comopen name progid

Открывает COM соединение с объектом программы, например, Excel.Application, и назначает соединению имя.

Вы должны проверить $comerr после получения вызова, чтобы подтвердить успешное COM соединение.

/comclose name

Закрывает указанное соединение COM.

/comreg -u filename

Регистрирует/отменяет регистрацию COM DLL с окнами.

example {

  comopen name progid

  ; если comopen не выполнится, возможно DLL которая была со скриптом не зарегистрирована

  if ($comerr) {

    ;регистрация DLL

    comreg test.dll

    ;попытка открыть снова

    comopen name progid

    ; если опять ошибка выполнения, прервать скрипт

    if ($comerr) halt

  }

}

$comerr

Проверка после вызова любой команды или идентификатора COM. Возвращает 1 если была ошибка, в противном случае 0.

$com(name,member,method,type1,value1,...,typeN,valueN)

Вызывает элемент открытого COM соединения с указанным методом и параметрами.

  name   - имя соединения.

  member – элемент соединения.

  method – Комбинация сложенных следующих значений:

              1 = DISPATCH_METHOD

              2 = DISPATCH_PROPERTYGET

              4 = DISPATCH_PROPERTYPUT

              8 = DISPATCH_PROPERTYPUTREF

  type   - тип переменной, может быть: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.

              Эквиваленты VB: boolean, byte, currency, date, double, integer, long, single, string, variant.

              Чобы сделать переменную сслыкой, введите * в имя типа, например,  i1*

 Для того, чтобы назначить имя в переменную для последующей ссылки после вызова,   добавьте это в тип, например, i1* varname

При использовании variant вы должны указать тип переменной, например, variant bool.

  value  - значение назначенное типу переменной.

  Возвращает: 1 = ok, 0 = ошибка.

После того, как вы открыли соединение COM или  сделали вызов к $com() вы можете использовать следующие формы $com():

$comcall(name,alias,...)

$comcall() использует такой же формат как и $com() за исключением алиаса. Оно много-поточное, поэтому не остановит скрипт и вызовет указанный алиас как только вызов возвратится.

$com(name/N)

Возвращает имя открытого соединения, или имя N-ого соединения. Если N = 0, возвращает число открытых соединений.

Свойства: progid, dispatch, unknown, result, error, errortext, argerr

progid – имя объекта.

result – значение возвращаемое элементом объекта COM после вызова.

error  - значение ошибки, если она была.

errortext – описание ошибки.

argerr – N-ый аргумент вызвавший ошибку, если ошибка является следствием неправильного типа переменной.

$com(name/N,varname)

Возвращает значение указанной переменной.

Dispatch и Unknown

Два типа переменных dispatch и unknown позволяют вам передавать указатели dispatch/unknown как параметры в вызове $com(), или получать указатели dispatch/unknown pointers из вызова $com(), через ссылку.

Чтобы передать указатели dispatch/unknown как параметры в $com(), укажите тип переменной как dispatch/unknown, и укажите имя существующего соединения $com() как значение.

Чтобы получить указатели dispatch/unknown через вызов $com(), укажите тип переменной как  dispatch/unknown со знаком *, и назначьте имя переменной. Когда $com() возвратится, mIRC создаст новый пункт $com() с этим именем переменной и назначит ей указатель dispatch или unknown.

В случае получения указателя unknown, mIRC распространит это на указатель dispatch если сможет, позволив вам вызов непосредственно через $com().

Вы можете использовать $com().dispatch или $com().unknown существует ли указатель для этого пункта $com().

Пример скрипта

Это скрипт простенького примера соединения с excel и затем получения и настройки видимых свойств.

excel {

  comopen excel Excel.Application

  if ($comerr) {

    echo comopen failed

    halt

  }

  ; проверка видимости окна excel

  if ($com(excel,Visible,3) == 0) {

    echo $com failed

    goto finish

  }

  echo Visible: $com(excel).result

  ; сделать окно excel видимым

  if ($com(excel,Visible,5,i4,1) == 0) {

    echo $com failed

    goto finish

  }

  ; проверка видимости снова

  if ($com(excel,Visible,3) == 0) {

    echo $com failed

    goto finish

  }

  echo Visible: $com(excel).result

  :finish

  comclose excel

}

Пример скрипта №2

Этот скрипт позволяет вам получить информацию о вашем CPU. Он отображает текст отладки, так вы можете видеть был вызов успешным или нет, возвращенное значение, и созданный новый объект COM.

cpu {

  comopen Locator WbemScripting.SWbemLocator

  if ($comerr) { echo comopen failed | halt }

  echo com: $com(Locator, ConnectServer, 3, dispatch* Services)

  echo result: $com(Locator).result

  echo com(0): $com(0)

  if ($com(Services)) {

    echo com: $com(Services, Get, 3, string, Win32_Processor.DeviceID='CPU0', dispatch* More)

    echo result: $com(Services).result

    echo com(0): $com(0)

    if ($com(More)) {

      echo com: $com(More, Name, 3)

      echo result: $com(More).result

      echo com: $com(More, Caption, 3)

      echo result: $com(More).result

      echo com: $com(More, Manufacturer, 3)

      echo result: $com(More).result

      comclose More

    }

    comclose Services

  }

  comclose Locator

}


Command Line

Параметры командной строки

Вы можете ввести следующие параметры в командной строке:

 -s<server:port>  заставляет mIRC подключиться к указанному серверу и порту при запуске.

 -j<#chan1,...,#chanN>  заставляет mIRC войти на указанные каналы при подключении.

 -p<password> пароль для входа на канал.

 -n<nick1,nick2> изменяет ваш главный ник и альтернативный на указанные.

 -i<filename.ini>  заставляет mIRC использовать указанный INI файл.

 -r<rootdir>  устанавливает главную директорию mIRC (по умолчанию это дериктория где находится файл mIRC.EXE)

 -service  запускает mIRC как сервис в 95/98 Windows.

 -nouninst предотвращает добавление mIRC в панели управления в диалоговое окно установки/удаления программ.


Connect Options

Настройки подключения к серверу

Connect on startup

mIRC при запуске будет автоматически подключаться к IRC серверу установленному по умолчанию.

Reconnect on disconnection

Поставьте галочку, и программа сама восстановит соединение с сервером, если оно внезапно будет разорвано.

Pop up connect dialog on startup

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

Move to top of list on connect

Если вы используете список IRC Servers, то после каждого успешного коннекта сервер будет помещен в начало списка и при следующем соединении он будет вызван первым.

Default Port

Порт по умолчанию. Этот порт является основным для сервиса IRC. Не меняйте его.

Perform...

Набор команд, выполняемых каждый раз, когда вы подсоединяетесь к IRC серверу. Вы можете установить какие команды будут выполняться при подключении к любой IRC сети, или к определенной. Чтобы узнать как работают команды, загляните в секцию Aliases.

Retry...

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

SSL...

Безопасные подключения поддерживаются посредством SSL.

Advanced...

Опция random local ports позволяет mIRC использовать не-последовательные порты для прослушивания сокетов.

Опция bind sockets to IP позволяет забиндить все сокеты mIRC на определенный локальный IP адрес, в случае если вы хотите использовать другое исходящее сетевое подключение.


Connecting to a Server

Подключение к Серверу

Подключение к IRC серверу является первым шагом к общению в сети IRC и выполняется через диалоговое окно Connect, которое возникает автоматически при первом запуске mIRC.

Как только вы введете основную информацию о себе, можете выбрать IRC Server из списка серверов и нажать кнопку Connection button. Как только вы увидите сообщение Message Of The Day, которое содержит информацию о сервере IRC, это будет означать что вы подключились к серверу. И теперь вы можете зайти на канал или разговаривать приватно.

Основная информация

Следующую информацию необходимо внести перед тем как вы подключитесь к серверу.

Full Name

Напишите здесь ваше имя. Хотя можно написать что угодно.

Email Address

Здесь можно написать ваш полный е-майл адрес, пример: khaled@mirc.com.

Nickname and Alternative

Никнэйм, или сокращенно ник, это то имя, под которым вы будете фигурировать на IRC. Не стоит использовать в качестве ника свое имя в той или иной форме (Alex, Maxim), поскольку велика вероятность, что кто-то уже использует такой же ник. Придумайте что-нибудь оригинальное.

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

Invisible Mode

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

IRC Сервера

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

Note: Если у вас возникли сложности при подключении к серверу, посмотрите раздел Проблемы подключения.

Вы можете удалять (Delete), добавлять (Add), редактировать (Edit) и сортировать (Sort) записи в списке IRC серверов. В окне редактирования Вы должны ввести следующую информацию для каждого IRC сервера:

Description

Это просто описание сервера в произвольной форме.

Address

Это адрес IRC сервера в виде irc.icqnet.ru или в виде 213.248.54.143

Port Number

Обычно 6667. Если сервер позволяет подключение по нескольким портам, вы можете ввести эти значения через запятую, т.е. 6667,6668,6669 и mIRC будет выбирать значение случайным образом при каждом подключении к серверу. Информация о доступных портах сервера чаще всего находится в Message of the Day сервера.

Group Name

Имя группы серверов, необходимо при использовании опции Sort. Если вы введете одинаковое имя группы для нескольких серверов, то при сортировке (кнопка Sort) они будут находиться рядом друг с другом.

Password

Практически никогда не требуется, оставьте это поле пустым. Необходимо для подключения к серверам, требующим пароль на подключение.

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

Новое окно Сервера

Опция New server window позволяет вам подключиться к более чем одному IRC серверу одновременно. Всего лишь отметьте окошко new server window и нажмите кнопку connect. Данная настройка не запоминается, поэтому она вернется в первоначальное состояние при следующем открытии окна подключения.

Чтобы открыть новое окно сервера без подключения к серверу, вы должны отметить окошко new server window и нажать кнопку OK .

Хинт: Вы можете кликнуть правую кнопку мышки на кнопке подключения в панели инструментов и в возникшем меню выбрать один из наиболее часто посещаемых IRC серверов для подключения. Если вы нажмете кнопку shift при выборе в этом меню сервера, то откроется новое окно сервера.


Connection Problems

Проблемы подключения

Ниже перечислены наиболее часто встречаемые проблемы, возникающие при подключении к серверу IRC.

Unable to resolve server

Если вы подключаетесь к серверу и видите эту надпись, проблема может быть в следующем:

У вашего провайдера отказал DNS (система поиска адресов)

В этом случае вы также не сможете зайти в WWW или получить почту. Один из вариантов решения проблемы - указать адрес сервера в виде xxx.xxx.xxx.xxx (IP адрес). Введите команду /server 207.43.0.134.

Неправильный адрес или временно неработающий IRC сервер
Возможно, вы ошиблись при вводе адреса сервера или сервер временно не работает. Попробуйте другой сервер.

Unable to connect to server

Если вы подключаетесь к серверу и видите эту надпись, проблема может быть в следующем:

IRC сервер не работает
Часто встречающаяся проблема. Попробуйте другой IRC сервер.

Неверный номер порта
Адрес сервера введен правильно, но, возможно, вы ошиблись при вводе порта. Попробуйте использовать порт по умолчанию, 6667.

Другие сообщения

Если вы получили сообщение Disconnected и сообщение Closing Link с каким-либо комментарием (No Authorization, No More Connections и т.д.), это означает, что по каким-либо причинам вам отказано в соединении. Попробуйте другой IRC сервер.

Примечание: Если при попытке подключения вы получили сообщение Unable to resolve local host, проверьте настройки в секции Local Info.


ContentslemsroblД_y‰‚ят:=_oбс_

Файл помощи для mIRC v6.14 – Переведено на русский pIRC team

Содержание

   Введение

   Подключение к серверу

   Подключение к каналу

   Приватная беседа

   Передача и прием файлов

   Настройка цветов

   Настройка mIRC

   Основные команды IRC

   Команды mIRC

   Алиасы, Всплывающие меню, и Скрипты

   Переменные и Идентификаторы

   Другие возможности

   Автор

   Лицензионное соглашение

   Как зарегистрировать mIRC

   Благодарности

   Перевод

5/14/04


Control

Cистема управления каналом и пользователями.

Auto-Op

Когда пользователь входит на канал, где вы имеете статус оператора и пользователь есть в списке, mIRC дает ему статус оператора. Пользователь должен быть прописан в списке в следующем формате:

nick!userid@host,#channel1,#channel2

На IRC принято следующее описание пользователя:

nick!userid@host

Итак, если ник - "MadGoat" и адрес khaled@mardam.demon.co.uk, то вы должны вписать этого пользователя в виде:

madgoat!khaled@mirc.com

Если пользователь часто меняет свой ник, нужно использовать следующую форму записи:

*!khaled@mirc.com

Если пользователь часто меняет свой ник и userID, нужно использовать такую форму записи:

*!*@mirc.com

The /aop command

/aop [-rw] <on|off|nick/address> [#channel1,#channel2,...] [type] [network]

Опция -r служит для удаления пользователя из списка.

Опция -w служит для добавления пользователя в список в любой сети.

Если вы не определили тип, в список добавляется только ник пользователя. Если тип определен, адрес пользователя запрашивается с сервера и добавляется в список.

Идентификатор $aop возвращает $true если auto-op включен, и $false если выключен.

Идентификатор $aop(address/N) возвращает подходящий адрес в списке или  N-ый адрес. Параметр .type возвращает список каналов. Параметр .network возвращает соответствующую сеть, если она есть.

Auto-Voice

Список auto-voice работает потому же принципу что и список auto-op. Команда /avoice такого же формата как и /aop, используется для добавления или удаления пользователей из списка auto-voice.

Идентификатор $avoice возвращает $true если auto-voice включен, и $false если выключен.

Идентификатор $avoice(address/N) возвращает любой подходящий адрес в списке или N-ый адрес. Параметр .type возвращает список каналов.

Random delay auto-op/voice

Разрешает задержку установки статуса оператора/войса для пользователя в диапазоне от 1 до 7 секунд. Если по истечении времени задержки пользователь уже получил статус оператора/войса, mIRC не устанавливает статус.

Ignore

Если кто-то посылает вам сообщение (в канал или приватное) и его адрес есть в списке ignore, то это сообщение не показывается на экране. Вы можете добавить пользователя в список ignore в следующем формате:

nick!userid@host,private,invite,ctcp

Команда /ignore

/ignore [-lrpcntikdwxu#] <on|off|nick/address> [type] [network]

Где p = приват, c = канал, n = нотис, t = ctcp, i = invite(приглашение), k = контрольные коды, d = dcc чаты.

Опция -u# - задержка в секундах, после которой пользователь удаляется из списка ignore.

Опция -r – удаление адреса.

Опция -x – исключение адреса из списка игнорируемых.

Опция -l  - вывод списка игнорируемых адресов для определенного типа (опции  pcntik).

Опция -w включает игнор во всех сетях.

Если вы не определили тип, в список добавляется только ник пользователя. Если тип определен, адрес пользователя запрашивается с сервера и добавляется в список.

Вы можете очистить список игноров через опцию -r без указания адреса.

Примечание: Если вы открыли окно /query с пользователем, чей ник/адрес есть в списке Ignore, вы все равно будете получать сообщения от него до тех пор, пока не закроете окно.

Идентификатор $ignore возвращает $true если игнор включен, и $false если выключен.

Идентификатор $ignore(address/N) возвращает подходящий адрес в списке, или N-ый адрес. Параметр .type возвращает метод игнора. Параметр .network возвращает соответствующую сеть, если она есть. Параметр .secs возвращает время до того как игнор был снят.

Protect

Если вы имеете статус оператора, то те пользователи, которые находятся в этом списке, попадают под вашу защиту. Если кто-то кикает или деопает пользователя из этого списка, mIRC поступает с ним адекватно :) Вы можете добавить пользователя в список в следующем виде:

nickname,#channel1,#channel2

Примечание: Эта опция обычно ограничена никами, однако вы можете указать не ник, а адрес, и если пользователь окажется из вашего Internal Address List, он будет защищен по адресу.

The /protect command

/protect [-rw] <on|off|nick> [#channel1,#channel2,...] [type] [network]

Опция -r удаление адреса/ника из списка.

Опция -w включает protect во всех сетях.

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

Идентификатор $protect возвращает $true если protect включен, и $false если выключен.

Идентификатор $protect(address/N) возвращает подходящий адрес в списке, или N-ый адрес. Параметр .type возвращает список каналов. Параметр .network возвращает соответствующую сеть, если она есть.


Control Codes

Примеры

Для выделения подчеркиванием одного слова в предложении:

1.Нажмите Control-U
2.Напечатайте слово
3.Нажмите Control-U снова

Контрольные коды влияют только на текст, который они окружают. Это относится ко всем типам контрольных кодов.

Использование контрольного кода Control-K (цвет текста) немного отличается от остальных кодов, поскольку требует указания цвета текста. Изменим цвет слова в предложении:

1.Нажмите Control-K
2.Введите число в диапазоне 0-15
3.Наберите слово
4.Нажмите Control-K снова

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

Названия цветов и их числовые значения

0 white	8 yellow

1 black	9 lightgreen

2 blue	10 cyan

3 green	11 lightcyan

4 lightred	12 lightblue

5 brown	13 pink

6 purple	14 grey

7 orange	15 lightgrey

Есть более простой и удобный способ вставки контрольных кодов. Просто выделите текст, который вы напечатали и нажмите нужный контрольный код. Код будет вставлен в начале и в конце выделенного фрагмента.

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

“Прозрачный” цвет имеет номер 99.

Примечание: Если включена опция Pop up colour index, mIRC открывает маленькое окно-подсказку с номерами цветов.

Вы можете запретить обработку контрольных кодов в меню Messages. Также вы можете использовать для этого команду  /strip.


Ctcp Events

Обработчики событий Ctcp

CTCP (Client-To-Client-Protocol) - система связи между клиентами IRC. Создавая обработчики событий CTCP, вы можете заставить mIRC принимать команды или запросы от других пользователей.

ctcp <level>:<matchtext>:<*|#|?>:<commands>

level – уровень доступа для выполнения обработчика, matchtext – команда CTCP, которая должна быть обработана, *#? – указывает, на что должен реагировать обработчик: * - любое сообщение, # - сообщение из канала, ? – приватное сообщение. commands – команда.

Примеры

В следующих примерах вы увидите как создавать простейшие обработчики событий CTCP.

Простой обработчик CTCP

ctcp 1:help:*:/msg $nick help yourself!

Этот обработчик будет вызываться при сообщении /ctcp yournick help. Уровень доступа - 1, т.е. любой пользователь будет иметь доступ к этой команде.

Дать статус оператора другу

=5:*!khaled@mirc.com

ctcp 5:opme:?:/mode $2 +o $nick

ctcp 5:inviteme:?:/invite $nick $2

Обработчик вызывается, когда приходит сообщение /ctcp yournick opme #mIRC от пользователя с уровнем доступа 5. Если вы оператор канала, то пользователь получит статус оператора на канале #mIRC. Пользователь также может послать сообщение /ctcp yournick inviteme #mIRC, и вы пригласите его на канал #mIRC.

Примечание: Если вы описывайте уровень доступа пользователя как =5, это означает, что пользователь имеет доступ только к обработчикам уровня 5. Если знак = не стоит, пользователь имеет доступ к обработчикам 5-го уровня и ниже.

Изменение стандартных CTCP ответов

ctcp 1:ping:?:/notice $nick Ouch! | /halt

Обработчик вызывается на /ctcp yournick ping и отвечает "Ouch!". Команда /halt подавляет вывод стандартного сообщения.

ctcp 1:time:?:/notice $nick The time here is around $time | /halt

Заменяет стандартный ответ mIRC на сообщение /ctcp yournick time. Команда /halt подавляет вывод стандартного сообщения.

Примечание: Вы не можете изменить ответ на сообщение /ctcp yournick version.(наивные ;-)

Удаленное управление mIRC-ом

100:*!khaled@mirc.com

ctcp 100:quit:?:/notice $nick Okay boss, I'm quitting... see you later! | /quit

Обработчик для сообщения /ctcp yournick quit для пользователя с уровнем доступа 100. Пользователь имеет возможность завершить ваш mIRC с другого IRC клиента.

ctcp 100:send:?:/dcc send $nick $1-

Обработчик на сообщение /ctcp yournick send file.ext. Пользователь с уровнем 100 может получить файл с вашего диска.

ctcp 100:*:?:$1-

Обработчик на любое событие для пользователя с уровнем 100. Например, если пользователь посылает сообщение /ctcp yournick echo Hi!, ваш скрипт выполнит команду echo Hi!. Это очень опасное событие, если вы кому-нибудь дадите такой доступ, то он сможет выполнить любую команду на вашем компьютере.

Маски и переменные

ctcp 1:*help*:#:/notice $nick I can see that you need some help

Вы можете использовать в масках текста символы * и ?. В этом примере обработчик вызовется, если в тексте сообщения есть слово help.

ctcp 1:%password:?:/notice $nick Your access has been authorized

Вы можете использовать Переменные в секции matchtext. Изменяя значение переменной %password, вы не измените сам обработчик события. Если вы установили переменной %password значение "infor" и пользователь послал сообщение /ctcp yournick infor, выполнится команда /notice.


Custom Windows
Пользовательские окна

Команда /window, а также некоторые дополнительные команды, описанные ниже, предназначены для создания и управления пользовательскими окнами.

Формат команды:

/window [-abBcCdeEfg[N]hikl[N]mnoprRsvwxz] [-tN,..,N] [+bdeflLmnstx] <@name> [x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]

Опции и параметры

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

Первый набор опций:

a	= активировать окно

b	= обновить ширину горизонтального scrollbar для окна-списка

B	= предотвращает использование в окне внутренних границ

c	= закрыть окно

C	= центровать окно при первом создании

d	= открыть как desktop окно

e	= однострочное окно ввода текста

E	= многострочное окно ввода текста

f	= указывает, что w и h – это высота и ширина области вывода текста относительно размеров окна

g[N]	= включает/выключает подсветку кнопки окна, 0 = нет, 1 = цвет сообщения, 2 = подсветка цветом

h	= спрятать окно (доступно только в списке окон)

i	= динамически связывает все то что случится с активным подключением

k[N]	= спрятать префикс @ имени окна, 0 = спрятать префикс, 1 = показать префикс

l[N]	= создать окно-список, N определяет ширину окна-списка (в символах)

m	= позволяет использовать line marker в окне

n	= минимизировать окно

o	= если открыто как desktop, установить режим “всегда наверху”

p	= создает графическое окно

r	= восстановить окно

R	= сбросить позицию окна в пользу последней сохраненной позиции

s	= сортировка содержимого главного окна или списка

S	= сортировка содержимого списка

u	= снять режим “всегда наверху” окна desktop

v	= закрыть окно когда соответствующее окно статуса будет закрыто

w	= включить ранее выключенный префикс @ окна

x	= максимизировать окно

z	= поместить кнопку окна в конец панели инструментов

Опция -t служит для установки табуляторов в списке.

t[N,...,N]	= определяет позиции табуляторов в списке, если текст содержит табуляторы, то он будет выведен в соответствии с этими позициями.

Третий набор опций служит для изменения внешнего вида окна.

b	= рамка окна

d	= нет рамки

e	= 3d граница

f	= тонкая рамка (dialog frame)

l	= окно инструментов

L	= окно инструментов, но не привязанное к taskbar

n	= кнопка minimize

s	= можно менять размер окна

t	= заголовок окна

x	= кнопка maximize

Примечание: Некоторые опции могут автоматически включать/выключать другие опции.

@name	имя окна (должно начинаться с @)

x,y,w,h	left top размеры окна

popup.txt	всплывающее окно, загружается при необходимости(текстовый файл, не .ini  структуры)

/command	команда, выполняемая при вводе текста в editbox

font/size	Имя и размер фонта

iconfile/N	устанавливает иконку для пользовательского окна

Если вы хотите использовать подобные окна в меню в скриптах, вы можете указать имя пользовательского окна вместо popup.txt.

Примечание: Если вы укажете -1 для любого их значений x,y,w,h, будет использовано значение по умолчанию.

Commands

Команды для работы со строками.

/aline [c] <@name> <text>	добавляет строку в окно

/cline [c] <@name> <N>	 	изменяет цвет N-ной строки на цвет с

/dline [c] <@name> <N[-N2]>	удаляет строку N или строки с N по N2

/iline [c] <@name> <N> <text>	вставляет строку в позицию N

/rline [c] <@name> <N> <text>	заменяет N-ую строку

/sline [c] <@name> <N>	 	выделяет N-ую строку

Опция c - цвет строки.

Опция -s - выделяет добавленную строку и снимает предыдущее выделение.

Опция -a - выделяет строку и не снимает предыдущее выделение.

Опция -h - подсвечивает иконку минимизированного окна.

Опция -p – автоматический перенос длинных строк.

Опция -r – используется вместе с командой /cline чтобы сбросить цвет ника в списке каналов в первоначальное состояние.

Опция -i - используется с командами /aline и /iline для идентификации новой добавленной строки.

Опция -n - используется с командами /aline и /iline чтобы предотвратить добавление строки, если она уже существует.

Опция -m – используется с командой /cline при окраске ников в списке ников канала и в сообщениях на канале.

Если вы работаете с окном, которое имеет окно-список, добавьте опцию –l.  Все вышеуказанные команды начнут работать с окном-списком.

/renwin <@oldname> <@newname> [topic]

Изменение имени и топика окна.

Идентификаторы

Следующие идентификаторы возвращают информацию о пользовательских окнах.

$window(N/@name)

Возвращает параметры окна.

Свойства: x, y, w, h, dx, dy, dw, dh, bw, bh, mdi, title, state, font, fontsize, logfile, stamp, icon, ontop, type, anysc, wid, cid, hwnd, sbtext, sbcolor

x,y,w,h	возвращает позицию и размеры окна.

dx,dy	  возвращает левую и верхнюю позицию окна относительно desktop.

dw,dh	возвращает ширину и высоту текстовой области окна.

bw,bh	возвращает ширину и высоту изображения в графическом окне.

mdi	возвращает $true если окно mdi, $false – если нет.

state	  возвращает состояние окна (minimized/maximized/normal/hidden).

title	возвращает строку текста из заголовка окна window.

font	возвращает имя фонта.

fontsize	возвращает размер фонта.

fontbold	возвращает $true если фонт жирный (bold), $false – если нет.

logfile	возвращает имя файла лога если оно открыто.

stamp	возвращает установки интервала.

icon	возвращает вкл/выкл в зависимости видна иконка или нет.

ontop	возвращает статус ontop окна.

type	возвращает тип окна.

anysc	возвращает $true если определен /window -i

wid 	возвращает id окна.

cid	возвращает id соответствующего подключения.

sbtext	возвращает текст кнопки switchbar.

sbcolor	возвращает цвет подсветки switchbar.

Вы можете использовать формат $window(@wildcard,N), возвращающий параметры N-ого окна, подходящего под маску.

Примечание: Вы можете использовать формат $window(-N) для получения ширины и высоты:

1 - экрана.

2 - главного окна mIRC.

3 - окна MDI, в котором находятся все остальные окна mIRC.

$line(@name,N,T)

Возвращает N-ую строку текста из указанного окна. Если N == 0, возвращает общее количество строк в окне.

Свойства: state, color

$line(@name,1).state – возвращает выделенный state для строки в окне.

Если вы ссылаетесь на окно использующее side-listbox, вы можете назначить T равным нулю чтобы ссылаться на дисплей, или установить T равным единице для ссылки на side-listbox.

$fline(@,wildtext,N,T)

Возвращает N-ую строку, в которой есть указанный текст.

Если вы работаете с окном, в котором есть окно-список, установите T = 0 для обращения к основному окну, или T = 1 для обращения к окну-списку.

$sline(@name,N)

Возвращает N-ую выделенную строку в окне-списке. Если N == 0, возвращает количество выделенных строк в окне-списке.

Свойства: ln

$sline(@name,N).ln	возвращает номер N-ой выделенной линии

Примеры

/window @test

Создает окно @test со всеми установками по умолчанию.

/window -els @clones 10 10 clones.txt

Создает окно с сортировкой для основного окна и окна-списка, со строкой ввода текста в верхней левой части окна mIRC, использует файл clones.txt, вызываемый правым кликом на окне-списке.

Примечание: Файл для всплывающего окна не должен быть в формате INI файла и не может иметь расширение .ini.


DCC

DCC - система связи между клиентами mIRC, независимая от сети IRC. С помощью этой системы вы можете передавать и получать файлы (DCC Send и DCC Get) и вести приватную беседу (DCC chat) независимо от сети IRC.

On Send request

Эта опция определяет как отреагирует mIRC если кто-то попытается послать вам файл. По умолчанию mIRC показывает диалоговое окно, в котором вы можете подтвердить свое согласие (accept) или отказаться от приема файла. Если вы выберите опцию Auto-get file тогда mIRC автоматически разрешает соединение при запросе от пользователя и начинает принимать файл. Если вы выберите Ignore All, все входящие запросы будут проигнорированы.

Если файл, который вам пытаются передать уже есть в директории приема, появится окно, в котором будет предложено перезаписать файл (overwrite), продолжить получение не полностью полученного файла (resume), или переименовать файл (rename).

Если вы выберите resume, то mIRC попробует дописать оставшуюся часть файла.

If Auto-get and File exists

Если стоит режим Auto-get, то вы можете указать действие по умолчанию, если файл уже существует в директории приема файлов (см. выше).

Trusted Users

Здесь вы можете добавить пользователей которым вы доверяете (ники, адреса), от которых автоматически будете принимать dcc запросы.

То же самое можете сделать при помощи команды /dcc trust [-r] <on | off | nick | address | level>.

Примечание: Прочтите об опасности Принятия файлов в IRC.

On Chat request

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

Команда /dcc nick -sgcf <oldnick> <newnick> позволяет вам изменить ник ассоциированный с командами dcc send/get/chat/fserve.

Настройки DCC

On completion

mIRC выполнит отмеченные вами опции после окончания передачи файла или завершения чата. В окне статуса mIRC покажет, как была завершена сессия, нормально или с ошибкой. Настройка звуковых сигналов зависит от настроек в секции Event Beeps.

Time-out in seconds

Когда пользователь посылает вам Send или Chat запрос, окно подтверждения будет висеть на экране определенное вами время (в секундах). Если за это время вы не ответите на запрос, окно автоматически закроется.

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

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

Max. Sends

Ограничивает количество одновременных сессий приема файлов от пользователей. Не влияет на количество сессий, открытых вами, но не разрешает пользователям открывать новые сессии при достижении максимального числа. Относится только к DCC сессиям, открытым через скрипты или DCC-сервер.

Note: Позволяет пользователям запрашивать DCC Send через скрипт или через DCC Server, но только если вы не инициировали DCC вручную.

Flush Files

Обновляет периодически входящие файлы чтобы удостовериться что они были правильно сохранены.

Show Warning

Показывает предупреждение о входящем файле.

Директория приема файлов

DCC Get Folders

Определяет набор директорий для хранения полученных файлов в соответствии с расширением файла. Нажав на кнопку Add вы можете определить директории для хранения файлов в зависимости от типа файла. Если расширения нет в списке, то файл сохраняется в директории default.

Если вы определили команду, которая будет выполнена после приема файла, то идентификатор $1- имя полученного файла.

Вы можете вручную перенаправить входящее dcc сообщение в другую папку при помощи команды /dcc get <folder>. Команда /dcc reject отвергает dcc сообщение. Две эти команды можно использовать только в событии CTCP или on DCCSERVER. Идентификатор $filename возвращает имя файла.

DCC Ignore

Accepting or Ignoring files

Позволяет указать типы файлов которые mIRC будет принимать или игнорировать автоматически.

Также вы можете использовать команду /dcc ignore [on | off | accept | ignore] для включения или отключения этой опции.

Turn ignore back on

Возвращает опцию ignore в положение on если вы ее отключили временно для принятия файла.

DCC Fileserver

Max. Fileservers

Максимальное количество одновременно открытых сессий файл-сервера.

Max. Gets per user

Максимальное количество запросов DCC Gets от одного пользователя.

Total Max. Cps

Ограничивает максимальное количество cps используемое во всех dcc запросах посылаемых файл-сервером.

Команда /dcc maxcps <N> изменяет значение Max Cps на лету.

Примечание: Эту опцию также можно установить в скрипте на реакцию события сервера. Вы можете убрать ограничение при помощи команды /dcc send -n.

Root folder

Корневая директория для файл-сервера. Для пользователя будет доступно все, что содержится в ней (вместе с поддиректориями).

Welcome text file

Текст-приглашение, появляется на экране пользователя после подключения к файл-серверу.

Show fileserver warning

Выдает окно-предупреждение о запуске файл-сервера. Если вы используете команду /fserve в скрипте, желательно отметить эту опцию. Команда /fserve описана в секции  Файл-сервер.

DCC Server

DCC Server ожидает соединения от других клиентов mIRC.

Enable DCC Server

Включение/выключение DCC сервера.

Listen on Port

DCC сервер по умолчанию слушает порт 59, однако вы можете настроить его на другой порт.

Listen for...

Здесь можно указать, какие типа соединений будут поддерживаться DCC сервером (DCC Sends, Chats, Fileserver). Если, например, вы отключите опцию DCC Chat, сервер будет игнорировать все запросы chat.

Perform DNS lookup

При подключении к DCC серверу доступен только IP адрес пользователя. Если вы хотите получать полную информацию о пользователе, используйте эту опцию. mIRC выполнит команду /dns для получения информации о хосте пользователя.

Примечание: Это может занять от секунды до нескольких минут, а также закончиться ничем.

Команда /dccserver

Вы можете поменять настройки DCC сервера командой:

/dccserver [+|-scf] [on|off] [port]

Для подключения к DCC серверу вы можете использовать стандартные окна DCC Send/Chat, указав вместо ника пользователя IP адрес.

Можно также использовать команду /dcc [send|chat|fserve] с указанием IP адреса для подключения к DCC серверу.

Note: режим /dcc fserve работает только с IP адресами и не работает через IRC.

Описание DCC Server protocol  можно посмотреть тут.


DCC Resume Protocol

DCC протокол докачки файла

Протокол докачки файла достаточно простой.

Пользователь User1 посылает файл.

Пользователь User2 получает файл.

Для запуска сессии передачи пользователь User1 посылает сообщение:

PRIVMSG User2 :DCC SEND filename ipaddress port filesize

Если пользователь User2 дает подтверждение приема, пользователь User1 подключается к адресу и номеру порта, посланному ему пользователем User2 и начинает передавать файл.

Если пользователь User2 выбирает докачку файла (resume), происходит обмен следующими сообщениями:

Пользователь User2 посылает сообщение:

PRIVMSG User1 :DCC RESUME filename port position

filename = имя файла, посылаемого User1
port = номер порта
position = текущий размер файла у пользователя User2.

Пользователь User1 отвечает сообщением:

PRIVMSG User2 :DCC ACCEPT filename port position

Пользователь User2 подключается к User1 по указанному ему адресу и порту и начинается передача файла с заданной позиции.

Примечание: Последние версии mIRC игнорируют имя файла, т.к. номер порта и так однозначно идентифицирует соединение. Однако, для совместимости со старыми версиями mIRC, имя файла посылается в виде file.ext и в RESUME, и в ACCEPT.


DCC Server Protocol

Протокол DCC-сервера

Протокол Chat

Клиент подключается к серверу и посылает:

100 clientnickname

Когда сервер получает это, он отвечает:

101 servernickname

Соединение создано, пользователи могут разговаривать.

Протокол Fserve

Клиент подключается к серверу и посылает:

110 clientnickname

Когда сервер получает это, он отвечает:

111 servernickname

Соединение создано, пользователь может использовать fserve.

Протокол Send

Клиент подключается к серверу и посылает:

120 clientnickname filesize filename

Когда сервер получает это, он отвечает:

121 servernickname resumeposition

resumeposition от 0 до filesize, поле обязательно.

Соединение создано, dcc-сервер получает файл.

Протокол Get

Клиент подключается к серверу и посылает:

130 clientnickname filename

Когда сервер получает это, он отвечает:

131 servernickname filesize

Когда клиент получает это, он посылает:

132 clientnickname resumeposition

resumeposition от 0 до filesize, поле обязательно.

Соединение создано, dcc-сервер посылает файл.

Другое

Если сервер получил неизвестную информацию или не получил ничего в течении 15-и секунд с момента создания соединения, он закрывает соединение.

Если сервис недоступен, сервер посылает: 150 unavailable

Если сервер отверг соединение, он посылает: 151 rejected

Примечание:

Протокол Get имеет некоторые ограничения и работает таким образам по следующим причинам:

  1) Пользователь иногда не может открыть сокет для создания соединения (firewall).

  2) DCC-сервер иногда не может ждать соединения на 59 порте (firewall).

  3) Если пользователь смог подключится к DCC-серверу один раз, он сможет подключится к этому порту снова.

В данный момент протокол Get используется только Файл-сервером, когда пользователь, подключенный к файл-серверу, посылает запрос "get filename". Все остальные попытки получить файл через DCC-сервер игнорируются.


DCC Socks5 Protocol

DCC Протокол Socks5

mIRC использует пассивный протокол для установки DCC соединения через файрвол SOCKS5.

Принципы работы файрвола SOCKS5:

  i) Поддержка listening/binding на порте 0 для входящих сообщений.

  ii) Назначение для входящего соединения такого же IP адреса, что и у файрвола SOCKS5.

К тексту CTCP сообщений DCC Send/Chat добавляется специальный идентификатор и указывается порт 0 для пассивного соединения. Другие поля сообщений DCC Send/Chat остаются без изменения.

Пассивный протокол DCC Chat

Клиент , инициализирующий DCC Chat, посылает запрос на установку пассивного соединения клиенту B. Порт установлен в 0, id – уникальный идентификатор соединения:

DCC CHAT nickname address port id

Если клиент A сидит за файрволом, его IP адрес – это IP адрес файрвола SOCKS.

Клиент B получает запрос, инициализирует сокет и посылает IP адрес и порт клиенту A, указав идентификатор соединения:

DCC CHAT nickname address port id

Если клиент B за файрволом, он запрашивает сокет у файрвола и биндит на него IP адрес клиента A.

Затем клиент A подключается к этому адресу. Если клиент A за файрволом, он посылает ему запрос на соединение.

Пассивный протокол DCC Send

Клиент , инициализирующий DCC send, посылает запрос на установку пассивного соединения клиенту B. Порт установлен в 0, id – уникальный идентификатор соединения:

DCC SEND filename address port filesize id

Если клиент A сидит за файрволом, его IP адрес – это IP адрес файрвола SOCKS.

Клиент B получает запрос, инициализирует сокет и посылает IP адрес и порт клиенту A, указав идентификатор соединения:

DCC SEND filename address port filesize id

Если клиент B за файрволом, он запрашивает сокет у файрвола и биндит на него IP адрес клиента A.

Затем клиент A подключается к этому адресу для передачи файла. Если клиент A за файрволом, он посылает ему запрос на соединение.

Note: Протоколы DCC Resume и Accept также могут иметь идентификатор соединения в CTCP сообщении


DDE

mIRC поддерживает DDE, что позволяет внешним приложениям управлять им или запрашивать информацию из него. Помните, что это также дает возможность держать связь с mIRC путем использования функции SendMessage().

По умолчанию сервис mIRC называется mIRC, но это имя может быть изменено..

Топики DDE

mIRC поддерживает следующие Топики DDE.

Для использования команды /dde и идентификатора $dde Вы должны знать спецификацию DDE той программы, с которой Вы хотите обмениваться информацией.

Топик: COMMAND
Тип транзакции: XTYP_POKE
Item: Нет
Data (Arguments): Строка текста, содержащая команду, которая должна быть выполнена.
Возвращает: Ничего

Пример: /dde mirc command "" /server irc.wenet.ru
Описание: Указание выполнить команду.

Топик: EVALUATE

Transaction Type: XTYP_REQUEST

Item: Строка текста содержащая переменные и идентификаторы которые вы хотите оценить.

Data (Arguments): Нет

Возвращает: Оценочную строку

Топик: CONNECT
Тип транзакции: XTYP_POKE
Item: Нет
Data (Arguments): строка текста в формате: адрес, порт, канал, номер
Возвращает: Ничего

Пример: /dde mirc connect "" irc.wenet.ru,6667,#mIRC,1
Описание: Команда подключения к указанному серверу, порту и каналу. Если номер = 1, окно mIRC станет активным, если = 0, то нет.

Топик: CONNECTED
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Строку "connected", если подключение прошло успешно, и "not connected" в противном случае.

Пример: //echo mIRC в данный момент $dde(mirc, connected) к серверу.
Работает только в английском языке :)

Топик: EXENAME
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Полный путь и название выполняемого файла mIRC ( "c:\mirc\mirc.exe" )

Пример: //echo mIRC живет в $dde(mirc, exename)
Описание: Может пригодится для других программ, желающих узнать, где живет mIRC.

Топик: VERSION
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: версию mIRC (например: "mIRC16 5.5" или "mIRC32 5.5")
Пример: //echo Версия mIRC-а - $dde(mirc, version)""

Топик: INIFILE
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Полный путь и название главного INI файла mIRC ( "c:\mirc\mirc.ini" )
Пример: //echo Главный INI файл - $dde(mirc, inifile)
Описание: Может пригодится для других программ, желающих узнать, где живет главный INI файл mIRC.

Топик: NICKNAME
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Используемый ник.
Пример: //echo Мой mIRCbot зовется $dde(mirc, nickname)

Топик: SERVER
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Имя IRC сервера, к которому подключен mIRC ("irc.server.co.uk")
Пример: //echo Мой mIRCbot-овский сервер - $dde(mirc, server)

Топик: PORT
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Порт, используемый для подключения к IRC серверу.

Пример: //echo Мой mIRCbot использует порт $dde(mirc, port)

Топик: CHANNELS
Тип транзакции: XTYP_REQUEST
Item: Нет
Data (Arguments): Нет
Возвращает: Строка текста - список каналов, на которых вы находитесь, разделитель - пробелы ("#mirc #mircremote #irchelp").
Пример: Вызывается только из других приложений (не из алиасов mIRC).
Описание: Список каналов может быть очень большим и вызывающее приложение должно уметь обрабатывать строки текста размером в несколько килобайт.

Топик: USERS
Тип транзакции: XTYP_REQUEST
Item: Название канала в виде #channel
Data (Arguments): Нет
Возвращает: Строка текста - список ников пользователей на канале, разделитель - пробелы.
Пример: Вызывается только из других приложений (не из алиасов mIRC).
Описание: Список пользователей может быть очень большим и вызывающее приложение должно уметь обрабатывать строки текста размером в несколько килобайт.

Команды и Идентификаторы DDE

Следующие команды и идентификаторы позволят вам взаимодействовать с другими включенными DDE приложениями.

Все DDE транзакции синхронны, т.е. mIRC ожидает какое-то время для получения ответа или подтверждения DDE poke или DDE query.

/ddeserver [[on [service name]] | off]

По умолчанию имя сервиса mIRC-а --- mIRC. Сервер DDE mIRC-а включен до тех пор, пока не будет обнаружен другой mIRC или другое приложение с таким же именем сервиса.

Вы можете использовать команду эту команду для включения/выключения сервиса или для назначения сервису другого имени.

Если вы введете в команде имя уже используемого сервиса, mIRC предупредит Вас, но все равно включит DDE сервер.

/dde [-re] <service> <topic> <item> [data]

Команда /dde по умолчанию посылает запрос XTYP_POKE.
Опция -r  - для передачи запроса XTYP_REQUEST.
Опция -e - для передачи запроса XTYP_EXECUTE.

Все 4 аргумента необходимы для запроса XTYP_POKE.

Если посылается запрос XTYP_REQUEST, обязательны первые три аргумента. По этой причине в примере Вы можете увидеть "" в примере (двойные кавычки, используются как заполнитель и не влияют на выполнение команды). Заполнитель важен по той причине, что вы можете использовать /dde или $dde внутри других команд и mIRC должен правильно интерпретировать строку параметров.

Если посылается запрос XTYP_EXECUTE, обязателен только первый аргумент.

$dde(name, topic, item, delay)

Посылает запрос  XTYP_REQUEST и получает все данные, возвращаемые указанным сервисом. Ответные данные вставляются в текущую позицию алиаса.

//echo My other mIRC is $dde(mirc, connected) to $dde(mirc, server)

Параметры item и delay необязательны.

Значение delay указывает $dde() подождать N секунд для ответа. По умолчанию это одна секунда, чего обычно вполне достаточно.

Примечание: Если возвращаемое значение слишком велико и не может быть обработано mIRC-ом, $dde вернет значение $error.

$isdde(name)

Возвращает $true если указанное имя dde используется, иначе $false.

$ddename

Возвращает текущее имя сервиса dde используемое DDE сервером mIRC.


Dialogs

Диалоговые окна

mIRC позволяет создавать диалоговые окна для получения информации от пользователя.

Есть два типа диалоговых окон: modeless, создаваемые  командой /dialog  и modal, создаваемые идентификатором $dialog(). Оба типа описаны ниже.

Команда /dialog

Команда /dialog создает modeless окна с помощью опции -m. Этот тип окон не останавливает скрипт и не возвращает значение в скрипт.

  /dialog -mdtsonkcvie name [table] [x y w h] [text]

  -m	создает окно, используя 'table'

/dialog -m name table

  -a	делает активное окно главным, используется совместно с опцией -m

  -x	закрывает диалоговое окно не инициируя события

  -d	создает окно на desktop, используется совместно с опцией -m

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

  -t	Устанавливает заголовок окна

/dialog -t name text

  -s	устанавливает размер и позицию окна

/dialog -s name x y w h

  -r	перемещает окно в центр

  -bp	интерпретирует размер окна как dbu или в пикселах

  -o	режим окна “всегда наверху”

  -n	отменяет режим “всегда наверху”

  -k	click ok button

  -c	click cancel button

  -v	делает диалоговое окно активным

  -ie	свертывание/восстановление диалогового окна если оно создано на desktop

name  - имя окна, table – таблица, по которой будет создано окно.

Идентификатор $dialog()

Создает модальное окно, т.е. останавливает скрипт до тех пор, пока окно не закроется, затем возвращает значение вызывающему скрипту. Любые другие окна становятся недоступными все время, пока открыто модальное окно. Идентификатор $dialog() работает как любой другой идентификатор:

  %result = $dialog(name,table[,parent])

name  - имя окна, table  - таблица для создания окна, parent  - родительское окно, может быть именем окна, или -1 – Desktop,  -2 - главное окно mIRC, -3 – активное окно, -4 – активное диалоговое окно, если же оно не открыто, то по умолчанию - 3.

Примечание: этот тип окна не может быть вызван из удаленного обработчика.

Вы можете использовать идентификатор $dialog(name/N) для получения списка открытых диалоговых окон. Если N == 0, возвращается общее количество диалоговых окон.

Идентификатор $dialog() может иметь следующие свойства:

x,y,w,h	возвращает размер и позицию диалога

cw,ch	возвращает ширину и высоту клиентской области диалога

title	возвращает заголовок диалога

modal	возвращает $true если диалог модальный, в противном случае $false

table	возвращает таблицу которую использует диалог

ok	возвращает id кнопки Ok, если она определена

cancel	возвращает id кнопки Cancel, если она определена

result	возвращает id кнопки Result, если она определена

focus	возвращает id элемента управления который находится в фокусе

tab	возвращает id закладки tab, которая в данный момент активна

active	возвращает $true если диалог активен, в противном случае $false

hwnd	возвращает handle диалогового окна

Таблица окна

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

dialog [-l] name {

  title	"text"

  icon	filename, index

  size	x y w h

  option	type (dbu, pixels, notheme)

  text	"text", id, x y w h, style  (right, center, nowrap)

  edit	"text", id, x y w h, style  (right, center, multi, pass, read, return, hsbar, vsbar, autohs, autovs, limit N)

  button	"text", id, x y w h, style  (default, ok, cancel, flat, multi)

  check	"text", id, x y w h, style  (left, push, 3state)

  radio	"text", id, x y w h, style  (left, push)

  box	"text", id, x y w h, style

  scroll	"text", id, x y w h, style (top left bottom right horizontal range N N)

  list	id, x y w h, style          (sort, extsel, multsel, size, vsbar, hsbar)

  combo	id, x y w h, style          (sort, edit, drop, size, vsbar, hsbar)

  icon	id, x y w h, filename, index, style    (noborder top left bottom right)

  link	"text", id, x y w h

  tab 	"text", id, x y w h

  tab	"text", id

  menu	"text", menuid [, menuid]

  item	"text", id [, menuid]

  item	break, id [, menuid]

}

Ключ -l делает таблицу диалога локальной, так она может быть доступна только через другие скрипты в этом файле.

"text" – текст для элемента управления, id – уникальный номер элемента управления, x y w h – позиция и размеры элемента управления, style  - комбинация из списка в скобках.

Другие стили

В дополнение к стилям в скобках можно добавить еще несколько стилей:

 disable	запрещает элемент управления

 hide	прячет элемент управления

 group	начало группы

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

Переменные

Вы можете указать %переменную стиля, например:

edit "", 2, 10 10 100 20, autohs %result

Элемент управления Tab

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

dialog test {

  title "mIRC"

  size -1 -1 110 100

  option dbu

  tab "m", 1, 5 5 100 90

  tab "I", 2

  tab "R", 3

  tab "C", 4

  button  "m is for ... ;)", 11, 30 50 50 24, ok tab 1

  button  "I is for Internet", 12, 30 50 50 24, tab 2

  button  "R is for Relay", 13, 30 50 50 24, tab 3

  button  "C is for Chat", 14, 30 50 50 24, tab 4

}

Вы можете с помощью команды /did -fu установить фокус на конкретном элементе tab, а командой /did -vh показать(-v)/спрятать(-h)to элемент tab.

Меню

Вы можете использовать меню и подменю в диалоговых окнах применяя префиксы menu и item:

dialog name {

  menu "text", <menuid> [, menuid]

  item "text", <id> [, menuid]

  item break, <id> [, menuid]

}

Если вы не укажете menuid элемента, будет использовано последнее menuid которое было создано/использовано в предыдущем меню.

К примеру, следующее меню дублирует меню редактора mIRC:

dialog test {

  title "mIRC"

  size -1 -1 110 100

  option dbu

  menu "&File", 60

  item "&New", 70

  menu "&Load", 80, 60

  item "&Script", 90

  item break, 100

  item "&Users", 110

  item "&Variables", 120

  item "&Unload", 130, 60

  item break, 140

  item "&Save", 150

  item "&Save As...", 160

  item "Save &All", 170

  item break, 180

  item "Save && &exit", 190, ok

  item "&Cancel", 200, cancel

}

Вы можете управлять меню при помощи команды /did.

Чтобы добавить элемент в меню используйте следующую команду: /did -a name <menuid> <newid> <text>.

Чтобы вставить элемент, используйте команду: /did -i name <id> <newid> <text> where <id>.

Dbu vs. Pixels

Опция dbu заставляет mIRC центровать диалоговое окно в зависимости от размера главного окна mIRC пользователя. Pixels по умолчанию поддерживает совместимость с предыдущими скриптами.

Идентификаторы $dbuw и $dbuh возвращают ширину и высоту dbu per pixel. Значение может быть целым а может и не быть.

Кнопки Ok и Cancel

Вы можете указать кнопки ok и/или cancel. Когда пользователь нажимает ok или cancel, окно закрывается. Вы можете запретить закрытие диалога кнопкой ok, используя команду /halt.

Позиция и размер по умолчанию

Если определить -1 для любого из значений x y w h, будут использованы значения по умолчанию. Чтобы вывести окно в центре экрана, определите x y как -1 -1. Значения размеров окна могут быть изменены в обработчике события init (см. ниже), используя команду /dialog -s name x y w h.

The On Dialog event

Если пользователь изменил значение элемента управления в окне (щелкнул кнопку, ввел текст) вызывается обработчик события.

 on 1:dialog:name:event:id: {

   echo $dname $devent $did

 }

Где name – имя окна, id – идентификатор элемента управления, event может быть:

 init	перед открытием окна значения элементов управления могут быть проинициализированы. id =0.

 close	закрытие окна.

 edit	изменен тест в редакторе или состояние combo box.

 sclick	одиночный клик на list/combo box, поставлена или снята отметка на radio/check или нажата кнопка.

 dclick	двойной клик на list/combo box.

 menu	выбран элемент меню.

 scroll	позиция элемента scroll изменена.

Также вы можете определять mouse events:

 mouse	перемещение мыши

 sclick	левая кнопка нажата

 uclick	левая кнопка отжата

 dclick	двойной клик

 rclick	клик на правой кнопке

 drop	drop click

Идентификатор $mouse определяет текущую позицию окна.

Команда /did

Команда /did служит для изменения значений элементов управления окна (например, изменить текст в окне редактора, установить фокус на кнопку, удалить строчку из listbox).

  /did -ftebvhnmcukradiogj name id [n] [text | filename]

  -f	установить фокус на элемент управления [id]

  -t	установить кнопку по умолчанию

  -e	разрешить элемент управления [id]

  -b	запретить элемент управления [id]

  -v	сделать видимым элемент управления [id]

  -h	спрятать элемент управления [id]

  -n	разрешить элемент editbox

  -m	запретить элемент editbox

  -c	отметить checkbox/radiobutton, строку list/combo

  -u	снять отметку checkbox/radiobutton, со строки list/combo

  -k	не изменять существующих отметок в listbox (работает вместе с –cu)

  -r	очистить текст в элементе управления [id]

  -a	добавить текст к концу строки

  -d	удалить N-ую строку

  -i	вставить N-ую строку

  -o	перезаписать N-ую строку

  -g	установить новую иконку/изображение в icon control

/did -g name id [n] filename

  -z	сбросить ширину горизонтального scrollbar в элементе listbox

  -j	сбросить изменения в элементе editbox

Где name - это идентификатор диалогового окна, id - это номер элемента.

Если вы хотите изменить значения сразу нескольких элементов, укажите несколько номеров [id] разделенных запятой, например: /did -b name 2,12,14,16 и т.д.

Вы можете выбрать часть текста в элементе editbox, начиная с позиции N, используя команду /did -c name id [n] [start [end]].

Вы можете отметить 3state в элементе checkbox как неопределенную используя сразу два ключа -cu.

Чтобы получить доступ к редактированию элемента combobox используйте N = 0.

Чтобы изменить длину элемента scrollbar используйте команду /did -z name id [min max].

Идентификатор $did()

Вы можете получить значения и состояния элементов управления, используя идентификатор $did().

 $did(name,id)

 $did(name,id,N)

Если используется в обработчике события окна, name не указывается.

Свойства идентификаторы $did():

 text	возвращает строку или N-ую строку

$did(id) -  то же самое, что и $did(id).text

 len	возвращает длину строки или длину N-ой строки

 lines	возвращает количество строк

 sel	возвращает номер N-ой отмеченной линии

если N == 0, возвращает количество отмеченных линий

 seltext	возвращает выделенный текст в элементе editbox или первый выделенный  item в элементе listbox

 selstart	возвращает первый выделенный символ в строке элемента editbox

 selend	возвращает последний выделенный символ в строке элемента editbox

 edited	возвращает $true текст в элементе editbox был изменен

 state	возвращает 0 = выключено, 1 = включено, и 2 = не определено

 next	возвращает id следующего элемента управления (tab key order)

 prev	возвращает id предыдущего элемента управления (tab key order)

 visible	возвращает $true если элемент виден, в противном случае $false

 enabled	возвращает $true если элемент разрешен, в противном случае $false

Чтобы получить доступ к редактированию элемента combobox используйте N = 0.

Идентификатор $didwm(name,id,wildtext,N)

Возвращает номер строки которая содержит wildtext, начиная поиск со строки N. Параметр N  не обязателен.

Идентификатор $didreg(name,id,regex,N)

Возвращает номер строки содержащей regex, начиная поиск со строки N. Параметр N  не обязателен.

Идентификатор $didtok(name,id,C)

Возвращает список токенов в элементах list/combo/edit box.

Чтобы добавить список токенов в элементы list/combo/edit box, используйте команду /didtok name id C text.


Display

Show toolbar

Включает/выключает панель инструментов.

Show Menubar

Включает/выключает панель меню.

Show switchbar

Включает/выключает панель переключения окон.

Fill switchbar

Растягивает кнопки окон на панели переключения окон на всю длину панели.

Include DCCs

Окна DCC Send/Get при отмеченной опции также будут выводится на панель переключения окон.

Sort buttons

Сортировка окон на панели переключения окон. Окна сортируются по типам.

Always highlight

mIRC подсвечивает кнопку/иконку окна, когда в окно приходит новое сообщение. Вы также можете выбрать цвет подсветки.

Blink icons

Мигание иконки на панели переключения окон если получено сообщение или произошло событие.

Position

Позиция панели переключения окон: сверху, снизу, слева или справа.

Height and Width

Размер панели переключения окон (в пикселах).

Lines

Кол-во строк в панели переключения окон.

Event, Message, Highlight

При получении сообщения на канале или в привате, mIRC подсвечивает иконку на панели управления окно выбранным цветом.

Опция event реагирует на все события не являющиеся сообщениями, то есть такие как, входы, выходы, покидания, изменения режимов и т.д. Опция Message реагирует только на сообщения, и наконец опция Highlight подсвечивает сообщения,  которые были определены в настройках Highlight.


Display Options

Show in mIRC titlebar

Текст который будет отображаться в заголовке главного окна mIRC.

Line spacing

Расстояние между строками на каналах и в приватах.

Примечание: Вы можете установить такое расстояние индивидуального для каждого окна в System Menu.

Multi-line editboxes

Эта опция позволяет выбрать однострочное поле ввода, где весь текст пишется одной строкой, или многострочное поле ввода, где в конце строки курсор перескакивает вниз. Применимо только к окнам канала или привата, в окне статуса будет всегда однострочное поле ввода.

Хинт: Если вы наберете символ “/” и нажмете ввод, то увидите последнюю строку введенную в поле ввода. Если же наберете “/!”, увидите последнюю строку веденную в последнем окне.

Dual monitor support

При наличии двух и более мониторов подключенных к вашему компьютеру, включите эту опцию, чтобы mIRC корректно отображал диалоговые окна, всплывающие меню и др.

Fast text display

Увеличить скорость обновления текста в окнах, если периодически возникают лаги отображения сообщений.

Visual Styles

Настройка визуальных стилей.

Line marker

Когда вы закрываете или свертываете окно, новые сообщения помечаются маркером на канале или привате. Так вы легко увидите какие сообщения пропустили.

Нажатие Control+L возвращает вас в строку помеченную маркером. Маркер обновляется только после того, как вы возвращаетесь назад к нему.

Multi-server

Настройка мульти-сервера.

Windows

Позволяет открывать окна на desktop, то есть вне главного окна mIRC. Это означает, что окна открытые таким образом, остаются на экране при свертывании mIRC. При запуске mIRC в Windows 2K/XP, вы можете включить transparency (прозрачность) для любых окон mIRC, которые вы поместите на desktop.

Ели опция hide desktop windows when minimized включена, вы можете нажать клавишу “shift” при свертывании окна, чтобы оно не спряталось.

Tray

Настройка Tray.


DLL Support

Функции /dll и $dll() позволяют вам обращаться к библиотекам DLL созданным специально для mIRC. Главной особенностью использования DLL является скорость обработки данных (быстрее чем у скрипта), поэтому интенсивная работа с данными при помощи DLL является наиболее эффективной.

Также mIRC поддерживает вызов COM objects, для работы  нестандартными DLL.

Внимание: не используйте DLL, о которых вы ничего не знаете. Смотрите секцию Accepting Files для более детальной информации об опасности приема файлов через интернет.

  /dll <filename> <procname> [data]

  $dll(filename, procname, data)

  $dllcall(filename, alias, procname, data)

Выше написанные команды открывают DLL, вызывают procname routine, и посылают определенные данные. Идентификатор $dll() может возвращать значение, также как и другие идентификаторы.

Идентификатор $dllcall() является много-потоковым, поэтому он не остановит скрипт и будет вызывать указанный алиас как только вернется вызов.

Технические примечания

Этот раздел содержит техническую информацию для программистов которые будут создавать DLL для mIRC.

Процедура в DLL вызывается в формате:

int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)

mWnd – идентификатор главного окна mIRC.

aWnd – идентификатор окна, в котором выполняется команда, это может быть не текущим активным окном, если команда была вызвана через удаленный скрипт.

data – информация, которую вы желаете послать DLL. При возврате, DLL может заполнить эту переменную командой которую mIRC должен будет выполнить.

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

Примечание: Переменные data и parms должны не превышать 900 символов.

show - FALSE если префикс . был указан чтобы сделать команду тихой (quiet), в противном случае - TRUE.

nopause - TRUE если mIRC в критической для выполнения процедуре и DLL не должна ничего делать что может вызвать паузу в процессе, например DLL не должна дать выскочить диалогу.

DLL может вернуть integer для определения что mIRC должен делать:

  0 означает что mIRC прервет процесс командой /halt

  1 означает что mIRC будет продолжать процесс

  2 означает что она заполнит переменную data c командой, которую должен выполнить mIRC и parms c параметрами для использования, когда выполняется команда.

  3 означает что DLL заполнит переменную data с результатом, который вернет идентификатор $dll().

Примечание: Вы возможно должны будете создатьфайл .def с именами экспортируемой процедуры когда скомпилите DLL.

Держать DLL загруженной после вызова

По умолчанию DLL выгружается сразу же после использования вызовов /dll или $dll(). Вы можете не дать ей выгрузиться включив LoadDll() routine в вашу DLL, котоую mIRC вызовет первый раз при загрузке DLL:

  void __stdcall (*LoadDll)(LOADINFO*);

  typedef struct {

    DWORD  mVersion;

    HWND   mHwnd;

    BOOL   mKeep;

  } LOADINFO;

mVersion содержит номер версии mIRC в верхнем и нижнем регистре (low and high words).

mHwnd содержит идентификатор главного окна mIRC.

mKeep установлен как TRUE по умолчанию, указывает что mIRC сохранит DLL загруженной после вызова. Вы можете установить mKeep как FALSE чтобы заставить mIRC выгружать DLL после вызова.

Выгрузить DLL

Вы можете выгрузить загруженную DLL используя ключ -u:

  /dll -u <filename>

Вы можете просмотреть список загруженных DLLs:

  $dll(N/filename)   возвращает N-ую загруженную DLL

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

Вы также можете определить процедуру UnloadDll() в вашей DLL которую mIRC будет вызывать, когда выгружает DLL чтобы был порядок.

  int __stdcall (*UnloadDll)(int mTimeout);

  Значение mTimeout может быть:

    0   UnloadDll() вызывается когда DLL выгружается по причине выхода из mIRC или по команде /dll -u.

    1   UnloadDll() вызывается когда DLL не используется в течение 10 минут. Процедура UnloadDll() может вернуть 0 чтобы сохранить DLL загруженной или 1 чтобы позволить ее выгрузить.


Drag Drop

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

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

*.txt:/play $1 $2-

где $1 - переменная, куда mIRC подставит имя пользователя или название канала в зависимости от того места,  куда вы бросили файл. $2 - собственно имя файла.

Команда /play построчно передает файл пользователю или в канал.

Вы также можете назначить разные алиасы для выполнения на определенных типах файлов при нажатии клавиши shift.

По умолчанию все работает без клавиши shift key:

*.wav:/sound $1 $2-

*.*:/dcc send $1 $2-

Выше расположенные строки означают, что если вы переместите файл *.wav, на нем выполнится команда /sound, а любой другой файл вызовет dcc send.

Также существует установка по умолчанию для перетаскивания файла при нажатой кнопке SHIFT:

 *.*:/dcc send $1 $2-

Это означает, что любой файл будет послан активному пользователю.

Примечание: если вы бросаете файл с длинным именем и пробелами, он заключается в кавычки.


Example Script

Пример скрипта

Простой и наглядный примерчик…

;Moo Script v1.0

;Описание подменю для всплывающего меню канала

menu channel {

  Moo

  .happily:/describe # moos happily

  .woefully:/describe # moos woefully

  .philosophically:/describe # MUs

  .colorfully:/describe # moos in several hues

}

;алиасы

alias how /msg $1 How now brown cow?

alias moo /sound moo.wav moooos

;Обработчик CTCP с текстом moo

ctcp 1:moo:*:/notice $nick Sorry, I'm all out of moos right now.

;Обработчики текстовых сообщений в канале

on 1:text:*moo*:#:/msg $chan okay, who let the cow loose?

on 1:text:*grass*:#:/describe $chan dribbles hungrily

;Обработчики событий join и part канала #moo

on 1:join:#moo:{

  /msg $nick Welcome $nick to channel #moo!

  /msg $nick This is a herd-oriented channel, there are calfs present!

  /msg $nick Please refrain from profaine mooing and/or bleating

  /msg $nick Mammals enaging in such acts will be promptly demooted

}

on 1:part:#moo:/msg $nick Thanks for grazing with us on #moo!

;этот обработчик срабатывает, когда вы получаете список каналов и в имени канала или в ;топике есть слово moo

raw 322:*moo*:/echo -s $2-


File and Directory Identifiers

Идентификаторы для работы с файлами и директориями

$abook(nick,N)

Возвращает информацию о никах из адресной книги.

Свойства: nick, info, email, website, picture, noteN

Допустимые форматы: $abook(nick) $abook(N) $abook(nick,N) где ник может быть шаблоном.

$alias(N/filename)

Возвращает имя файла N-го загруженного алиаса. Если указать имя файла, вернет $null, если файл не загружен.

$alias(0)	количество загруженных файлов алиасов

$alias(2)	имя 2-го файла алиасов

$alias(moo.txt)	вернет $null, если файл не загружен, или moo.txt, если загружен.

$crc(text|&binvar|filename,[N])

Возвращает контрольную сумму CRC указанного элемента, где N = 0 для обычного текста, 1 для &binvar, 2 для имени файла (по умолчанию).

$disk(path|N)

Возвращает информацию об указанном жестком диске, где N = 0 для всех дисков, и N > 0 для доступа к каждому диску по отдельности.

Свойства: type, free, label, size, unc, path

$disk(c:)  возвратит $true если диск c: существует, в противном случае $false

Свойство unc возвращает путь к сетевому диску.

$exists(file/dir)

Возвращает $true если файл существует и $false, если нет файла.

$exists(c:\mirc\mirc.exe)  возвратит $true или $false.

$file(filename)

Возвращает информацию о файле.

Свойства: size, ctime, mtime, atime, shortfn, longfn, attr

$file(mirc.exe).size	  размер

$file(mirc.exe).ctime	  время создания

$file(mirc.exe).mtime	  время последней модификации

$file(mirc.exe).atime	  время последнего доступа

$filtered

Возвращает количество отфильтрованных командой /filter строк.

$finddir(dir,wildcard,N,depth,@window | command)

Ищет в директории и всех поддиректориях N-ое указанное имя директории (можно использовать шаблоны). Возвращает полный путь и имя директории.

Свойства: shortfn

$finddir(c:\,mirc*,1) возвращает первое имя директории, начинающейся с "mirc".

Если указать имя пользовательского окна (@window) вместо параметра N, mIRC выведет результат в это окно.

Если определить команду, она выполнится при нахождении указанной директории. Вы можете использовать $1- для ссылки на название директории, например:

//echo 1 $finddir($mircdir,*.*,0,echo $1-)

Если определить depth (глубина), mIRC ищет только на указанную глубину в дереве директорий.

Примечание: depth и @window/command – необязательные параметры.

$findfile(dir,wildcard,N,depth,@window | command)

Поиск файлов в директории dir и всех поддиректориях N файлов с маской matchtext. Возвращает полный путь к найденному файлу.

Свойства: shortfn

$findfile(c:\mirc,*.exe,1)  returns c:\mirc\mirc.exe

Если указать имя пользовательского окна (@window) вместо параметра N, mIRC выведет результат в это окно.

Если определить команду, она выполнится при нахождении указанного файла(ов). Вы можете использовать $1- для ссылки на название директории, например:

//echo 1 $findfile($mircdir,*.*,0,echo $1-)

Если определить depth (глубина), mIRC ищет только на указанную глубину в дереве директорий.

Примечание: depth и @window/command – необязательные параметры.

$getdir

Возвращает путь к директории приема DCC файлов. Путь определен в DCC Options.

$getdir(filespec)

Возвращает путь к директории приема DCC файлов указанного типа.

$getdir(*.txt) вернет c:\mirc\text\ (если указана такая директория)

$ini(file,topic/N,item/N)

Возвращает имя//N-ую позицию определенного topics/items в ini/text файле.

$ini(mirc.ini,0)  общее количество топиков в файле mirc.ini

$ini(mirc.ini,1)  имя первого топика в файле mirc.ini

$ini(mirc.ini,help) N-ая позиция топика help если он существует, или 0 если не существует

Параметры item/N не обязательны. Если вы укажете N = 0, оно возвратит общее количество topics/items.

$isdir(dirname)

Возвращает $true если директория существует, в противном случае $false.

$isfile(filename)

Возвращает $true если файл существует, в противном случае $false.

$lines(filename)

Возвращает количество линий в указанном текстовом файле.

$lines(c:\irc\kicks.txt) возвратит количество строк в файле c:\irc\kicks.txt

$logdir

Возвращает путь к директории с лог файлами. Путь определен в Options.

$longfn(filename)

Возвращает длинное имя файла.

$mididir

Возвращает путь к директории c midi файлами. Путь определен в Options.

$mircdir

Возвращает имя директории где находится mIRC ехе.

$mircexe

Возвращает путь и имя файла mIRC. (c:\mirc\mirc32.exe)

$mircini

Возвращает имя главного .ini файла, обычно mirc.ini.

$mklogfn(filename)

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

Вы можете также использовать идентификатор $mknickfn(nickname) чтобы отфкиксить ник для использования как имя файла, и идентификатор $mkfn(filename), который удаляет неправильные символы.

$msfile(dir,title,oktext)

Отображает диалог выбора нескольких файлов и возвращает N, тоесть количество выделенных файлов. Идентификатор $msfile(N) возвращает каждый файл. Если выделено слишком много файлов, идентификатор $msfile() вернет -1. Параметры Title и oktext не обязательны.

$nofile(filename)

Возвращает путь к файлу без имени файла.

$nopath(filename)

Возвращает имя файла без пути, если он есть.

$nopath(c:\mirc\mirc.exe)  возвратит mirc.exe

$read(filename, [ntswrp], [matchtext], [N])

Читает одну строку из файла и вставляет ее в текущую позицию в алиасе.

Этот идентификатор работает вместе с командой /write.

//echo $read(funny.txt)

Читает случайную строку из файла funny.txt и вставляет ее в текущую позицию команды.

//echo $read(funny.txt, 24)

Читает 24-ю строку из файла funny.txt и вставляет ее в текущую позицию команды.

//kick # $1 $read(kicks.txt)

Читает случайную строку из файла kicks.txt и вставляет ее в текущую позицию команды kick.

//echo $read(info.txt, s, mirc)

Ищет в файле info.txt строку, начинающуюся с mirc.

//echo $read(help.txt, w,  *help*)

Ищет в файле help.txt строку в которой есть слово "help". Ключ r используется для соответствия regex.

Если вы используете опции -s, –w или -r,  можно указать номер строки -N, с которой будет начинаться поиск в файле:

//echo $read(versions.txt, w, *mirc*, 100)

Если стоит ключ n, то считанный текст не считается командой и интерпретируется как обычный текст.

Если стоит ключ p, командный разделитель | не будет считаться обычным текстом.

Первая строка в файле является числом и означает общее количество строк в файле. Если вы укажете N = 0, mIRC вернет значение первой строки, если это число.

Если указана опция -t, mIRC будет воспринимать первую строку файла как текст, даже если там стоит число.

$readn

Возвращает количество найденных строк, к которым обращался перед этим идентификатор $read(). Если соответствий не найдена, $readn возвратит 0.

$readini(filename, [np], section, item)

Читает информацию из INI файла и вставляет ее в текущую позицию в алиасе.

Этот идентификатор работает вместе с командой /writeini.

//echo $readini(mirc.ini, mIRC, nick)

Читает ваш ник из файла mirc.ini.

Если стоит ключ n, то считанный текст не обрабатывается и интерпретируется как обычный текст.

Если стоит ключ p, командный разделитель | не будет считаться обычным текстом.

$sdir(dir,title)

Показывает выбранную директории и возвращает ее имя. Элемент Title не обязателен.

$sfile(dir,title,oktext)

Показывает выбранный файл и возвращает его имя. Элементы Title и oktext не обязательны.

$shortfn(filename)

Возвращает короткую версию длинного имени файла (filenam~1.txt).


File Handling

Обработка фйла

Обработка файла позволяет вам манипулировать вашими файлами используя скрипты. Вы должны на отлично знать Aliases, Popups, и Scripts чтобы использовать нижеописанные команды.

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

Обработка команд файла

/fopen [-no] <name> <filename>

Открывает указанный файл и назначает ему имя для дальнейшей ссылки на него. Если файл не существует, когда не сработает. Ключ -n создает файл если его не существовало, и выдает ошибку если файл существует. Ключ -o создает новый файл, а если такой уже существует, то переписывает его заново.

Примечание: Если команда не выполнилась, то скрипт продолжает работу. Смотрите идентификаторы $ferr и $feof ниже.

/fclose <name | wildcard>

Закрывает файл с указанным именем. Если вы укажете шаблон, все файлы соответствующие ему будут закрыты.

/flist [name | wildcard]

Список всех открытых файлов или соответствующих шаблону.

/fseek <name> <position>

Устанавливает указатель чтения/записи на определенную позицию в файле. Следующие ключи могут также использоваться для перемещения указателя:

 -l <name> <line number>

 -n <name> <next line>

 -w <name> <wildcard>

 -r <name> <regex>

/fwrite [-bn] <name> <text | &binvar>

Записывает текст или указанную бинарную переменную в файл. Ключ -b  указывает что &binvar был определен. Ключ -n добавляет $crlf в записываемую строку.

Идентификаторы обработки файла

$fopen(name | N)

Возвращает информацию об открытом файле.

Свойства: fname, pos, eof, err

Примечание: свойства .eof и .err должны быть отмечены после каждой команды или идентификатор файла, поскольку ошибки доступа к файлу не остановят скрипт.

$fread(name | N)

Возвращает следующий разделитель строки $crlf.

$fread(name | N, M, &binvar)

Возвращает количество байтов для чтения в указанную бинарную переменную, где M – число байтов для чтения.

$fgetc(name | N)

Возвращает следующий символ.

$feof and $ferr

Возвращает результат любой попытки доступа к файлу, где $feof что конец файла был достигнут, и $ferr указывает что возникала ошибка.


File Server

Файл-сервер

Файл-сервер в mIRC - возможность доступа для удаленных пользователей к файлам на вашем диске а-ля FTP.

Команда /fserve

Файл-сервер запускается этой командой, которая инициализирует DCC Chat с указанным вами пользователем. Формат команды такой:

/fserve <nickname> <maxgets> <homedirectory> [welcomefile]

nickname - ник пользователя, для которого вы хотите запустить файл-сервер.

maxgets - максимальное количество одновременно передаваемых пользователю файлов.

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

welcome file текстовый файл, который будет послан пользователю при установке соединения.

/fserve goat 5 c:\users\level1 level1.txt

Эта команда запустит файл-сервер для пользователя goat с доступом к директории c:\users\level1 и выдаст ему файл-заставку level1.txt. Пользователь может одновременно получать 5 файлов.

Вы можете поместить в каждой директории файл dirinfo.srv, который описывает содержимое данной директории. Каждый раз, когда пользователь меняет директорию командой CD, mIRC ищет этот файл и посылает текст пользователю.

Команды управления файл-сервером

The commands availabe to a user connected to your fileserver are:

cd <directory> - сменить директорию на указанную.

dir [-b|k] [-#] [/w] - список имен и размеров файлов в текущей директории. Опция /w - вывод широкого списка. Опции [-b|k] указывают, в каком виде выводится размер файла, в байтах или килобайтах. Опция [-#] определяет количество файлов в каждой линии в горизонтальном списке.

ls [-b|k] [-#] - широкий список имен файлов. Опции имеют то же значение, что и в команде dir

get <filename> - получить файл (DCC Send).

read [-numlines] <filename.txt> - Читает указанный текстовый файл. Файл посылается порциями по 20 строк.. Вы можете изменить количество строк в диапазоне от 5 до 50, используя опцию -numlines

help - список доступных команд.

exit и bye - завершить работу.

Примечания:

1. Для ускорения работы рекомендуется разбивать директории с большим количеством файлов на несколько.

2. Если пользователь не проявляет активности в течении времени, определенного в DCC Options, то файл сервер автоматически закрывается.

3. Пользователь может открыть только одну сессию с файл-сервером.


Finger

Фингер

Фингер позволяет послать запрос пользователю, чтобы узнать о нем больше информации.

Если пользователь имеет личный email/компьютерный адрес, это будет работать, только если он запустит фингер-сервер. Большинство других адресов, таких как школа, государство и др. могут быть успешно запрошены, даже если они не дадут вам дополнительную информацию. Таким образом, можно проверить себя если у вас есть email.

Также существует команда /finger <nick/address>.

Если в параметре будет присутствовать “.”, он будет определен как адрес, в противном случае как ник. mIRC определит адрес пользователя через команду /userhost и затем пошлет запрос на этот адрес.

Сервер Фингер

Finger сервер сидит на 79 порте и обслуживает finger запросы.

Enable finger server

Включает finger сервер.

Show finger requests

Если опция отмечена, finger запросы будут отображаться в окне статуса.

Finger file

Вы можете указать имя специального файла (в обычном текстовом формате), из которого будут браться ответы на finger запросы. Секции выглядят так:

[name]

line1

  .

  .

  .

lineN

Имя секции должно соответствовать userid пользователя, то есть если кто-то посылает запрос на desti, должна быть секция [desti].

В файле должна быть одна обязательная секция, называемая [default], которая используется для ответов на запросы про, которых нет в списке.

Например:

[default]

Нет такого пользователя!

[khaled]

Привет!

Если вы хотите использовать переменные и идентификаторы в строке текста, поставьте в начало строки символ $.


Firewall

mIRC может подключаться к IRC серверу через файрвол SOCKS4, SOCKS5 или PROXY.

Если у вас на работе или дома установлен файрвол, настройки в этой секции позволят вам работать в IRC. Для остальных пользователей эту опцию нужно выключить.

Firewall support

Вы можете выбрать с какими подключениями будет работать файрвол: server, dcc, или both.

Protocol

Здесь вы можете выбрать между Socks4, Socks5, или Proxy.

Возможности протокола SOCKS4 очень ограничены, поэтому единственное, что вы сможете сделать – это подключиться к IRC серверу.

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

Hostname

Адрес файрвол сервера, может быть именем или в виде IP адреса.

User ID

Может быть аккаунтом или именем пользователя в вашей системе. Для большинства людей этоUser ID из email адреса (текст перед знаком @).

Password

Пароль для доступа к файрволу.

Примечание: mIRC поддерживает только основную прокси авторизацию.

Port

Порт сервера (обычно 1080).

Маски исключения

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

Команда /firewall

Команда служит для изменения настроек файрвола.

/firewall [-cmN[+|-]d] [on|off] <server> <port> <userid> <password>

   -c  очищает значения userid и password.

-mN  тип подключения, где N  (4 или 5) Socks4 или Socks5, или p для proxy.

+|-d  включает/выключает DCC сессии через файрвол.


Flood

Система защиты сервера от вас и вас от других вредителей :). Если вы посылаете слишком много сообщений, IRC сервер может отключить вас.

Trigger flood check after...

Установка количества байтов, после превышения которого mIRC включает защиту. Устанавливать здесь значение больше 500 бесполезно, поскольку это разрешенный предел большинства серверов. Уменьшение числа увеличивает чувствительность системы защиты, но замедляет работу. Рекомендуется не менять значение по умолчанию (400).

Max. lines in buffer

Максимальное количество строк, которое mIRC будет сохранять в буфере.

Max. lines per person

Максимальное количество сообщений, которое могут храниться в буфере пользователя.

Ignore person for...

Как долго mIRC должен игнорировать пользователя, который превысил установленный предел сообщения. Если ноль, пользователь не игнорируется. Значение в секундах.

Enable protection for...

Включает защиту от флуда через ctcp и whois запросы.

Queue Op commands

Если эта опция включена, то команды MODE и KICK тоже считаются флудом.

Queue own messages

Если эта опция включена, все ваши сообщения и нотисы считаются флудом.

Show status updates

Показывает статус очереди флуда a) когда появляется новый элемент в очереди, b) каждые 10 секунд, если статус очереди меняется, и c) когда очередь становится пустой.

Команда /flood

Позволяет изменять установки секции Flood. Введите /flood без параметров, чтобы увидеть текущие установки.

/flood [+c|-c] [on|off|clear] <bytes> <maxlines> <maxmessages> <ignoretime>

/flood 200 10 2 30

Команда указывает mIRC -у включать защиту при посылке более 200 байтов, разрешает хранить не более 10 линий и игнорировать оставшиеся, разрешает для каждого пользователя 2 сообщения в буфере и игнорирует его в течении 30 сек. после превышения количества сообщений.

Используйте ключи +c и -c для включения/отключения защиты флуда по ctcp.


Halting Text

Подавление стандартных сообщений

mIRC выводит свои собственные сообщения в ответ на различные события (например, подключение/отключение пользователя к каналу), однако вы можете модифицировать или вообще запретить вывод сообщений mIRC.

Префикс ^

Служит для подавления вывода стандартного сообщения. Вы можете вывести свое собственное сообщение.

on ^1:JOIN:#:echo $chan Joins: $nick | halt

Обработчик вызывается для события JOIN и выводит на экран ваше собственное сообщение, команда /halt блокирует вывод стандартного сообщения.

Обработчики ^ не блокируют другие существующие обработчики; ваши нормальные обработчики независимы и продолжают работать.

Если вы просто хотите заблокировать вывод стандартных сообщений без остановки скрипта, используйте команду /haltdef.

Проверить состояние скрипта можно с помощью идентификатора $halted; он возвращает $true если скрипт остановлен командами /halt или /haltdef в ^ обработчике, в противном случае $false.

Префикс ^ работает только со следующими обработчиками: ACTION, BAN, CHAT, DEHELP, DEOP, DEVOICE, HELP, INVITE, JOIN, KICK, MODE, NICK, NOTICE, OP, OPEN, PART, TEXT, UNBAN, USERMODE, VOICE, QUIT, SERV, SERVERMODE, SNOTICE, TOPIC, WALLOPS.

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


Hash Tables

Hash Таблицы

Hash таблицы позволяют вам эффективно хранить большие объемы информации, на которые позже можно ссылаться.

Ниже описаны команды и идентификаторы для работы с hash таблицами.

/hmake -s <name> <N>

Создает новую hash таблицу с N слотами.

Hash таблица может хранить неограниченное количество данных независимо от числа N. Чем больше число N, тем быстрее оно работает в зависимости от количества данных.

Например, если вы будете хранить 1000 единиц данных в таблице, то N равным 100 будет достаточно.

Ключ -s выводит результат команды на экран.

/hfree -sw <name>

Освобождает существующую hash таблицу.

Ключ -w означает что параметр name является маской, и все таблицы соответствующие ей будут освобождены.

/hadd -smbczuN <name> <item> [data | &binvar]

Добавить единицу данных в существующую hash таблицу.

Если такая единица уже существует, то она будет заменена на указанную.

Ключ -m создает hash таблицу если она уже не существует.

Ключ -uN сбрасывает единицу данных через N секунд.

Ключ -b указывает что вы добавляете единицу &binvar в hash таблицу.

Ключ -c разбирает &binvar до первого нулевого значения и рассматривает это как обычный текст.

Ключ -z уменьшает значение на единицу каждую секунду, пока они не будут равны нулю, и затем сбрасывает их.

В командах /hinc и /hdec используются такие же параметры как и в /hadd. Они  увеличивают или уменьшают числовое значение единицы данных.

При использовании команды /hinc или /hdec, ключ -c уменьшает значение на единицу каждую секунду.

/hdel -sw <name> <item>

Удаляет единицу данных из hash таблицы.

Ключ -w указывает что единица данных является маской, и все значения подходящие под нее будут освобождены.

/hload -sbni <name> <filename> [секция]

/hsave -sbnioau <name> <filename> [секция]

Загружает из файла или сохраняет в файл таблицу.

Загружается/сохраняется обычный текст в текстовый файл со значениями и данными в отдельных строках. Символы $cr и $lf вырезаются из текста, когда сохраняется в виде обычного текста.

Ключ -b загружает или сохраняет бинарные файлы. Символы $cr и $lf остаются при сохранении текста в виде бинарных файлов.

Вы можете использовать ключ -n для того чтобы загружать или сохранять только данные, без определений. При загрузке с ключом –n, каждая строка данных назначается N-ому значению, начиная с N = 1.

Команда /hsave также поддерживает ключ -o для перезаписи сущестующего файла, и -a для добавения к существующему файлу.

По умолчанию команда /hsave исключает единицы данных которые находятся в списке сброса командой /hadd –uN. Ключ -u заставляет не исключать сбрасываемые единицы данных.

Ключ -i обрабатывает файл как ini файл. Вы можете указать имя section после имени файла.

Примечание: команда /hload не создает таблицы, она должна быть создана командой /hmake до этого.

$hget(name/N)

Возвращает название hash таблицы если она существует или название N-ой hash таблицы.

свойства: size

$hget(moo).size   возвращает размер таблицы

$hget(name/N, item)

Возвращает данные связанные со значением в указанной hash таблице.

Свойства: unset

Свойство unset возвращает время оставшееся до сброса единицы данных.

$hget(name/N, item, &binvar)

Назначает содержимое единицы данных как &binvar.

$hget(name/N, N).item

Позволяет вам ссылаться на таблицу, как на индекс от 0 до N, для поиска N-ой единицы данных.

При N = 0, возвращает общее количество единиц данных в таблице.

Вы также можете ссылаться на N-ое значение данных при по помощи идентификатора $hget().data.

Примечание: Этот метод является удобным, но не эффективным.

$hfind(name/N, text, N, M)

Ведет поиск таблицы с N-ой единицей данных соответствующей тексту. Возвращает название единицы данных.

Свойства: data

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

M является не обязательным параметром и может быть:

  n	нормальное сравнение текста (по умолчанию если M не указана)

  w	текст является маской

  W	единица даных, значение данных hash таблицы является маской

  r	текст является регулярным выражением

  R	единица даных, значение данных hash таблицы является регулярным выражением


Help Menu

Меню Help

Динамическое меню Help заполняется mIRC-ом при обнаружении файлов с расширениями .hlp и .txt. Одновременно mIRC создает алиас с именем файла (без расширения) для вызова этого файла.

Например, если вы скопируете файл winsock.hlp в директорию mIRC, добавится элемент меню winsock.hlp и будет создан алиас /winsock. Теперь вы можете набрать /winsock sometext и mIRC запустит окно контекстного поиска в указанном файле.

Вы можете добавлять/удалять файлы в директорию mIRC, и при каждом вызове меню данные будут обновлены.

Если вы загрузите mIRC FAQ в формате .hlp в директорию mIRC, он тоже появится в меню.

Элемент register позволяет вам ввести вашу регистрацию в вашу копию mIRC.


Highlight

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

Enable Highlighting

Включает данную функцию.

Highlight lines which contain these words

Введите в этом окне свой ник (ники) и все ключевые слова, которые вы не хотите пропустить. Слова разделяются запятыми.

Вы можете использовать шаблоны *?, например: *help*

Примечание: Вы также можете использовать Variables или Identifiers как слова для подсветки.

Color

Цвет, которым будут выделяться сообщения.

Play sound

Звуковой сигнал.

Flash message

mIRC будет мигать если сообщение соответствующее маске появилось не в активном окне или при свернутом mIRC-е.

Примечание: Вы также можете использовать переменные и идентификаторы в мигающих сообщениях.

Flash N times

Сколько раз будет проигран звуковой сигнал.

Match on

Соответствие в сообщении, нике или в обоих.


Hotlinks

Горячие зоны

Когда вы проводите мышкой в окне по тексту, который представляет из себя www-адрес, E-mail адрес, название канала или ник пользователя, указатель мыши меняется на палец, подсказывая, что вы можете кликнуть на этом тексте для выполнения некоторых функций.

При двойном клике на строке URL в любом окне, запустится Ваш любимый браузер.

При двойном клике на строке E-mail адреса, удерживая при этом shift, запустится ваш почтовый клиент.

В окне канала двойной клик и правый клик на нике вызовет стандартное действие ( как для списка ников ).

Если Вы просто кликните на нике, курсор в окне списка ников переместится на этот ник.

Если произвести двойной клик на названии канала, то Вы войдете в этот канал.

Если ник есть в вашем списке оповещения,  правый клик на нем откроет всплывающее окно оповещения.

Примечание: Настройки горячих зон производятся в диалоге Другое.


How to Register

Как Зарегистрировать

mIRC является shareware, тоесть вы можете использовать незарегистрированную копию программы только в течение 30 дней. Если же вы решите использовать данную программу и далее, вы должны зарегистрировать ее.

mIRC можно зарегистрировать через страничку Регистрации на официальном сайте.


Identd

mIRC может работать как ident сервер и идентифицироваться по  User ID и System. Практически все IRC сервера требуют ответа Identd-сервера.

Enable Ident Server

Разрешает работу Identd-сервера.

User ID

Впишите свой логин, т.е. то имя, которое вы используете для подключения к интернету.

Допустимые символы: . 0-9 A-Z _ - a-z

System

Ваша операционная система.

Port

Обычно равен 113.

Show Identd requests

Если вы хотите видеть протокол обмена данными между сервером и программой, то поставьте галочку в окошке

Enable only when connecting

Разрешает работу Identd сервера только на время подключения. После приема запроса от IRC сервера Identd сервер выдает ответ и выключается.

Примечание: Этот сервер отвечает на все ident запросы идущие на указанный порт.

Use ID from email address

User ID будет браться из email address.

Команда /identd

Вы можете использовать команду /identd [on|off] [userid] для управления сервером.


Identifiers

Идентификаторы

Идентификаторы возвращают различные значения. Например, $time вернет текущее время. Когда mIRC находит идентификатор в команде или скрипте, он подставляет вместо него его текущее значение. Многие идентификаторы работают как функции (можно указать дополнительные параметры).

Если идентификатор не вычисляется, он возвращает $null. Значение $null может использоваться в конструкции if-then-else. Вы также можете помещать идентификаторы в фигурные скобки других идентификаторов.

Идентификаторы разбиты на группы:

Идентификаторы времени и даты

Идентификаторы для работы с файлами и дерикториями

Идентификаторы адресов и ников

Идентификаторы текстовые и числовые

Идентификаторы токенов

Идентификаторы окон

Другие идентификаторы

Есть также ряд дополнительных идентификаторов, специализированных для Агентов, DDE сервера, Пользовательских окон, Графических окон, Сокетов, Скриптов, Диалоговых окон, Бинарных файлов, Hash Таблиц, Регулярных Выражений, Объектов COM, Сигналов, Мульти-сервера, Внутреннего Списка Адресов, Звуков, и Обработки файлов.


If Then Else‚яriД_y

Конструкция If-then-else

Конструкция If-then-else позволяет сравнивать значения переменных или выражений и выполнять различные части программы-скрипта в зависимости от полученного результата.

Основной формат

if (v1 operator v2) { commands }

elseif (v1 operator v2) { commands }

else { commands }

В круглых скобках ( ) находятся сравниваемые значения, в фигурных скобках { } находятся команды, которые будут выполнены, если значение в круглых скобках - true.

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

Глубина вложения конструкций if-then-else неограниченна.

Операторы сравнения

==	равно

===	равно (чувствительно к регистру)

!=	не равно

<	меньше чем

>	больше чем

>=	больше или равно

<=	меньше или равно

//	если целочисленное деление

\\	если не целочисленное деление

&	поразрядное сравнение

isin 	строка v1 есть в строке v2

isincs	    	подстрока v1 есть в строке v2 (чувствительно к регистру)

iswm      	строка-маска v1 соответствует строке v2

isnum     	число v1 - число в диапазоне v2 которое представлено в виде n1-n2

           	(v2 необязательный параметр)

isletter	буква v1 есть в строке v2 (v2 необязательный параметр)

isalnum	текст сождержит только буквы и цифры

isalpha	текст сождержит только буквы

islower	текст сождержит только буквы в нижнем регистре

isupper	текст сождержит только буквы в верхнем регистре

ison       	ник v1 на канале v2

isop       	ник v1 оператор на канале v2

ishop       	ник v1 полуоператор на канале v2

isvoice	ник v1 имеет право голоса на канале v2

isreg	ник v1 – нормальный ник на канале v2

ischan     	если v1 канал, где вы находитесь.

Isban	если ник v1 забанен и находится во внутреннем списке банов

isaop	если ник v1 находится в списке автоопа на канале v2 (v2 необязательный параметр)

isavoice	если ник v1 находится в списке автовойса на канале v2 (v2 необязательный параметр)

isignore   	если v1 пользователь, включенный в ваш ignore список с ключем v2 (v2 необязательный параметр)

isprotect  	если v1 есть в списке protect канала v2 (v2 необязательный параметр)

isnotify   	если v1 есть в списке оповещения.

Изменить значение оператора на противоположенное можно с помощью символа "!"

$ifmatch

Возвращает первый параметр оператора сравнения. Например в случае:

if (text isin sometext) { ... }

$ifmatch вернет "text"

Комбинирование операторов сравнения

Комбинировать операторы можно, используя символы && для операции AND и символ || для операции OR.

number {

  if (($1 > 0) && ($1 < 10)) {

    if ($1 < 5) echo Number is less than five

    else echo Number is greater than five

  }

  else echo Number is out of bounds

}

Этот алиас проверяет введенное число (команда /number <значение>), не позволяя выходить за пределы заданного диапазона значений.

Префикс !

Вы можете использовать префикс ! перед переменной или идентификатором в конструкции if-then-else для изменения значения на противоположное. Следующие конструкции равнозначны.

if (%x == $null) echo x has no value

if (!%x) echo x has no value

Примеры

listops {

  echo 4 * Listing Ops on #

  set %i 1

  :next

  set %nick $nick(#,%i)

  if %nick == $null goto done

  if %nick isop # echo 3 %nick is an Op!

  inc %i

  goto next

  :done

  echo 4 * End of Ops list

}

Этот алиас показывает список операторов данного канала.. Пример демонстрирует использование оператора isop и по этой причине немного усложнен. Если использовать $opnick() вместо $nick(), то этот алиас можно сильно упростить. Значение $null возвращается по достижении конца списка и служит командой остановки выполнения алиаса.

GiveOps {

  %i = 0

  %nicks = ""

  :nextnick

  inc %i

  if ($snick(#,%i) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt }

  %nicks = %nicks $snick(#,%i)

  if (4 // %i) { mode # +oooo %nicks | %nicks = "" }

  goto nextnick

}

Определение элемента меню для списка ников канала. Отмеченные пользователи получают статус оператора.

on 1:ctcpreply:PING* {

  if ($2 == $null) halt

  else {

    %pt = $ctime - $2

    if (%pt < 0) set %pt 0

    if (%pt < 5) echo 4 [PING reply] $nick is too close for comfort

    elseif (%pt < 20) echo 4 [PING reply] $nick is at just about the right distance

    else echo 4 [PING reply] Earth to $nick earth to $nick

  }

  halt

}

Заменяет стандартный ответ на PING новым сообщением. В зависимости от времени задержки сигнала формирует разные сообщения.


Internal Address List

Внутренний список адресов (IAL)

mIRC автоматически заполняет внутренний список адресов адресами всех пользователей, которые есть на канале.

Эти адреса используются командами /guser, /ruser, /ban, /ignore, /finger, и /dns для ускорения определения адреса пользователя. Команда /userhost не выполняется, если пользователь есть в этом списке.

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

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

Поддержка списка занимает достаточно много времени, особенно если вы подключены ко многим каналам со множеством сообщений, изменений режимов, входов и выходов пользователей.

Смысл сохранения адресов только тех пользователей, которые находятся на тех же  каналах, что и вы в том, что такой метод гарантирует целостность списка. Одному нику всегда соответствует один адрес.

Команды IAL

/ial [on | off]

Включать/выключать внутренний список адресов

/ialclear [nick]

Очищает внутренний список адресов, или если указан ник, убирает этот ник из списка.

/ialmark <nick> [text]

Помечает указанный ник из списка определенным текстом.

Идентификаторы IAL

$ial(nick/mask,N)

Возвращает N-ый адрес соответствующий нику или маске из внутреннего списка адресов.

Свойства: nick, user, host, addr, mark

$ial(*!*@*.com,0)	возвращает общее количество адресов подходящих под маску *!*@*.com

$ial(*!*@*.com,3)	возвращает третий адрес подходящий под маску *!*@*.com

$ial(*!*@*.com,4).nick	возвращает четвертый ник подходящий под маску адреса заканчивающуюся на .com

$ial(*!*@*.com,4).user	возвращает четвертый userid подходящий под маску адреса заканчивающуюся на .com

Для сканирования каждого адреса используйте идентификатор $ial(*,N).

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

$ialchan(nick/mask,#,N)

Возвращает N-ый адрес на указанном канале соответствующий нику или маске во внутреннем списке адресов.

Работает также как и идентификатор $ial().


Introduction‚яriД_y

Введение

Добро пожаловать в mIRC (Internet Relay Chat Client).

mIRC обладает приятным дружественным, интуитивно понятным интерфейсом, с помощью которого вы можете попасть в волшебный мир IRC. Сеть IRC является виртуальным местом, где люди со всего мира могут общаться в реальном времени.

Все, что вам нужно – это Подключиться к серверу и  Войти на канал, и говорить, говорить, говорить …!

mIRC поможет вам приятно и легко общаться в IRC сети. Если вы что-то не понимаете, то всегда можете перейти в файл помощи, нажав кнопку F1.

Когда вы приобретете опыт общения в IRC, вы можете начать конфигурировать и настраивать mIRC под себя, изменяя такие функции как цвета, шрифты, функциональные клавиши, алиасы, всплывающие менюшки, скрипты, звуки и многое другое.

Первые несколько разделов файла помощи рекомендуется изучить для более полного понимания основных аспектов IRC.

Также не забывайте посещать  Веб-сайт mIRC и скачивать новые версии программы.


IRC

Prefix own messages

Если стоит галочка, то во всех ваших сообщениях в любых окнах сначала будет стоять ваш ник.

Show mode prefix

Если стоит галочка, то во всех сообщениях на любых каналах перед никами будет стоять их префикс. В виде @, % или +.

Iconify query window

Если кто-то вызывает вас в приватную беседу, то по умолчанию сразу открывается окно и фокус ввода попадает в него. Если вы поставите галочку в этом окошке, то окно не будет открываться, а появится "иконка" на панели состояния, которую потом можно открыть, щелкнув на ней мышью

Use single message window

Если стоит галочка в этом окошке, то все приватные сообщения от всех пользователей попадут в одно окно сообщений. Для ответов вы должны будете использовать команду /msg. Если вы хотите открыть окно приватной беседы, используйте команду /query.

Примечание: С помощью клавиши Tab вы можете перемещаться к никам пославшим вам сообщения последними.

Use query for notify nicks

Если опция single message window включена, и пользователь находящийся в вашем списке оповещения пошлет вам сообщение, mIRC откроет новое окно привата, игнорируя включеную опцию single message window.

Copy messages to query

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

Whois on query

Поставьте галочку, если вы хотите, что бы mIRC выполнял команду /whois nickname для каждого посылающего вам приватное сообщение. Команда /whois будет выполнятся при каждом открытии приватного окна.

Auto-join channel on invite

Данная опция позволяет автоматически входить в канал, если вас туда приглашает другой пользователь с помощью команды /invite. mIRC минимизирует окно канала и помещает его на панель статуса.

Rejoin channel when kicked

Если вас выперли с канала командой /kick, mIRC немедленно попытается снова зайти в канал. Окно канала не закрывается до тех пор, пока не станет ясно, что вы не можете больше войти в канал.

Rejoin channels on connect

После случайного отключения от сервера mIRC подключится ко всем каналам, на которых Вы были до отключения.

Keep channels open

Сохранять окно канала открытым если вы отключились от сервера или были кикнуты с канала.

Hide channel key

При включении этой опции, mIRC не будет отображать ключ канала в заголовке окна.

Show invites in active window

Показывать сообщения приглашения (invite) в активном окне канала.

Show queries in active window

Показывать все приватные сообщения в активном окне канала. Но если вы не на канале, будет открыто отдельное окно привата.

Show notices in active window

Показывать все нотисы в активном окне канала.

Show whois in active window

Показывает результат выполнения команды /whois в окне канала, привата/чата, или пользовательского окна.

Show Ctcps in active window

Показывает все Ctcp сообщения в активном окне.

Show Away in active window

Показывать сообщения away в активном окне.

Events...

Данная опция позволяет вам менять стандартные настройки отображения событий на канале, таких как вход, покидание и др. Для каждого окна канала в отедльности вы можете их настроить через Системное Меню.


IRC Commands

Основные команды IRC

Этот список содержит только основные команды IRC. Смотрите также Other Commands

Главные команды

/JOIN #channel

Подключение к каналу.

пример:  /join #irchelp

Подключение к каналу # irchelp. Если канала с таким именем не существует, канал создается и вы получаете статус оператора на нем.

Некоторые каналы защищены паролем, чтобы войти на такой канал, пароль нужно указать в команде.

example:  /join #irchelp trout

Подлключение к каналу #irchelp ипользуя пароль "trout".

/PART #channel

Отключение от канала.

пример:  /part #irchelp

/LIST [#channel] [-MIN #] [-MAX #]

Получить список созданных на сервере каналов. Можно ограничить число каналов, указав минимальное и максимальное значение количества пользователей на канале. Если указать #string, в список попадут только те каналы, в названии которых есть указанная подстрока.

пример:	/list

пример:	/list -min 5 -max 20

пример:	/list #mirc

пример:	/list *love*

/ME message

Сообщение от третьего лица.

/MSG nickname message

Посылка приватного сообщения пользователю без открытия приватного окна.

/QUERY nickname message

Посылка приватного сообщения пользователю с открытием приватного окна.

/WHOIS nickname

Запрос информации о пользователе.

/NICK nickname

Изменение вашего ника на новый.

/QUIT [reason]

Отключает вас от IRC сервера. Сообщение [reason] получают пользователи, которые подключены к тем же каналам, что и вы.

пример: /quit Как жаль расставаться со всеми вами…

/AWAY [away message]

Режим Away служит для уведомления пользователей о том, что вы в данный момент недоступны для беседы. Когда кто-то посылает вам сообщение и у вас включен режим Away, пользователь получит сообщение [away message]. Для выключения режима используется команда /away без параметров.

пример:  /away ушел обедать.

/TOPIC #channel newtopic

Изменение топика канала.

пример: /topic #friendly Что за прекрасный день сегодня!

/INVITE nickname #channel

Приглашение пользователю посетить канал #channel.

Команды операторов канала

Если вы оператор канала, вам доступны следующие команды:

/KICK #channel nickname

Отключить пользователя от канала.

пример: /kick #gb Федот

/MODE #channel|nickname [[+|-]modechars [parameters]]

Команда управления каналом и пользователями на нем.

Режимы канала

------------------------

Режим	       Описание

~~~~~~~~	        ~~~~~~~~~~~~~~~~~~~

b <person>   	Забанить пользователя, <person> в виде "nick!user@host"

i            	Канал "invite-only" (только по приглашению)

l <number>   	Ограничение количества пользователей на канале,

             	<number> - максимальное количество пользователей

m            	Модерируемый канал. Только операторы могут разговаривать

n            	Блокировка канала от внешних сообщений (/msg #channel text)

o <nickname> 	Дать оператора пользователю <nickname>

p            	Приватный канал

s            	Защита ников пользователей на канале. Команда /names #channel

             	не покажет ники канала.

t            	Защита топика. Только операторы могут менять топик

k <key>      	Установка ключа доступа к каналу

Режимы пользователя

-------------------

Режим	       Описание

~~~~~~~~	       ~~~~~~~~~~~~~~~~~~~~

i            	Делает вас "невидимкой" для всех, кто не знает, как пишется ваш ник

o            	Признак оператора сервера. Устанавливается только оператором

             	сервера командой OPER

s            	Получение сообщений сервера (для оператора сервера)

v            	Дает право голоса пользователю на модерируемом канале

Несколько примеров использования команды MODE:

Дать оператора:   /mode #channelname +o nickname

Дать оператора нескольким пользователям:   /mode #channelname +ooo nick1 nick2 nick3

Отнять оператора:   /mode #channelname -o nickname

Забанить пользователя:   /mode #channelname +b nickname (or user address)

пример: /mode #animals +b Jiminy

пример: /mode #tree +b joe@bloggs.edu

Снять бан:   /mode #channelname -b nickname (or user address)

пример: /mode #gb -b Ed

Канал "только по приглашению":   /mode #channelname +i

Теперь пользователь попадет на канал только если его пригласит кто-то, подключенный к этому каналу.

Есть еще команды, но этих вам хватит для начала.


IRC Options

Show short joins/parts

Вывод сообщений о подключении/отключении пользователей в компактном виде.

Show user addresses

Позволяет видеть адрес пользователя, когда тот входит/выходит/завершает работу/кикнут и т.д.

Show nicks on join

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

Flash on...

Мигать при любом сообщении на канале или в привате.

Skip MOTD on connect

Опция позволяет пропустить сообщение MOTD (Message of the day) сервера в момент присоединения. Устанавливать не рекомендуется, поскольку в этом сообщении иногда есть полезная информация для пользователя.

Hide ping? pong! event

Спрятать сообщения Ping? Pong! которые показываются в окне статуса.

Cancel away on message

Если вы поставили себя в режим away (используя команду /away) то он будет автоматически отменен, как только вы отправите сообщение в канал или приватное окно.


Joining a Channel

Подключение к каналу

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

Избранные каналы

Простейший способ подключиться к каналу - это использование папки избранных каналов. mIRC автоматически открывает окно папки избранных каналов после подключения к серверу. Вы можете подключиться к каналу, просто выбрав имя нужного канала и нажать кнопку Join. Если канала нет в списке, наберите его в верхнем окошке и нажмите Join. Канал добавится в список.

Вы можете вызвать окно Избранные каналы (Favorites Channels) нажав кнопку на панели инструментов.

Список каналов

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

Для получения полного списка каналов нажмите кнопку Get List. Список может быть достаточно большим и, возможно, потребуется много времени для получения всего списка. mIRC сохраняет полученный список и вы всегда можете посмотреть его снова, нажав кнопку Apply. Однако, если вы захотите обновить список, вы должны получить его снова.

Если вы нажмете правую кнопку мыши на окне списка каналов, появится всплывающее меню.

Примечание: Вы можете также указать имя файла для списка, что может быть полезным, если вы регулярно посещаете разные IRC сети.

Команда /join

Одна из основных IRC команд, Формат: /join #channel где #channel имя канала, накоторый вы хотите войти. Так, если вы хотите подключиться к каналу #mIRC, вы должны набрать  /join #mIRC и нажать ENTER, , и мгновением позже откроется окно #mIRC. Вы на канале!

Создание нового канала

Вы можете создать новый канал, просто набрав /join #channel. Если такого канала еще нет, то сервер создаст его для вас. Если канал уже есть, вы просто войдете в него, как обычно.

Разговор в канале

Вы можете разговаривать в канале, набирая сообщения в окне канала и нажимая enter в конце каждого сообщения. Ваше сообщение посылается в канал и его видят все остальные пользователи. Хорошим тоном считается поздороваться, войдя на канал и добавить веселый смайлик :)

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

Всплывающие меню Используются во всех окнах mIRC. Просто нажмите правую кнопку мыши в окне и вы увидите соответствующее этому окну всплывающее меню. Все Всплывающие меню - настраиваемые, вы можете добавить элементы меню по своему усмотрению или удалить ненужные.

Выход с канала

Вы можете покинуть канал, нажав кнопку закрытия окна или набрав команду /part #channel.

Это еще одна основная IRC команда. Формат команды - /part #channel, где #channel - имя канала, от которого вы хотите отключиться. Если вы вводите /part без указания имени канала, вы покинете тот канал, в окне которого вы ввели команду.

Хинт: вы можете кликнуть в верхнем левом углу на иконку в любом окне mIRC чтобы увидеть Системное меню с различными полезными опциями.


Key Combinations

Комбинации клавиш

F1

Контекстно-зависимая справка. Переназначение клавиши в алиасе отменяет эту функцию.

Shift+F1

Поиск по ключевому слову. Переназначение клавиши в алиасе отменяет эту функцию.

Control+Tab

Быстрое переключение между окнами.

Shift+Tab

Переключение между строкой ввода текста и списком ников канала.

Alt+Enter

Переход на новую строку в многострочном окне ввода текста.

Control+F

В окнах status/channel/query/etc запускает поиск строки.

Control+N

Переключает последовательно окна каналов.

Control+Q

Циклы через окно привата.

Control+L

Перемещается назад к Маркеру строки.

Tab

Если окно ввода текста пустое, то печатает команду "/msg nickname". nickname – последний ник, которому посылалось сообщение.

Используйте сочетание Control+D чтобы убрать ник из списка ников клавиши Tab кто недавно посылал вам сообещние.

Примечание: Если в строке ввода текста есть что-то, то кнопка Tab работает по другому: наберите первую букву ника и нажмите Tab. mIRC сам впечатает ник полностью.

Если вы нажмете Tab когда курсор стоит на идентификаторе или переменной, значение идентификатора или переменной будет вычислено.

Также Tab работает для ников в привате, в списке оповещения и в вашей папке избранных каналов.

Можете использовать шаблоны *?.

Cursor Up/Down

Листает буфер сообщений в однострочном окне ввода текста.

Control+Cursor Up/Down

Листает буфер сообщений в многострочном окне ввода текста..

Page Up/Down

Листает страницы окна сообщений.

Control+Page Up/Down

Переходит вверх/вниз на одну строку в окне сообщений.

ESCape

Быстро минимизирует активное окно. Опция включается в настройках Другое.

Shift+Copy

Если вы хотите скопировать текст в символами конца строк, держите нажатой кнопку Shift. По умолчанию строка копируется без них.

Control+Copy

Если вы хоитте скопировать текст с контрольными кодами, держите нажатой кнопку Control.

Control+Enter

Если вы хотите послать строку текста, начинающуюся с /  и не хотите, чтобы она воспринималась как команда, нажмите кнопку Control.

Control+B/U/R/K

Вставляет контрольные коды в текст.

Alt+1...9

Комбинация этих клавиш делает активным соответствующее окно, число означает номер окна в списке Оконного меню. Если вы в desktop окне, то комбинация Alt-0 (ноль) сделает активным главное окно mIRC.

Shift+Right-Click

Вы можете прокручивать окно держа нажатой клавишу shift и кликая правой кнопкой мыши на заголовке окна.

Control+Connect

Кликая на иконку подключения держите нажатой кнопку Control и mIRC будет подключаться к следующему серверу из списка.

Shift+Connect

Кликая на иконку подключения держите нажатой кнопку Control и mIRC будет подключаться к серверу используя то же самый порт вместо произвольно выбранного.

Control+Minimize

Свернет mIRC и спросит пароль для Блокировки.

Shift+Minimize

Свернет mIRC игнорируя настройки в диалоге Трей.

Alt+Q

Показывает или прячет второе поле ввода в окне канала.

Alt+X

Расширяет активное окно.

Alt+LeftClick

Показывает или прячет все кнопки в заголовке окна статуса.

Также можете использовать комбинацию Alt+F1.

Shift+DoubleClick

Данную комбинацию вы можете использовать в Списке каналов, чтобы канал после подключения к нему, свернулся.


License AgreementDoubleC_ickх_/Де_

Лицензионное Соглашение

mIRC® v6.12 Internet Relay Chat Client

Copyright © 1995-2003 mIRC Co. Ltd.

All Rights Reserved.

mIRC является программой shareware, тоесть вы можете использовать незарегистрированную копию программы только в течение 30 дней. Если же вы решите использовать данную программу и далее, вы должны зарегистрировать ее.

mIRC можно зарегистрировать через страничку Регистрации на официальном сайте.

Если у вас есть желание использовать mIRC в коммерческих целях, то пишите на khaled@mirc.com.

Также имейте ввиду что:

mIRC является зарегистрированной торговой маркой mIRC Co. Ltd.

Значок mIRC является собственностью mIRC Co. Ltd.


List Channels

Список каналов

Диалоговое окно Список каналов предназначено для получения списка каналов, созданных на сервере IRC. Открыть окно списка каналов можно, нажав кнопку на панели инструментов или нажав Alt+L.

Get List

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

Можно указать конкретный файл для списка каналов.

Apply

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

Match text

Здесь можно ввести несколько слов для поиска в именах каналов, разделяя их запятыми. В список попадут только те каналы, в именах которых есть перечисленные вами слова. Если вы оставите это поле пустым, то в список попадут все каналы.

Match text in topics

Если опция включена, то слова для поиска, введенные в окне Match text, будут искаться в топике каналов. В список попадут только те каналы, в топике которых есть введенные слова.

Number of people on a channel

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

Lock/Unlock

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

Hide channels which match...

В этом окне вы можете ввести слова для поиска, разделяя их запятыми. Если слово из этого списка есть в имени или топике канала, этот канал исключается из списка.

Hide non-alphanumeric channels

Исключает канал из списка, если первый символ имени канала не цифра или буква.

Хинт: Дополнительные опции вы можете посмотреть в всплывающем меню при клике в окне списка каналов.


Local Info

Название вашего хоста и IP адрес необходим для нормальной работы DCC.

mIRC обычно определяет эти значения сам, но в некоторых случаях ему это не удается.

Если вы видите сообщение Unable to resolve Local host или не можете запустить DCC сессию, то необходимо заполнить эти поля вручную.

Local Host

Это значение используется для входа на IRC сервер и обычно представляет собой часть вашего e-mail адреса после символа @. Если, например, ваш почтовый адрес user@mail.ru, то вы должны вписать здесь строку mail.ru. Это относится только к постоянно закрепленным адресам. Если ваш провайдер использует динамическое предоставление IP, то эту строчку заполнять не надо!

IP Address

Поле обычно заполняется mIRC и не требует ручного ввода. Если вы работаете с постоянным IP адресом, впишите его тут, это ускорит загрузку mIRC. Адрес сохраняется в файле mirc.ini.

Если вы ввели IP адрес, то mIRC считает, что вы сделали это правильно. Если введенное значение ошибочно, вы сможете работать в IRC, но не сможете сами запускать DCC Send/Chat сессии.

On connect, always get...

Эти опции введены, т.к. существует несколько разных типов подключения к Интернет. У кого-то есть фиксированное имя хоста и IP адреса, некоторые используют динамическое назначение имени хоста, некоторые - динамический IP адрес. Если вы не уверены, что и как у вас назначается, отметьте оба пункта в этой группе.

Выбор Always get Local Host автоматически включает опцию Always get IP address.

Lookup Method

Если вы обнаружили, что mIRC не может получить ваш IP адрес, попробуйте поменять значение в этой группе с Normal на Server или наоборот. Это может решить проблему определения IP адреса.

Метод Normal - mIRC используете вызовы winsock для получения информации.

Метод Server - mIRC определяет имя вашего хоста через IRC сервер, затем выполняет команду /dns для получения IP адреса. Этот метод несколько замедляет работу программы.

Примечание: Не трогайте ничего в этом окне, если у вас все работает без ошибок.


Lock

Вы можете заблокировать различные функции в mIRC.

Ask for Password

Если данная опция включена, и вы установили пароль через кнопку Lock, то при каждом запуске mIRC будет запрашивать пароль.

The Lock Button

Установить пароль.

Примечание: Если держа нажатой кнопку Control вы свернете mIRC, то при востановлении у вас будет запрошен пароль. Если же вы тоже самое проделаете не установив пароль, то mIRC запросит у вас временный пароль.

Disable...

Отключить функции имеющие отношение к получению/отправлению файлов и к Файл-серверу.

Также вы можете отключить private messages и dcc chats.

Disable commands

Отключить команды /run, /dll, и /com. Эти команды служат для выполнения скриптов. Так как скрипты могут нанести вред вашему компьютеру, то существует возможность отключения этих команд. Смотрите секцию Прием файлов.

Limit channels...

Ограничение максимального количества подключаемых каналов. mIRC будет подключаться только к тем каналам, которые указаны в этом списке. Также mIRC будет показывать только эти каналы в Списке каналов.

Hide tray menu...

Скрывает список каналов/приватов, когда mIRC свернут.


Logging

Автоматически записывает протокол всех каналов и приватных бесед, в которых вы находитесь.

Automatically log...

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

Channel 	Запись лога каналов
Chat	 	Запись лога приватных чатов

Reload logs

Автоматическая перезагрузка логов в окно, если они существуют.

Timestamp logs

Указывать время перед каждым сообщением заносимым в лог.

Strip codes

Указание mIRC-у отбрасывать все выделения текста (Bold, Underline, Reverse, Colour) и не записывать их в файл протокола.

Lock log files

Блокировка файла во время ведения лога. Файл будет заблокирован до тех пор, пока вы не покинете канал или чат.

Trim log files

Ограничение максимального размера файла-протокола. Старые сообщения будут удаляться из файла при достижении указанного размера.

Include network

If turned on, the name of irc network is included in the log filename.

If you enable the make folder option, a separate logs folder is created for each unique network that you use.

Date filenames

mIRC добавит к имени канала или пользователя текущую дату (например: #cracks_990210.log) Удобно для создания архива логов.

Вы можете выбрать какая именно дата будет добавляться к названию файла. Если понедельная, то лог файлы будут начинаться с дней 1, 7, 14 и 21. Если же помесячная, то лог файлы начинаться будут с первого дня этого месяца.

Если включите опцию except status,  лог файлы окна статуса не будут датироваться.

View logs

Здесь вы можете посмотреть существующие файлы протоколов (кнопка View) или удалить файл, если он не нужен (кнопка Delete).

Logs and Buffer saves folder

Директория, где хранятся файлы протоколов.


Long File Names

Long File Names With.Spaces In Them

Не все клиенты IRC в состоянии воспринять длинные имена файлов с пробелами и правильно интерпретировать следующее DCC Send сообщение:

PRIVMSG nick :DCC SEND This is a long file name with.spaces in it ipaddress port filesize

Если вы отметите опцию Fill Spaces, mIRC, при формировании команды передачи, заменит пробелы в имени файла на подчерк "_", который в большинстве случаев будет воспринят нормально другим клиентом. В результате команда приобретет такой вид::

PRIVMSG nick :DCC SEND This_is_a_long_file_name_with.spaces_in_it ipaddress port filesize

Если опция Fill Spaces не включена, mIRC заключит длинное имя файла в кавычки. Например:

PRIVMSG nick :DCC SEND "This is a long file name with.spaces in it" ipaddress port filesize

Только mIRC версий 3.8 и выше использует такой формат передачи сообщения. Другие клиенты IRC скорее всего не смогут корректно обработать это сообщение.


Messages

Timestamp events

Вставлять время и дату перед различными типами событий, используя формат идентификатора $asctime().

Strip codes

Блокирует отмеченные Control Codes во входящих сообщениях.

Only if the number of codes exceeds...

Опция strip codes будет задействована только если содержание контрольных кодов в собщении превысит указанное число.

Ctcp finger reply

Ответное сообщение на запрос /ctcp finger.

Quit message

Сообщение, показываемое когда вы завершаете сеанс mIRC.

SJIS/JIS Conversion

Для японских систем. Преобразует сообщения SJIS в JIS и обратно.

Multibyte characters

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

Process ANSI codes

Если опция включена, mIRC преобразует встреченные в сообщениях цветовые коды ANSI в свои цветовые коды.


mIRC Commands (a to o)

Команды mIRC

Команды существующие только в mIRC, однако некоторые из них являются модификациями или расширениями стандартных IRC команд.

Примечание: Полный список команд в секции Search.

/ajinvite [on | off]

Включает/выключает режим auto-join on invite (вход в канал при приглашении).

/alias [filename] <aliasname> <command>

Команда добавляет, удаляет или заменяет алиасы. Создает только однострочные алиасы. Например:

/alias /moo /me moos!

Добавляет алиас /moo в начало списка алиасов.

Для удаления алиаса введите:

/alias /moo

Добавляет алиас в указанный файл алиасов:

/alias moo.txt /moo /me moos!

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

/amsg <message>

Эта и /ame команды посылают сообщение или action во все каналы, к которым вы подключены.

/anick <nickname>

Изменяет ваш альтернативный ник.

/background [-aemsgdluhcfnrtpx] [window] [filename]

Смена фона окна. Также фон можно поменять через Системное меню.

-a       активное окно
-m      главное окно mIRC
-s       окно статуса
-g       окно finger
-d       окно приватной беседы
-e       установить по умолчанию

-cfnrtp   центровка, заполнение, нормальное изображение, растянуть, мозаика, фотография.

-l     панель инструментов
-u    кнопки на панели инструментов
-h    панель переключения окон

Всплывающие окно настроек для панели инструментов и панели переключения окон вызывается правым кликом на соответствующей панели. Самодельные кнопки на панели инструментов могут использовать RGB 255,0,255 для прозрачности, BMP файл для образа кнопки должен быть в том же формате, что и ресурсы mIRC,  (16-и или 256-и цветные BMP).

-x  нет фонового изображения

Note: Имя окна должно быть указано, если Вы не указали никаких ключей. Имя файла можно не определять, если Вы хотите поменять не сам фон, а режим изображения.

/ban [-kruN] [#channel] <nickname|address> [type]

Банит пользователя на канале, используя его адрес. Вызывает команду /userhost для получения адреса пользователя, затем выполняет команду /mode # +b <user address>.

Опция -k выполняет сразу и бан и кик пользователя.

Опция -uN определяет задержку в секундах перед удалением бана.

Опция -r - снятие бана для введенного ника, например /ban -r nick 2

Если не определен [type], mIRC использует маску nick!*user@host.domain. Если вы баните IP адрес, последнее число в нем заменяется на шаблон (*). Если вы баните пользователя, находясь с ним на одном канала, определять параметр #channel не обязательно.

Если Вы указали шаблон адреса, то он используется как есть, если указали полный адрес, то на него накладывается указанная маска.

Список типов банов находиться в описании идентификатора $mask в секции Идентификаторы.

Примечание: Команда использует Внутренний список адресов.

/beep <number> <delay>

Бипает number раз с задержкой delay.

/channel [#channel]

Открывает всплывающее окно канала (только на канале). Вы также можете указать #channel для канала к которому вы подключены, но он не активен.

/clear [-sghlc] [windowname]

Очищает буфер текущего окна. Можно ввести имя окна в качестве параметра.

-s - очистка окна статуса.
-g - очистка окна finger.
-l -  очистка окна side-listbox в пользовательском окне.

-c - очистка окна истории кликов в графическом окне.

-h - очистка списка истории команд окна ввода текста.

/clearall [-snqmtgu]

Очищает буфер указанного окна, где s = статус, n = канал, q = приват, m = окно сообщений, t = чат, g = фингер, u = пользовательское окно.

Если ключи не указаны, очищает буфер всех окон.

/clipboard [-an] <text>

Копирует строку в буфер обмена. Ключ -a перезаписывает строку находящуюся в буфере. Ключ -n добавляет $crlf в текст.

/close [-icfgms@] [nick1] ... [nickN]

Закрывает все окна указанного типа и ника. Если нет ника (ников), закрывает все окна указанного типа. Типы:

c - окна DCC Chat,
f - окна файл-сервера
g - окна DCC Get,
i - неактивные окна DCC,
m - окна привата
s - окна DCC Send.
@ - другие окна

Вы можете указать номер окна - N, например: /close -s4 nick, закроется четвертое окно DCC чата с этим ником.

Также вы можете использоватьa шаблон для имени канала или для всех окон.

/color [-lrs] <name> <index>

Настройка цветов как в секции Настройка цветов.

Ключ -l обновляет настройки цветов из файла mirc.ini.

Ключ -r сбрасывает N-ый цвет  16-цветной палитре в значение RGB по умолчанию, в виде /color -r <N>. Для того чтобы изменить N-ый цвет в 16-цветной палитре на новое значение, используйте команду /color <index> <rgb>

Для изменения цвета элемента текста в настройках цветов, вы должны указать имя элемента, например: Normal text, вместе с новым индексом палитры.

Ключ -s имзеняет текущую схему в виде /color -s <имя схемы>

/copy -ao <filename> <filename>

Копирует файл в другой файл или в другую директорию. Можно использовать шаблон для файла-источника,  u имя директории для файла-приемника. Опция -o разрешает перезапись файла, если он существует, ключ  -a используется для склеивания файлов (первый файл добавляется в конец второго).

/creq [+m|-m] [ask | auto | ignore]

Настройка ответа на запрос DCC Chat (смотрите команду  /sreq).

Опция [+m|-m] определяет статус окна (минимизировано или нет).

/ctcpreply <nick> <ctcp> [message]

Посылает ответ на CTCP запрос.

/ctcpreply goat HELP no help available.

/debug [-cinpt] [N] [on | off | @window | filename] [identifier]

Пишет входящие и исходящие сообщения сервера (raw) в файл debug.log или в пользовательское окно.

/debug -n @moo, откроет пользовательское окно свернутым

/debug -c off, отключает процесс отладки и закрывает все связанные с ним окна

/debug -pt, добавляет перед сообщениями текущее время

/debug N @moo, использует цвет N для сообщений

Ключ -i вызывает указанный идентификатор до того как строка отладки будет записана в лог файл. Возвращает значение идентификатора использованного как строка отладки.

Идентификатор $debug возвращает имя файла отладки или пользовательского окна.

Примечание: команда /debug работает независимо для каждого подключенного сервера.

/describe <nick|channel> <message>

Аналогична команде /me, но существует возможность указать адресат в виде ника или канала.

/disconnect

Немедленное отключение от сервера, в отличие от команды /quit, которая посылает сообщение QUIT на сервер и ждет, пока сервер не разорвет соединение.

/dll <name.dll> <procname> [data]

Позволяет вам вызывать routines в DLL созданных для mIRC.

/dns [-ch] [nick|address]

Получение адреса/имени хоста. Если в введенном имени есть символы "." (точка), то считается, что введен адрес. В противном случае считается, что введен ник и вызывается команда /userhost для определения адреса пользователя. Если введен IP адрес, возвращается имя хоста.

Опция  -c сбрасывает текущий DNS запрос.

Опция  -h указание команде /dns использовать параметр как имя хоста (не как  IP адрес).

Примечание: Если первый запрос DNS не выполнился, то последующий будет находится в ожидании выполнения первого.

/dqwindow [on|off|show|hide|min]

Управление окном приватного чата (query). Включить-выключить-показать-спрятать-минимизировать.

/ebeeps [on | off]

Включает/выключает звук в Настройках звука.

/echo [color] [-cdeghiNtsaqlbfnmr] [color name] [#channel|[=]nick] <text>

Печатает текст указанного цвета (0-15) в окне.

/echo 3 #mIRC Testing

напечатает Testing зеленым цветом в окне канала #mIRC.

Для печати в окне статуса используется опция -s (если не указан канал/ник),  для печати в активном окне - опция –a, для печати в едином окне сообщений - опция -d.

Опция -e - строка текста выводится с разделителями линий (line separators).
Опция -iN - добавляет N пробелов перед строкой текста.
Опция -h - жестко ставит строку, изменение размеров окна не меняет строку (строка не складывается)

Опция -t - каждая строка текста будет предваряться строкой текущего времени.

Опция -q - не отображает текст вызванный из алиаса используя перфикс “.”

Опция -l - применяет подстветку к отображаемой строке.

Опция -bf - делает возможным бипание/мигание.

Опция -n – предотвращает подсветку окна в котором выполняется команда echo.

Опция -m - определяет строку как сообщение пользователя, но не как событие.

Опция -g - не дает строке записаться в лог файл.

Опция -r - использует опции вырезания в Настройках сообщений.

Опция -c - использует указанное имя цвета.

Примечание: Этот текст отображается только в вашем окне и не посылается серверу.

/editbox [-safnop|[=]window] <text>

Вставляет указанный текст в окно ввода текста (editbox).

Опция -s для ввода в окно Status.
Опция -a для ввода в активное окно.
Опция -f для установки фокуса на окно ввода.

Опция -p для добавления пробела в конец текста.

Опция -n заполняет окно ввода и нажимает клавишу enter.

Опция -o выполняет команду во втором окне ввода в окне канала.

Чтобы указать окно dcc chat, поставьте символ = перед ником.

/emailaddr <address>

Изменить email адрес в окне Connect.

/exit

Отключение и выход из программы.

/filter [-asdfwxnpriocteubglLz] [n-n2] [c s] <infile | dialog id> <outfile | dialog id> [alias] <matchtext>

Команда сканирует окно или файл на наличие указанного текста и записывает его в файл или другое окно.

infile может быть именем файла или именем окна (специальным и обычным).
outfile может быть именем файла или специальным именем окна.

Вы должны указывать ключи  -f и w, если имена окна и файла похожи.

/filter -ff in.txt out.txt *mirc*

Оба параметра - имена файлов

/filter -wf #in.txt #out.txt *help*

Первый параметр - имя окна, второй - имя файла.

Ключ -a сортирует фильтрованные строки вызывая [alias]. Алиас проходит две строки $1 и $2, которые должны сравниваться и возвратить -1, 0 или 1 для того чтобы указать относительный прядок сортировки этих строк друг к другу.

Опция  -x исключает найденные линии.
Опция  -n ставит номера линий.
Опция  -s использовать окно status  как infile.
Опция  -d использовать выделенное окно сообщений как infile.
Опция  -p перенос длинных строк в специальном окне.
Опция  -r включает диапазон строк для обработки (с N по N2).

Опция  -b вырезает Контрольные коды из подходящего текста.

Опция  -g указывает что текст является регулярным выражением.

Опция  -z сохраняет цвета строк при фильтрации между пользовательскими окнами.

Опция  -i указывает, что вы определили [dialog id] диалогового окна как вход.

Опция  -o указывает, что вы определили [dialog id] диалогового окна как выход

Опция  -c очищает выходящее окно/файл до записи в него.

Опция  -t сортитрует выходящее основанное на [c s], где колонка C с символом S, который является разделителем колонок.

Опция  -e “спускающаяся” сортировка, а -u – числовая сортировка.

Опция  -l фильтрует из side-listbox в первом окне, а -L фильтрует в side-listbox во втором окне.

Вы можете фильтровать пустые строки указав $crlf для текста.

Команда присваивает значение идентификатору $filtered (количество найденных строк).

Note: Если выход и вход одинаковы, mIRC обработает запрос корректно.

/findtext -n <text>

Поиск в активном окне указанного текста (аналогично Control+F).

/flash [-wbrN] [window] <text>

Окно или иконка mIRC мигает, когда указанный текст появляется в заголовке главного окна mIRC и приложение в этот момент не активно.

Опция -b - mIRC бипает каждую секунду.
Опция -w  - mIRC играет мелодию, определенную в секции Event Beeps.

Опция -rN - mIRC повторяет мигание только N раз.

/flushini <filename>

Флашит (сохраняет) указанный INI файл на диск. INI файлы кэшируются в памяти и для сохранения изменений необходимо регулярно сохранять файл на диск.

/font [-asgbd|window] <fontsize> <fontname>

Изменение фонта для текущего окна. Вызов без параметров вызывает диалоговое окно выбора фонта.

-s - для окна статуса
-b - жирный текст (bold)

-a - для активного окна

-g - для фингер окна.

Ключ -d назначает шрифт по умолчанию для этого типа окна, для всех каналов или для всех чатов.

/fullname <name>

Изменить полное имя.

/help [keyword]

Открывает секцию файла помощи mIRC соответствующую указанному слову.

/hop [-cn] [#channel] [message]

Покинуть и зайти на канал. Если канала не указано, то команда выполняется в активном окне не закрывая его.

Ключ -c указывает количество повторов команды.

Ключ -n сворачивает окно канала.

/join [-inx] <#channel>

Подключение к каналу.

Опция -i  - вход на канал, куда Вы были приглашены.
Опции -n и -x минимизируют/максимизируют окно канала после подключения.

/linesep [-s|window]

Печатает в окне разделитель линии.

/links [-nx]

Запрашивает и выводит на экран список подключенных в сеть IRC серверов.

Ключи -n и -x минимизируют/максимизируют окно.

/load <-a|-pscqnm|-ruvsN> <filename>

Загружает указанный алиас, всплывающее окно или скрипт.

/load -a aliases.ini 	загружает файл алиасов
/load -pc status.ini 	загружает файл всплывающего окна канала
/load -pn status.ini 	загружает файл всплывающего окна списка ников канала
/load -ru users.ini   	загружает файл пользователей
/load -rv vars.ini    	загружает файл переменных
/load -rs script.ini   	загружает файл скрипта

Если вы попытаетесь загрузить уже загруженный файл, то он обновится.

Вы можете перегрузить файл командой /reload с теми же параметрами без вызова события  on start/load.

Если указажете N в команде /load -rsN, скрипт перезагрузится в N-ую позицию списка.

Примечание: Вы можете загрузить только одну секцию одной командой.

/loadbuf [lines] [-pirsgleopcnmNt<topic>] <window | dialog id> <filename>

Загружает в окно window указанное количество строк [lines] из файла filename.

/loadbuf 20 @test info.txt

Загружает последние 20 строк из файла info.txt в окно @test.

/loadbuf 10-40 @test info.txt

Загружает строки с 20 по 40 из файла info.txt в окно @test.

Опция -p перенос длинных строк.
Опция -i сохраняет отступы даже если они перенесены, так как не влезают в окно.

Опция -r очищает содержимое выводимого окна.

Опции -s и -g  - загрузка в окна статуса и фингера.

Опция -l  - загрузка в side-listbox в специальном окне.
Опция -e  - вычисление переменных и идентификаторов в прочитанной строке.
Опция -cN  - определение фона текста по умолчанию.

Ключ -n записывает загруженный текст в лог файл, если запись в лог для этого окна включена. Ключ -m указывает что к тексту добавлено время.

Ключ -t загружает текст под секцией [topic] в файле INI или обычный текстовый файл.

Ключ -o указывает что вы определили параметр [dialog id] вместо имени окна для того, чтобы загрузить текст в диалоговое окно.

/localinfo -uh [host ip]

Looks up and sets your local info settings. The -u switch performs a /userhost lookup, the -h switch does a normal lookup. If you wish, you can also set the local info manually by specifying the host and ip values.

/log <on|off> <window> [-f filename]

Включает/выключает протокол для указанного окна. Если указать имя файла, то диалоговое окно Log не появляется.

/mdi -act

Расстановка иконок, управление расположением окон (cascade/tile).

/mkdir <dirname>

Создает директорию.

/nick <nickname>

Смена основного ника.

/omsg [#channel] <message>

Эта команда и команда /onotice посылают сообщение всем операторам канала. Подразумевается, что вы имеете статус оператора. Если #channel не указан, используется текущий канал.

Команды от P до Z


mIRC Commands (p to z)

Команды mIRC

Команды существующие только в mIRC, однако некоторые из них являются модификациями или расширениями стандартных IRC команд.

Примечание: Полный список команд в секции Search.

/partall [message]

Отключение от всех каналов. На многих IRC серверах можно добавить сообщение.

/pdcc [on | off]

Ускорение отправления DCC.

/perform [on|off]

Включает/выключает систему автовыполнения -  Perform.

/play [-escpbn q# m# f# rl# t#] [channel/nick/stop] <filename> [delay]

Выводит текст из файла на канал, в приват. Смотрите секцию plays.

/pop <delay> [#channel] <nickname>

Оп пользователю с задержкой. .

mIRC выполняет задержку <delay> в секундах перед присвоением статуса оператора. Если <delay> ноль, то Оп дается сразу. Если пользователь за время задержки уже получил Опа, команда не выполняется. Если не указан канал, подразумевается текущий.

/pvoice <delay> [#channel] <nickname>

Работает аналогично команде /pop, за исключением того, что дает не оп а войс.

/qmsg <message>

Эта команда и /qme посылают указанное сообщение или действие во все открытые окна привата.

/query [-n] <nick> [message]

Посылка приватного сообщения пользователю с открытием приватного окна.

Если указан ключ -n окно откроется и сразу свернется.

/queryrn <nick> <newnick>

Меняет ник в открытом окне привата.

/raw [-q] <command>

Посылает номерную команду на сервер. Форматы команд описаны в RFC. Применяется для посылки команд, которые не поддерживаются mIRC . Опция -q подавляет вывод команды на экран.

/raw PRIVMSG nickname :Hellooo there!

/remini <inifile> <section> [item]

Удаляет секцию или строку из INI файла.

/remini my.ini DDE ServerStatus

Удаляет элемент ServerStatus

/remini my.ini DDE

Удаляет секцию DDE.

Смотрите команду /writeini.

Внимание: Не применяйте эту команду к файлам, которые в данный момент используются mIRC.

/remove [-b] <filename>

Удаляет указанный файл.

Если указан ключ -b происходит перемещение удаленного файла в корзину.

/rename <filename> <newfilename>

Переименование файла, или перемещение его в другую директорию.

/resetidle [seconds]

Обнуление или установка в указанное значение идентификатора $idle.

/rmdir <dirname>

Удаление директории.

Примечание: Если в директории находятся файлы, она не будет удалена.

/run [-np] <filename> [parameters]

Запускает указанную программу filename с параметрами [parameters].

Ключ -n минимизирует окно программы после запуска.

Ключ -p устанавливает рабочий путь к запущенной программе.

Если указан неисполняемый файл, mIRC ищет программу, ассоциированную с расширением файла..

/save <-pscqnm|-ruv> <filename>

Сохраняет указанный файл всплывающего окна или файл пользователей/переменных.

/save -ps status.ini	сохраняет всплывающее окно для окна статуса в файле status.ini

/save -pn nick.ini	сохраняет всплывающее окно для окна списка ников канала в файле nick.ini

/save -ru users.ini	сохраняет список пользователей в файле users.ini

/save -rv vars.ini	сохраняет список переменных в файле vars.ini

Примечание: Только одна секция может сохраняться одновременно.

/savebuf [-sgao] [lines] <window | dialog id> <filename>

Сохраняет указанное количество строк от конца буфера указанного окна в указанный файл.

/savebuf 20 @test info.txt

Сохранит последние 20 строк из окна @test в файл info.txt.

/savebuf 10-40 @test info.txt

Сохранит строки с 10 по 40 из окна @test в файл info.txt.

-s – сохранит в буфер окна статуса, -g – в буфер окна фингера и -a – добавит текст в конец файла.

Ключ -o указывает что вы определили параметр [dialog id] вместо имени окна для того, чтобы загрузить текст в диалоговое окно.

/saveini

Обновление всех INI файлов текущими установками.

/say <message>

Псевдоалиас для посылки сообщения непосредственно в канал. Команда "/say Hello there" то же, самое, что напечатанный в окне канала текст  "Hello there". Используется в основном в алиасах.

/info /say Ушел на обед!

Примечание: Команду нельзя использовать в секции  remote. Используйте команду /msg #channel <message>.

/server [-mnsarpfoc] <server/groupname> [port] [password] [-i nick anick email name] [-jn #channel pass]

Команда подключения к серверу IRC. Если Вы уже подключены к серверу, сначала происходит отключение.

/server irc.undernet.org 6667 mypassword

Если напечатать /server без параметров, mIRC подключится к последнему использованному серверу.

Можно вызвать команду в виде /server N, где N - номер сервера в списке серверов.

Также можно вызвать команду в виде /server groupname. В этом случае mIRC поочередно перебирает все сервера в группе до тех пор, пока не подключится к одному из них.

Ключ -m создает новое окно статуса для этого подключения и осуществляет подключение к серверу. Ключ -n делает тоже самое что и предыдущий, но не подключает к серверу.

Ключи -pfoc предотвращают автовыполнение, всплывание папки избранных каналов, автоподключение к каналам и события on connect соответственно, при подключении к серверу.

Если вы определите одну из опций -sar,  формат команды изменится:

/server -sar [server] [-p port] [-g group] [-w password] [-d description]

  -s сортировка списка серверов
  -a добавление или обновление сервера
  -r удаление сервера

mIRC пробует найти соответствие адреса или описания сервера в списке серверов. Также вы можете ничего не указывать для сброса  -g -w и -d опций.

/showmirc -mnrstxop

Управление главным окном mIRC.

Где -n = минимизировать, -r = восстановить, -s = показать, -t = поместить в tray, -x = развернуть на весь экран, -o = расположить поверх остальных окон, -p = отменить расположение поверх всех окон, -m = минимизировать согласно настройкам tray.

/sline [-a|r] <#channel> <N|nick>

Отметить или снять отметку со строк в списке ников канала. Выбор по номеру (N-ый) или по нику.

Если выполнить без параметров, все отметки снимаются.

Опция -a - добавление или снятие отметки без влияния на другие строки.

Опция -r - снятие отметки.

/speak <text>

Команда посылает указанный текст в программу Monologue (или Text Assist), которая проговаривает этот текст.

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

/splay [-cwmpq] <filename>

Проигрывает указанный  .wav или  .mid файл, смотрите секцию Playing Sounds.

/sreq [+m|-m] [ask | auto | ignore]

Команда дублирует настройки  DCC Send request в DCC options dialog (смотри /creq выше).

Опция +m|-m - минимизировать окно или восстановить.

/strip [+-burc]

Включает/выключает обработку контрольных кодов выделения текста. Смотри Options dialog.

/strip +bur-c

включает отсечение bold, underline, reverse, и пропускает цветной текст.

/timer[N/name] [-ceomhipr] [time] <repetitions> <interval> <command>

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

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

Если вы запустили таймер, будучи подключенным к серверу, таймер запуститься как online и будет сброшен  после отключения от сервера. Опция -o запускает таймер в режиме offline.

/timer1 0 20 /ame is AWAY!

Timer1 будет посылать сообщение во все каналы через каждые 20 секунд до тех пор, пока вы не остановите таймер.

Если вы укажете задержку равной  0 секунд, таймер задействуется сразу после окончания выполнения скрипта.

/timer5 10 60 /msg #games For more info on the latest games do /msg GaMeBoT info

Timer5 будет посылать сообщение в канал и остановится после 10-и сообщений.

/timer9 14:30 1 1 /say It's now 2:30pm

Таймер ждет наступления указанного времени и по его наступлении посылает одно сообщение.

Посмотреть список активных таймеров можно командой /timers.

Для просмотра настроек timer1 наберите  /timer1.

Для принудительного отключения наберите /timer1 off.

Для отключения всех таймеров используется команда  /timers off.

Если вам не нужно определять номер таймера, введите команду:

/timer 10 20 /ame I'm not here!

mIRC выделит первый свободный номер для таймера..

Опция -c отслеживает неизбежные системные задержки и предотвращает повторный запуск команды, если накопленная разница равна указанному интервалу.

Опции -m и –h указывают, что интервал введен в миллисекундах.

Примечание: Миллисекундные таймеры могут существенно замедлить работу программы, поэтому постарайтесь не использовать из без особой необходимости.

Опция -e - выполнить команду, связанную с указанным именем таймера. Можно использовать шаблоны.

Идентификатор $ltimer возвращает количество запущенных командой /timer таймеров.

Помимо использования номера таймера, Вы можете определить имя для него.

/timershow 0 10 echo -a $nick $server $time

Вы можете принудительно пересчитать идентификаторы, используемые в команде  /timer, используя формат  $!me или $!time.

Если вы хотите отключить несколько таймеров, можно использовать маску:

/timer3? off

Команда отключит таймеры с 30 по 39.

Опции -pr поставят на паузу и возобновят таймер соответственно.

Ключ -i динамически ассоциирует таймер с активным соединением. Если окно сервера закрывается, таймер ассоциируется со следующим доступным окном сервера.

/timestamp [-fs|a|e] [on|off|default] [windowname]

Включает/выключает временную отметку для событий. Если вы укажете default, будут задействованы глобальные установки timestamp.

-s = для окна status
-a = для активного окна
-e = для каждого окна

Если имя окна не указано,  включает/выключает общий режим для всех окон.

Ключ -f позволяет установить формат timestamp, в виде /timestamp -f [HH:nn]

/titlebar [@window] <text>

Выводит текст в заголовке главного окна программы. Можно указать имя пользовательского окна @window.

/tnick <nickname>

Изменить ник на временный, не изменяя главный или альтернативный.

/tokenize <c> <text>

Присвоить идентификаторам $1 $2 ... $N токены <text> разделенные символами <c>, например:

/tokenize 44 a,b c,d,e

Результат команды: $1 = a, $2 = b c, $3 = d, $4 = e

/unload <-a|-nrs> <filename>

Выгружает указанный INI файл алиасов или скриптов.

/unload -a aliases.ini	выгружает файл alias.ini

/unload -rs script.ini	выгружает файл script.ini

Ключ -n предотвращает выполнение события on unload.

Примечание: можно выгружать только одну секцию одновременно.

/updatenl

Обновляет список ников канала и Внутренний список адресов для событий kick/part/quit.

/url [on | off | show | hide | -dran] [[N | mark ] | address]

Открывает окно списка URL.

Ключ -r удаляет N-ый элемент или все элементы соответствующие mark.

Ключи -an позволяют вам открыть окно браузера с адресом, где -a = в активном окне браузера, и -n = в новом окне браузера.

/winhelp <filename> [key]

Открывает окно help с указанным ключевым словом.

/write [-cidna l# s# w# r#] <filename> [text]

Запись текста в файл. Например:

/write store.txt Эта строка будет добавлена в файл store.txt

Опция  -c  - очистка файла перед записью.

/write -c c:\info.txt Файл будет очищен и в него будет добавлена эта строка

Опция  -l# определяет номер строки, куда будет записан текст. Если номер не указан, текст добавляется в конец файла.

/write -l5 c:\info.txt Перезапишет 5-ую строку в файле

Опция -i указывает, что текст должен быть вставлен в указанную позицию, не затирая ранее введенного текста. Если текст не указан, в файл запишется пустая строка. Если не указан номер строки, пустая строка добавляется в конец файла.

/write -il5 c:\info.txt Эта строка будет вставлена в 5-ю строку файла

Опция -d удаляет строку текста из файла. Если не указан номер строки, удаляется последняя строка в файле.

/write -dl5 c:\info.txt

Команда удалит 5-ю строку в файле.

Опция -s# используется для поиска строки, начинающейся с указанного текста.

/write -dstest c:\info.txt

Ищет строку, начинающуюся с  test в файле info.txt и удаляет ее, если найдет.

Ключ -w# сканирует файл содержащий определенный текст и выполняет операцию на этой строке. Ключ -r# подразумевает соответствие regex.

Примечание: Вы можете заключить текст в кавычки, если он содержит пробелы.

Опция  -a указывает, что mIRC должен добавить строку текста к указанной строке существующего текста.

Ключ -n предотвращает добавление $crlf в конец текста.

Примечание: Нельзя использовать команду для записи в INI файлы. Возможно повреждение INI файла.

/writeini -n <inifile> <section> <item> <value>

Команда для записи информации и настроек в формате  INI файлов.

-n - запись в INI файлы с размером больше 64K.

Например, в файле mirc.ini есть такие строчки:

[DDE]

ServerStatus=on

ServiceName=mirc

Следующие команды запишут эти строки в секцию DDE файла mirc.ini:

/writeini my.ini DDE ServerStatus on

/writeini my.ini DDE ServiceName mirc

Вы можете удалить секцию целиком, используя команду /remini.

Внимание: Не используйте эту команду на файлах, которые использует mIRC во время работы.

Команды от A до O


Mouse

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

Например, для списка ников на канале вы можете ввести:

/query $1

теперь при двойном клике на нике, откроется окно привата с этим пользователем.


Multi-Server___?T_y

Multi-server

mIRC позволяет вам подключиться к более чем одному серверу одновременно. Поэтому скрипты надо делать так, чтобы они правильно срабатывали, если пользователь подключается не к одному, а к нескольким серверам. Следующие команды и идентификаторы позволяют вам управлять несколькими серверными подключениями.

Идентификаторы

Каждому новому окну сервера назначается  id подключения.

Каждое вновь созданное окно привата или канала, ассоциируется с id подключения того сервера, где оно было открыто.

$cid

Возвращает id подключения сервера.

Некоторые идентификаторы окон имеют свой собственный аналог id подключения, такой как $activecid и $lactivecid.

Большинство окон связанных идентификаторами также имеют параметр .cid.

$scid(N)[.id]

Возвращает id подключения, где N - значение $cid.

Если N = 0, возвращает общее количество открытых окон серверов.

Если вы определите параметр как идентификатор, оно возвратит значение этого идентификатора для данного подключения.

Примечание: Параметр не заключается в скобки.

$scon(N)[.id]

Возвращает id подключения, где N является N-ым подключением.

Если N = 0, возвращает общее количество открытых окон серверов.

Если вы определите параметр как идентификатор, оно возвратит значение этого идентификатора для данного подключения.

Примечание: Параметр не заключается в скобки.

Команды

/scid <-rsatM | N> [command]

Меняет активное подключение на N-ый id подключения, где N - значение $cid.

Все команды после команды /scid будут выполнены в новом id подключения.

Ключ -r сбрасывает id подключения в первоначальное состояние.

Если вы определите командный параметр, id подключения установится только для этой команды.

Команда /scon работает аналогично, но N означает N-ое подключение, а не значение id подключения.

Ключи -a и -tM могут быть использованы только при указании команды.

Ключ -a выполняет команду на всех подключениях.

Ключи -tM позволяют выполнение команды только на серверах с определенным статусом подключения, где M может быть 1 = был подключен к серверу, 2 = не был подключен к серверу, 4 = подключен к серверу, 8 = не подключен к серверу. Эта команда выполняется только если M соответствует статусу id подключения.

-s – показывает результаты вызова команд и идентификаторов.

Примечание: Если вы используете команду содержащую идентификаторы и хотите чтобы они были задействованы в конкретном подключении, вы должны их указать в таком виде - $!идентификатор, чтобы они не сработали первыми в текущем подключении.


Nick and Address Identifiers

Идентификаторы ников и адресов

$address(nickname,type)

Проверяет Internal Address List на наличие адреса, соответствующего указанному нику.

$address(nick,1) возвращает *!*user@host

Если в Internal Address List нет такого ника, то возвращается $null.

Типы списков перечислены в описании $mask().

$anick

Возвращает ваш альтернативный ник.

$comchan(nick,N)

Возвращает имя каналов, где есть вы и пользователь nick

Свойства: op, help, voice,

$comchan(nick,0)	общее количество каналов, где есть вы и пользователь nick

$comchan(nick,1)	имя первого канала, где есть вы и пользователь nick

$comchan(nick,1).op	true, если вы оператор на канале

$ial(nick/mask,N)

Возвращает N-ый адрес, подходящий под маску во Внутреннем списке адресов.

$ialchan(nick/mask,#,N)

Возвращает N-ый адрес указанного канала, подходящий под маску во Внутреннем списке адресов.

Свойства: pnick

$ibl(#channel,N)

Возвращает N-ый элемент из Internal Ban List, или если N = 0, возвращает общее количество элементов в списке.

Свойства: by, date, ctime

$ibl(#mirc,1)	возвращает первый адрес в списке банов

$ibl(#mirc,1).by	возвращает адрес пользователя поставившего бан

$ibl(#mirc,1).date	возвращает дату установки бана

$ibl(#mirc,1).ctime	возвращает время бана в формате $ctime

Примечание: Смотрите идентификатор $chan().

$level(address)

Находит указанный адрес в списке пользователей и возвращает список уровней доступа.

$level(*!*@mirc.com) возвращает =5,10,20,21,32

$link(N)

Возвращает N-ую строчку из окна Server Links (список серверов).

Свойства: addr, ip, level, info

$link(0) количество серверов в списке Links

$link(1) адрес N-го сервера из списка Links

$mask(address,type)

Возвращает адрес в соответствии с указанной маской.

$mask(nick!khaled@mirc.com,1)  возвращает *!*khaled@mirc.com

$mask(nick!khaled@mirc.com,2)  возвращает *!*@mirc.com

Типы масок:

  0: *!user@host

  1: *!*user@host

  2: *!*@host

  3: *!*user@*.host

  4: *!*@*.host

  5: nick!user@host

  6: nick!*user@host

  7: nick!*@host

  8: nick!*user@*.host

  9: nick!*@*.host

Вы можете также использовать типы от 10 до 19 аналогичные маскам с 0 по 9, но вместо шаблона *, mIRC будет использовать шаблон ? для замены чисел в адресе.

Этот набор типов используют также другие идентификаторы и команды.

$me

Возвращает ваш ник.

$mnick

Возвращает ваш главный ник.

$nick(#,N/nick,aohvr,aohvr)

Возвращает N-ый ник из списка ников канала #.

Свойства: color, pnick, idle

$nick(#mIRC,0) количество ников канала #mIRC

$nick(#mIRC,1) первый ник из списка ников канала #mIRC

Оба параметра aohvr являются необязательными. Первый параметр указывает какие ники должны быть включены, а второй – какие исключены, где:

   a = все ники, o = опы, h = полуопы, v = войсы, r = обычные

$nick(#mIRC,1,o)  первый оп на канале #mIRC

$nick(#mIRC,0,a,o)  общее количество ников исключая опов на канале #mIRC

Опция pnick возвращает ник в формате .@%+nick.

Опция idle возвращает время молчания пользователя на указанном канале.

Примечание: Смотрите идентификатор $prefix.

$notify(N/nick)

Возвращает N-ый ник из списка оповещения.

Свойства: ison, note, sound, whois, addr

$notify(0)	количество ников из списка оповещения.

$notify(3)	третий ник из списка оповещения.

$notify(3).ison	$true, если пользователь на IRC, $false если нет.

$notify(goat)	N-ая позиция ника goat в списке оповещения

$snicks

Возвращает количество отмеченных ников в списке ников канала в виде nick1,nick2,nick3,...,nickN

$snick(#,N)

Возвращает N-ый ник из отмеченных в списке ников канала #.

$snick(#mIRC,0) возвращает количество отмеченных ников канала #mIRC

$snick(#mIRC,1) возвращает первый отмеченный ник канала #mIRC

Примечание: Если параметр N не определен, возвратится строка содержащая все отмеченные ники.

$snotify

Возвращает пользователя, отмеченного в списка оповещения.

$trust(N)

Возвращает N-ый элемент из списка надежных пользователей DCC, если N = 0, возвращает общее количество элементов в списке.


Nick Colors

Цвета ника

Секция Nick colors позволяет вам назначить цвета, которыми будут выделяться указанные ники и сообщения от этих ников.

Добавление ника

Для этого нужно в окне Add Nick выбрать цвет ника.

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

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

Примечание: Вы можете использовать переменные и идентификаторы при указании ника.

Команды и идентификаторы

Дя изменения цвета ника существует команда /cnick и идентификатор $cnick().

/cnick -raniovpylNmNsN [nick[!user@host]] [color] [modes] [levels]

Позволяет вам изменять настройки цвета ника.

Ключ r удаляет ник или адрес из списка.

Команда /cnick -r nick/N удаляет первый элемент соответствующий нику или N-ому элементу из nick color list.

Чтобы указать любой ник, используйте символ * вместо ника.

Ключ a устанавливает опцию Any Mode.

Ключ n устанавливает опцию No Mode.

Ключи iovpy устанавливают  игнор, оп, войс, защиту и список оповещения соответственно.

Ключ lN устанавливает время молчания.

Ключ mN устанавливает метод подсветки -  0, 1 или 2.

Ключ sN сортирует элемениты в N-ой позиции списка.

Элемент color  - цвет назначаемый нику.

Элемент modes  - режим доступа на канал, в виде @%+

Элемент levels заставляет mIRC искать в вашем Списке пользователей соответствующий уровень и адрес.

Примечание: Вы можете использовать команду /cline -r чтобы сбросить цвет ника в первоначальное состояние.

$cnick(N/nick, M)

Возвращает N-ый ник из nick color list, или если указан ник, возвращает N-ую позицию элемента в списке соответствующую нику. Если соответствия не найдено, возвращает ноль.

Свойства: color, modes, levels, method, anymode, nomode, ignore, op, voice, protect, notify, idle

Чтобы получить цвет ника, используйтеидентификатор $cnick(nick).color. Если ник не соответствует ни одному элементу из списка, возвращает цвет 'Normal Text' или если M = 1, возвращает  цвет 'Listbox text". Параметр M необязателен.


Notify List

Список оповещения

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

mIRC проверяет состояние списка оповещения каждые 40 секунд.

Добавление пользователя

Для добавления пользовтеля введите следующую информацию и нажмите кнопку Add.

Nickname

Ник пользователя.

Note

Дополнительная информация, появляется на экране вместе с ником пользователя.

Play sound

Музыкальное сопровождение при появлении пользователя на IRC.

Perform /whois

Выполнить команду /whois, когда пользователь подключился к сети. Не злоупотребляйте этой опцией, если в вашем списке оповещения очень много записей, сервер может обидеться и отключить вас за флуд.

Add/Update/Delete

Добавляет или удаляет пользователя из списка оповещения. Если вы изменили запись о пользователе, нажмите кнопку Update.

Опции отображения

Pop up notify window on connect

Открывает окно оповещения после подключения к IRC серверу.

Show notifies only in notify window

mIRC будет показывать сообщения оповещения только в специальном окне.

Show notifies in active window

Сообщения оповещения появляются в окне статуса. Если вы хотите, чтобы они появлялись в активном окне, отметьте эту опцию.

Display address and time

В IRC сетях поддерживающих эту функцию, mIRC покажет адрес ника и количество времени проведенного им в онлайне.

Команда /notify

Вы можете добавлять/удалять пользователей в/из списка оповещения с помощью этой команды.

/notify [-shrl] <on|off|nickname> [note]

Вы можете включить или выключить режим оповещения командой /notify on или off.

Опции -sh показывают (show) или скрывают (hide) окно оповещения.

Опция  -r служит для удаления ника из списка оповещения.

Опция -l покажет ваш список оповещения.

note - необязательный параметр. Это короткое сообщение, которое mIRC выведет на экран вместе с оповещением о подключении пользователя.

Если перед ником пользователя поставить префикс +, mIRC выполнит команду /whois при появлении пользователя в IRC. Однако не ставьте этот префикс перед всеми никами, IRC сервер может отключить вас за флуд.

Можно быстро проверить, кто из пользователей подключен к IRC, если ввести /notify без параметров.

Примечание: В некоторых IRC сетях можно использовать не только ник, но и адрес пользователя.


on ACTIVE/APPACTIVE

Обработчики on ACTIVE и on APPACTIVE вызываются когда окно в mIRC становится активным или когда активный статус mIRC-а меняется соответственно.

Формат:	on <level>:ACTIVE:<*#?=!@>:<commands>

Пример:	on 1:ACTIVE:#mirc:/echo Channel window #mIRC has been activated

Примеры

on 1:ACTIVE:*:echo Activated: $active De-Activated: $lactive

Вызывается когда окно в mIRC становится активным. Идентификатор $active возвращает имя текущего активного окна, а идентификатор $lactive возвращает имя предыдущего активного окна.

Примечание: Идентификаторы $active и $lactive могут возвратить $null.

on 1:APPACTIVE:echo mIRC active status: $appactive

Вызывается когда меняется активный статус mIRC-а. Идентификатор $appactive возвращает $true если mIRC активен, в противном случае - $false.


on AGENT

Обработчик on AGENT вызывается когда Агент замолкает.

Формат:	on <level>:AGENT:<commands>

Пример:	on 1:AGENT:/echo Agent $agentname has finished speaking

Примеры

on 1:AGENT:/echo Agent $agentname has finished speaking

Вызывается когда Агент замолкает. Идентификатор $agentname возвращает имя агента.


on BAN/UNBAN

Обработчики on BAN и on UNBAN вызываются, когда пользователю ставят или снимают бан на канале.

Формат:	on <level>:BAN:<#[,#]>:<commands>

Пример:	on 1:BAN:#mirc,#irchelp:/msg $nick Sorry but you're not allowed on $chan

Примеры

on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask

Обработчик события вызовется, когда кто-нибудь забанит пользователя с уровнем 9. $banmask - маска адреса пользователя, которого попытались забанить.

on 1:UNBAN:#:/msg $bnick You have just been unbanned

Обработчик вызывается, когда пользователю снимается бан на любом канале. Идентификатор $bnick - имя пользователя. Идентификатор определен, если в маску бана включен ник (nick!*@...). Если ника нет (*!*@...), $bnick возвратит значение $null.

Идентификатор $banmask - маска пользователя. Если, например, кто-то ставит бан на *!k*d@*.uk, все ниже перечисленные пользователи получат бан:

*!khaled@mirc.com

*!kha*d@*am.d*mo?.*

*!k*@*

Проверка уровня

Вы можете проверить (сравнить) уровень ставящего бан и получающего бан с помощью операторов <,>,<=,=>,<>, or =, следующим образом:

on >=2:BAN:#mIRC:/msg $chan $nick banned $banmask (legal)

on 1:BAN:#mIRC:/msg $chan $nick banned $banmask (illegal)

В этой ситуации, если уровень ставящего бан больше или равен уровню пользователя, на которого ставят бан, этот бан разрешается. Если меньше, то выполнится следующая строка ON BAN. Не забывайте, что это только проверка уровней пользователей.

Примечание: Эти обработчики работают только с никами пользователей, поскольку IRC сервера посылают сообщение о ban/unban, в которых присутствует только ник пользователя.


on CHAT/SERV

Обработчики событий on CHAT и on SERV вызываются, когда сообщение посылается в окно dcc chat или в окно dcc fserve.

Формат:	on <level>:CHAT:<matchtext>:<commands>

Пример:	on 1:CHAT:*help*:/msg $nick what's the problem?

Описание matchtext находится в обработчике on TEXT.

Примеры

on 1:CHAT:boo!:/msg =$nick Boo back at ya!

Вызывается, года кто-то посылает в окно dcc chat сообщение boo! Формат =$nick необходим для посылки DCC сообщения. Если знак = не используется, посылается стандартное приватное сообщение.

on 1:SERV:bye:/msg =$nick Thanks for using my fileserver, bye!

Вызывается, когда пользователь говорит bye в окне файл-сервера. Также вы можете сослаться на идентификатор $cd чтобы узнать текущую директорию в файл-сервере.

Примечание: Эти события вызываются для всех пользователей с уровнем 1 и выше.


on CONNECT

Обработчик on CONNECT вызывается,  когда mIRC успешно подключается к IRC серверу и получает сообщение MOTD (message of the day).

Формат:	on <level>:CONNECT:<commands>

Пример:	on 1:CONNECT:/join #new2irc

Обработчик on DISCONNECT вызывается,  когда вы выполняете команду quit или отсоединяетесь от IRC сервера.

Обработчик on CONNECTFAIL вызывается, когда попытка подключения (включая все повторы) была безуспешна. $1- возвращает сообщение об ошибке подключения.

Примеры

on 1:CONNECT:/echo Connected to $server at $time with nickname $nick

Вызывается после подключения к серверу.

on 1:DISCONNECT:/echo Disconnected from $server at $time with nickname $nick

Вызывается после отключения от сервера.


on CTCPREPLY

Обработчик on CTCPREPLY вызывается, когда вы получаете ctcp reply от пользователя в ответ на ваш ctcp запрос.

Формат:	on <level>:CTCPREPLY:<matchtext>:<commands>

Пример:	on 1:CTCPREPLY:VERSION*:/echo $nick is using IRC client: $1-

Описание matchtext находится в обработчике on TEXT.

Примеры

on 1:CTCPREPLY:PING*:/echo $nick replied to my ping!

Вызывается, когда приходит ответ на ctcp PING.


on DCCSERVER

Обработчик вызывается, когда кто-то пытается подключится к вашему DCC Server. Удобное средство для контроля за соединениями. Если вы хотите избежать какого-либо соединения, используйте команду /halt  в обработчике.

Формат:	on <level>:DCCSERVER:<Chat|Send|Fserve>:<commands>

Пример:	on 1:DCCSERVER:Send:echo $nick $address wants to send you $filename

Примеры

on 1:DCCSERVER:Chat:/echo $nick $address wants to chat with you!

on 1:DCCSERVER:Send:if (.exe isin $filename) /halt

Если кто-то пытается послать вам .exe файл, он не сможет этого сделать.


on DNS

Обработчик on DNS вызывается после завершения команды /dns.

Формат:	on <level>:DNS:<commands>

Пример:	on 1:DNS:/notice $me Resolved: $raddress

Примеры

on 1:DNS:{

  var %n = $dns(0)

  echo 4 Found %n addresses

  while (%n > 0) {

    echo 4 dns: $dns(%n) nick: $dns(%n).nick addr: $dns(%n).addr ip: $dns(%n).ip

    dec %n

  }

}

Примечание: Обработчик также вызовется, если вы использовали ник пользователя в команде /dns, а его нет в IRC.

Идентификатор $dns(N)

Этот идентификатор может быть использован только в обработчике on DNS. Он возвращает полученый адрес и все связанные с ним IP адреса.

Свойства: nick, addr, ip

Идентификатор $dns(N) без параметров возвращает полученный адрес.

Если N = 0, возвратится число найденных адресов.

Вы можете использовать $dns(0).nick/addr/ip чтобы ссылаться на свойства, если адрес не получен.


on ERROR

Обработчик on ERROR вызывается, когда вы получаете от сервера сообщение ERROR.

Формат:	on <level>:ERROR:<matchtext>:<commands>

Пример:	on 1:ERROR:*server full*:/echo Try another server!

Описание matchtext находится в обработчике on TEXT.

Примеры

on 1:ERROR:*banned*:/echo I'm banned from this server *mumble*!

Вызывается, когда вы попытались подключиться к серверу, где на вас стоит бан.

Параметр $1- полное сообщение об ошибке.

Примечание: Это событие не обрабатывает внутренние сообщения mIRC.


on EXIT

Обработчик on EXIT вызывается при закрытии mIRC.

Формат:	on <level>:EXIT:<commands>

Пример:	on 1:EXIT:/echo exiting mIRC!

Примеры

Основное предназначение этого обработчика, - чисто завершить скрипт, очистить переменные, сохранить настройки и т.д., при закрытии программы mIRC.


on FILESENT/FILERCVD

Обработчики on FILESENT и on FILERCVD вызываются по окончании сессий dcc send или dcc get.

Формат:	on <level>:FILESENT:<filename[,filename]>:<commands>

Пример:	on 1:FILESENT:*.txt:/msg $nick I have successfully sent you the $filename text file

События on SENDFAIL and on GETFAIL имеют такой же формат и вызываются, если сессии dcc send или dcc get закончились неудачно.

Примеры

on 1:FILESENT:*.txt,*.ini:/echo Sent $filename to $nick $address

Вызывается при окончании (успешном) сессии передачи файлов с расширениями .txt или .ini. $filename - имя файла, который передавался.

on 1:FILERCVD:*.txt,*.ini:/echo Received $filename from $nick | /run notepad.exe $filename

Вызывается при окончании (успешном) сессии приема файлов с расширениями .txt или .ini.

on 1:SENDFAIL:*.txt:/echo I failed to send the text file $filename to $nick

Вызывается при ошибке передачи файла с расширением .txt.

on 1:GETFAIL:*.zip:/echo I failed to get the zip file $filename from $nick

Вызывается при ошибке приема файла с расширением .zip.


on HOTLINK

Обработчик on HOTLINK вызывается когда вы наводите курсор мыши на указанное слово в окне.

Формат:	on <level>:HOTLINK:<matchtext>:<*#?=!@>:<commands>

Примеры

Этот обработчик действует немного по-другому чем остальные. Это хорошо видно в следующем примере:

on ^1:HOTLINK:*help*:#:{

  if ($1 == helpme) return

  halt

}

Вызывается, когда вы наводите курсор мыши на слово содержащее *help* в окне канала. Параметр $1 возвращает все слово соответствующее шаблону. При наведении на него курсор превращается в форму руки. Если же вы укажете команду /halt, курсор не превратится в руку.

Идентификатор $hotline возвращает все строку содержащую указанное слово.

on 1:HOTLINK:*:*:echo clicked word $1 in line $hotline

Вызывается когда вы выполните двойной клик на слове указанном в первом примере.

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


on INPUT

Обработчик on INPUT вызывается после того, как вы ввели текст в окне и нажали Enter.

Формат:	on <level>:INPUT:<*#?=!@>:<commands>

Пример:	on 1:INPUT:#mIRC:/echo You entered the text " $1- " in the #mIRC window

Примеры

on 1:INPUT:#:/echo I just mumbled " $1- " in a channel

Вызывается после ввода текста. Параметр $1- введенный вами текст. Вы можете использовать команду /halt в этом обработчике, запрещая mIRC обрабатывать сообщение.

on 1:INPUT:?:/echo I just mumbled " $1- " в окне привата

on 1:INPUT:=:/echo I just mumbled " $1- " в чате DCC

on 1:INPUT:!:/echo I just mumbled " $1- " в файл-сервере

Также вы можете указать название окна/канала вместо символов *#?=!@.

Идентификатор $ctrlenter позволяет “словить” нажатие кнопок Control+Enter.

Примечание: Вы можете использовать команду /say в обработчике on INPUT и текст будет посылаться в окно, где вы печатаете, однако другие обработчики так не работают и вы должны указать, куда пойдет ваше сообщение.


on INVITE

Обработчик on INVITE вызывается, когда пользователь приглашает вас на канал.

Формат:	on <level>:INVITE:<#[,#]>:<commands>

Пример:	on 1:INVITE:#mIRC:/join $chan

Примеры

on 2:INVITE:#:/join $chan | /timer 1 3 /describe $chan appears in a puff of smoke!

Вызывается, когда пользователь с доступом 2 вызывает вас на любой канал.

Примечание: Вы можете включить/выключить опцию Auto-Join в настройках mIRC.


on JOIN/PART

Обработчики on JOIN и on PART вызываются, когда пользователь приходит на канал или уходит с канала.

Формат:	on <level>:JOIN:<#[,#]>:<commands>

Пример:	on 1:JOIN:#mirc,#irchelp:/msg $nick hiya!

Примеры

on 1:JOIN:#:/msg $chan Welcome $nick

Вызывается, когда любой пользователь входит на канал, где сидите вы.

on 5:PART:#mIRC,#newbies:/describe $chan waves bye-bye to $nick *sniff*

Вызывается, когда пользователь с уровнем 5 покидает канал #mIRC или #newbies.


on KEYDOWN/UP

on KEYDOWN/KEYUP

Обработчики on KEYDOWN и on KEYUP вызываются, когда пользователь нажимает или отпускает кнопку в пользовательском окне, у которого нет строки ввода текста и окна-списка.

Формат:	on <level>:KEYDOWN:<@>:<key,...,keyN>:<commands>

Пример:	on 1:KEYDOWN:@:*:echo User pressed key $keyval in $active

Примеры

on 1:KEYDOWN:@frog:32:echo user pressed space bar in @frog

Вызывается, когда нажат пробел в окне @frog.

on 1:KEYDOWN:@:37,38,39,40:echo pressed cursor key $keyval $keyrpt

Вызывается, когда нажата одна из кнопок управления курсором.

$keyval возвращает код нажатой кнопки.

$keychar возвращает символ нажатой кнопки.

$keyrpt возвращает 1 если пользователь долго держит нажатой кнопку.


on KICK

Обработчик on KICK вызывается, когда пользователь "кикается" с канала.

Формат:	on <level>:KICK:<#[,#]>:<commands>

Пример:	on 1:KICK:#mirc,#irchelp:/msg $nick Oops! ;)

Примеры

on 5:KICK:#:/invite $knick $chan | /msg $nick Hey, $knick is my friend!

Обработчик вызывается, если пользователя с уровнем 5 кикают на любом канале, где есть вы. $knick - ник кикнутого пользователя.

Сравнение уровней

Вы можете сравнить уровни кикающего и кикаемого с помощью операторов <,>,<=,=>,<>, или =, например:

on >=2:KICK:#mIRC:/msg $chan $nick kicked $knick (legal)

on 1:KICK:#mIRC:/msg $chan $nick kicked $knick (illegal)

Если уровень кикающего больше или равен уровню кикаемого, кик считается допустимым. Если нет, то выполняется вторая строка обработчика on KICK.

Примечание: Обработчик работает только с никами.


on LOAD/START

Обработчик on LOAD вызывается в момент первой загрузки скрипта.

Формат:	on <level>:LOAD:<commands>

Пример:	on 1:LOAD:/echo mIRC Script Loaded!

Обработчик on START вызывается в момент первой загрузки скрипта и во время первой загрузки скрипта при запуске mIRC.

Примеры

on 1:LOAD:/echo Performing one-time initialization for this script!

Вызывается при первой загрузке скрипта. Предназначен для однократной инициализации данных скрипта.

on 1:START:/echo Performing regular initialization for this script!

Вызывается в момент загрузки скрипта и во время загрузки скрипта при запуске mIRC. Предназначен для инициализации основных параметров скрипта.

Примечание: Когда файл загружается в окне скриптов, инициализация не происходит до закрытия окна. Только один обработчик может быть помещен в скрипт.


on LOGON

Обработчик on LOGON вызывается до и после того как mIRC посылает стандартные сообщения серверу, такие как PASS, NICK, и USER.

Формат:	on <level>:LOGON:*:<commands>

Пример:	on 1:LOGON:*:/echo Logged on to server

Примеры

on ^*:LOGON:*:echo Logging on to $network $server

Вызывается до того, как mIRC пошлет стандартное сообщение подключения на сервер. Если укажете команду /halt, mIRC не будет посылать стандартное сообщение, а пошлет ваше собственное.

on *:LOGON:*:echo Logged on to $network $server

Вызывается после того, как mIRC пошлет стандартное сообщение подключения на сервер.


on MIDIEND

on MIDIEND/WAVEEND/MP3END

Обработчик on MIDIEND вызывается после окончания проигрывания midi файла.
Обработчик on WAVEEND вызывается после окончания проигрывания .wav файла.
Обработчик on MP3END вызывается после окончания проигрывания .mp3 файла.

Формат:	on <level>:MIDIEND:<commands>

Пример:	on 1:MIDIEND:/splay jazzy.mid

Примеры

on 1:WAVEEND:/echo Finished playing $filename

Вызывается после окончания проигрывания wav файла. Смотрите описание секции Playing Sounds.

Примечание: Обработчик не вызывается, если вы используете команду /splay для проигрывания другого midi файла или прерываете уже звучащий. Вызывается только в случае успешного завершения.


on MODE

Обработчик on MODE вызывается, когда пользователь меняет режим канала.

Формат:	on <level>:MODE:<#[,#]>:<commands>

Пример:	on 1:MODE:#mIRC:/notice $me $nick changed $chan mode to $1-

Обработчик on SERVERMODE вызывается, когда сервер IRC меняет режим канала.

Примеры

on @1:MODE:#:/notice $me $nick changed $chan mode to $1-

Событие наступает, когда пользователь меняет режим любого из каналов, где вы имеете статус оператора (значок @ определяет необходимость наличия статуса оператора. Описание смотрите в секции Уровни доступа). Новый режим сохранен в $1-.

Примечание: Обработчик вызывается только при изменении режима канала (не пользователя).


on NICK

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

Формат:	on <level>:NICK:<commands>

Пример:	on 1:NICK:/echo $newnick was previously known as $nick

Примеры

on 1:NICK:/describe $newnick thinks $nick was a nicer nickname!

Вызывается, когда пользователь меняет ник на канале.


on NOSOUND

Обработчик on NOSOUND вызывается, когда кто-то посылает вам запрос Sound Request а у вас нет такого муз. файла.

Формат:	on <level>:NOSOUND:<commands>

Пример:	on 1:NOSOUND:/notice $me Oops, $nick has $filename and I don't!

Примеры

on 1:NOSOUND:/msg $nick ! $+ $nick $filename

Вызывается когда у вас нет нужного муз. файла. $filename - имя файла.

Примечание: Обработчик вызывается в зависимости от настройки Warn if sound doesn't exist.


on NOTIFY/UNOTIFY

Обработчики on NOTIFY и on UNOTIFY вызываются, когда пользователь из вашего

списка оповещения приходит на IRC или уходит с IRC.

Формат:	on <level>:NOTIFY:<commands>

Пример:	on 1:NOTIFY:/msg $nick Hiya! :)

Примеры

on 1:NOTIFY:/msg $nick Привет! Я на канале #mIRC_Lounge, заходи!

Вызывается, когда пользователь из вашего списка оповещения приходит на IRC.

on 1:UNOTIFY:/notice $me $nick покинул IRC

Вызывается, когда пользователь из вашего списка оповещения покидает IRC.


on OP/DEOP

События on OP и on DEOP вызываются, когда пользователь получает или теряет статус оператора канала.

Формат:	on <level>:OP:<#[,#]>:<commands>

Пример:	on 1:OP:#mirc,#irchelp:/msg $nick Please don't abuse your Op status

События on VOICE/DEVOICE и on HELP/DEHELP использует тот же формат и вызываются, когда пользователь получает/теряет право голоса (+-v) и право помощи (+-h).

Событие on SERVEROP использует тот же формат и вызывается, когда пользователь получает статус оператора от сервера IRC.

Событие on RAWMODE использует тот же формат и позволяет вам разобрать строку режима raw самостоятельно.

Примеры

on 9:OP:#:/mode $chan -o $opnick

on 9:VOICE:#:/mode $chan -v $vnick

on 9:HELP:#:/mode $chan -h $hnick

Вызывается, когда пользователь с уровнем 9 получает опа на любом канале. $opnick - ник пользователя, получившего/потерявшего статус оператора. $vnick -  ник пользователя с правом голоса, $hnick ник пользователя с правом помощи.

on 1:DEOP:#beginner:/mode $chan +o $opnick

Вызывается, когда любой пользователь теряет статус оператора на канале #beginner.

on 1:SERVEROP:#:/mode $chan -o $opnick

Вызывается, когда пользователь получает статус оператора от сервера IRC.

Идентификаторы $modefirst и $modelast возвращают $true или $false в зависимости от первого или последнего обработчика.

Сравнение уровней

Вы можете сравнить уровень "опающего" и "опаемого" с помощью команд <,>,<=,=>,<>, или =, например:

on >=1:DEOP:#mIRC:/msg $chan $nick deopped $opnick (legal)

on 1:DEOP:#mIRC:/msg $chan $nick deopped $opnick (illegal)

Если уровень "деопающего" больше или равен уровню "деопаемого" - это правильный деоп. Если нет, то сработает вторая строка, недопустимый деоп.

Примечание: События работают только с никами пользователей.

on RAWMODE

on @1:RAWMODE:#:/echo $chan Raw mode line: $nick set $1-

Событие on RAWMODE позволяет вам разобрать строку режима raw самостоятельно, иденнтификатор $1- это текст режима raw.

Вы можете использовать идентификатор $mode(N) в этом обработчике события, чтобы получить список задействованных ников.


on OPEN/CLOSE

Обработчики on OPEN и on CLOSE вызываются при открытии/закрытии различных типов окон. При DCC сессиях обработчики вызываются при открытии/закрытии соединения.

Формат:	on <level>:OPEN|CLOSE:<?|@|=|!|*>:<matchtext>:<commands>

Пример:	on 1:CLOSE:?:echo -s closed $target query window

Описание matchtext находится в обработчике on TEXT.

Примеры

on ^1:OPEN:?:*:if ($nick == moogoat) halt

Данный пример показывает использование префикса ^, который позволяет прервать событие. Конкретно в данном примере, если приватное сообщение приходит от ника moogoat, то окно привата не открывается.

Примечание: Если вы прервете событие on open, события on TEXT/ACTION на приватное сообщение не сработают.

on 1:OPEN:?:*:/echo -s Just opened $target query window

Обработчик вызывается после открытия окна привата.

on 1:OPEN:?:*hello*:/echo -s $nick just said hello!

Обработчик вызывается если сообщениесодержит слово hello. Так вы можете реагировать на сообщения, не используя обработчик события on TEXT.

on 1:CLOSE:?:/echo -s you just closed $target query window

Обработчик вызывается, когда вы закрываете приватное окно.

on 1:OPEN:=:/msg =$nick Hi! I'll be with you in a second...

Обработчик вызывается при DCC чате. Знак “равно” (=$nick) используется для передачи DCC сообщения.

on 1:CLOSE:=:/notice $me $nick just left the discussion!

Обработчик вызывается по окончании сессии DCC чата или при закрытии окна вручную.

on 1:OPEN:!:/msg =$nick Welcome to my fileserver!

on 1:CLOSE:!:/echo -s $nick just ended her fileserver session

Обработчики вызывается в начале и при завершении сессий файл-сервера.

Примечание: Обработчики DCC вызываются для всех пользователей с уровнем 1 или выше.

on 1:CLOSE:@:/echo -s Just closed $target custom window

Обработчик вызывается при закрытии пользовательского окна. Обработчик OPEN не вызывается при открытии пользовательского окна.

Примечание: Эти обработчики не вызываются для других типов окон. Окна каналов можно обрабатывать с помощью событий  on JOIN/PART.


on PING/PONG

Обработчик  on PING вызывается когда сервер посылает вам сообщение PING для проверки, подключены вы или нет.

Обработчик on PONG вызывается когда вы получаете ответ PONG от сервера после отправки пинг.

Формат:	on <level>:PING:<commands>

Пример:	on 1:PING:/echo -s $nick just PING'd me!

Примеры

on 1:PING:/notice $me Wake up! The server is PINGing you: $1-

Вызывается когда сервер пингует вас. Параметр $1- содержит сообщение пинга.

on 1:PONG:echo pong reply: $1-

Вызывается когда сервер отвечает на ваш пинг.

Примечание: Вы не можете использовать эти обработчики чтобы перехватить команду /ping на ваш ник.


on PLAYEND

Обработчик on PLAYEND вызывается когда команда /play завершает вывод файла.

Формат:	on <level>:PLAYEND:<commands>

Пример:	on 1:PLAYEND:/echo The play command has finished playing $filename

Примечание: Текстовые файлы можно выводить в приват или на канал с помощью команды /play.


on QUIT

Обработчик on QUIT вызывается, когда пользователь с вашего канала закрывает mIRC.

Формат:	on <level>:QUIT:<commands>

Пример:	on 1:QUIT:/notice $me $nick just quit IRC with the message $1-

Примеры

on 1:QUIT:/ame waves bye-bye to $nick *sniff*

Вызывается, когда пользователь с вашего канала закрывает mIRC. Параметр $1- будет содержать quit-сообщение пользователя.


on SNOTICE

Обработчик on SNOTICE вызывается, когда вы получаете сообщение NOTICE от сервера

IRC.

Формат:	on <level>:SNOTICE:<matchtext>:<commands>

Пример:	on 1:SNOTICE:*client connecting*:/halt

Описание matchtext находится в обработчике on TEXT.

Примеры

on 1:SNOTICE:*hack*:/splay hack.wav

Срабатывает (играет музыку), если в сообщении сервера есть слово hack.

Примечание: Вы можете отменить вывод стандартного сообщения сервера командой /halt.


on TEXT

Обработчик on TEXT вызывается, когда вы получаете приватное или канальное сообщение.

Формат:	on <level>:TEXT:<matchtext>:<*><?><#[,#]>:<commands>

Пример:	on 1:TEXT:*help*:#mirc,#irchelp:/msg $nick what's the problem?

Обработчик on ACTION вызывается, когда вы получаете сообщение ACTION
Обработчик on NOTICE вызывается, когда вы получаете сообщение NOTICE

Маска текста представляет из себя строку, состоящую из следующих допустимых символов:

*  	любой текст

&	любое слово

text	только это слово

text*	текст, начинающийся с этого слова

*text	текст, заканчивающийся на это слово

*text*	текст, в котором присутствует это слово

Маска текста также может быть регулярным выражением. Смотрите префикс $  в секции Уровни доступа.

Определить, где должен сработать обработчик, можно с помощью следующих символов:

? 	для любого приватного сообщения
# 	для любого сообщения в канале
#mirc 	для любого сообщения в канале #mirc
* 	для любого сообщения

Примеры

on 1:TEXT:hello*:#:/msg $chan Welcome to $chan $nick!

Слушает на всех каналах, сканирует на наличие строки, начинающейся со слова hello и посылает приветствие пользователю.

on 1:TEXT:*fuck*:#russkichat:/describe $chan Здесь не ругаются!, $nick :(

Слушает на канале #russkichat, сканирует на наличие слова fuck и просит пользователя не употреблять плохих слов :().

on 1:ACTION:мяу:#:/msg $chan Хе, кошка появилась...

Слушает на всех каналах и ищет слово мяу. Посылает сообщение в канал.

on 1:NOTICE:*:?:/msg $nick Занят я, зайдите позже!

Слушает все приватные сообщения и отвечает сообщением, что вы временно недоступны.

Вы можете использовать переменные для текста и названия канала.

Таже вы можете использовать переменные:

on 1:TEXT:%matchtext:%channel:/msg $nick You just said %matchtext on channel %channel

Переменная %matchtext содержит введенный пользователем текст, переменная %channel - название канала, с которого пришло сообщение.

Примечание: Вы не сможете проверить функционирование этой команды, посылая текст себе самому.


on TOPIC

Обработчик on TOPIC вызывается, когда пользователь меняет топик канала.

Формат:	on <level>:TOPIC:<#[,#]>:<commands>

Пример:	on 1:TOPIC:#mIRC:/msg $chan Hmm, odd topic!

Примеры

on 1:TOPIC:#mIRC4Dummies:/describe $chan admires $nick $+ 's new topic!

Вызывается, когда пользователь меняет топик на канале # mIRC4Dummies. Параметр $1- текст нового топика.


on UNLOAD

Обработчик on UNLOAD вызывается, когда скрипт выгружается.

Формат:	on <level>:UNLOAD:<commands>

Пример:	on 1:UNLOAD:/echo mIRC Script unloading

Примеры

on 1:UNLOAD:/echo Unloading script $script

Вызывается когда скрипт выгружен. Полезен для очистки переменных после выгрузки скрипта.


on USERMODE

Обработчик on USERMODE вызывается, когда вы меняете свой режим (usermode).

Формат:	on <level>:USERMODE:<commands>

Пример:	on 1:USERMODE:/echo You changed your usermode to $1-

Примеры

on 1:USERMODE:/echo Usermode for $nick is now $1-

Вызывается при смене вашего режима. Параметр $1- новый режим.


on WALLOPS

Обработчик on WALLOPS вызывается, когда вы получаете сообщение wallops.

Format:	on <level>:WALLOPS:<matchtext>:<commands>

Example:	on 1:WALLOPS:*warning*:/echo $nick issued warning at $time

Описание matchtext находится в обработчике on TEXT.

Примеры

on 1:WALLOPS:*oink*:/splay oink.wav

Обработчик вызывается, когда вы получаете сообщение wallops, в котором есть слово oink.


Online Timer

Онлайн Таймер

Онлайн таймер показывает в заголовке окна статуса счетчик таймера.

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

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


Other

Другое

Command Prefix

По умолчанию используется стандартный префикс для команд mIRC - "/". (/JOIN). Вы можете переопределить префикс так, как вам удобно. Однако, mIRC не отменяет действие стандартного префикса и продолжает использовать его.

Window buffer

Ограничение буфера числом строк, которые вы можете проматать назад для просмотра. Вы можете использовать команду /clear в окне для очистки буфера строк.

Line separator

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

Подтверждения

When closing status window, confirm if...

Возникает окно подтверждения при попытке закрыть окно статуса.

When closing mIRC, confirm if...

Возникает окно подтверждения при попытке закрыть mIRC.

Confirm toolbar disconnect...

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

Confirm when pasting more than...

Возникает окно подтверждения при попытке вставить указанное число строк.

Клавиши

ESCape key minimizes window

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

Control+K pops up color index

Нажатие комбинации клавиш Control+K открывает маленькое окно-подсказку с номерами цветов.

Hotlinks only when shift key pressed

По умолчанию, когда вы наводите курсор мыши на  адрес/ник/канал/и т.д. он превращается в указатель Hotlink. При включении этой опции, данный указатель превратится в hotlink только если держать нажатой клавишу shift.

Right-click in listbox selects line

Если стоит галочка, то при правом клике мыши на строке она выделяется.

Titlebar right-click needs shift key

Чтобы закрыть/открыть окно вы должны держать нажатой кнопку shift и кликнуть правой кнопкой мыши на заголовке окна.

Control+Tab uses switchbar order

Изменяет действие при комбинации Control+Tab для переключения между окнами.

Tab key changes editbox focus

Позволяет легче переключать второе поле ввода в окне канала. Это также работает на никах, каналах и др. Если включено, вы должны использовать Shift-Tab вместо Tab для переключения между списками ников.

Alt+Z closes active window

Закрыть активное окно при нажатии Alt+Z.

DDE

Позволяет вам изменить настройки Сервера DDE.

Finger

Позволяет вам изменять настройки Фингер Сервера.

Lock

Позволяет вам изменять настройки Блокировки.


Other Features

Дополнительные возможности

Агенты

Голосовые команды

Горячие зоны

Системное меню

Оконное меню

Меню Help

Копирование и вставка текста

Контрольные коды

Файл-сервер

Комбинации клавиш

Опции командной строки


Other Identifiers

Другие идентификаторы

$+(n1,...,nN)

Объеденяет все указаные параметры. То же самое что и при вставке $+ между ними.

$?*!="message"

Идентификатор служит для получения информации от пользователя через диалоговое окно.

//echo $?="What is your name?"

Если пользователь ввел имя в окне и нажал OK button, $? вернет введенную строку, если он нажал Cancel, $? не вернет ничего.

//echo $?*="What is your password?"

Режим ввода пароля. Введенные символы заменяются на ***** (чтобы никто не видел).

//echo $?!="Shall I continue?"

Вызывает окно с Yes/No. Если нажать Yes, возвращает $true, если No - $false.

Если строка-приглашение очень длинная и не влезает на экран, то нужно использовать идентификатор $crlf для переноса строки:

//echo $?="This is on the first line. $crlf $+ And this is on the 2nd line."

Примечание: идентификатор нельзя использовать в скриптах, обрабатывающих сообщения сервера. Можно, однако, использовать команду /timer для вызова диалога после окончания работы скрипта.

$ansi2mirc(text)

Возвращает сконвертированый в цвета mIRC текст с кодами ANSI.

$away

Возвращает $true или $false в зависимости от того, в эвее вы или нет.

Также вы можете использовать идентификаторы $awaymsg и $awaytime, которые возвращают текущие настройки away.

$cb

Возвращает первые 256 символов содержимого буфера обмена

$cb(N)

Возвращает N-ую строку текста, оканчивающуюся на $crlf из буфера обмена

Свойства: len

$cb(0)	количество строк в буфере

$cb(0).len	суммарная длина всех строк в буфере

$cb(1)	первая строка

$cb(1).len	длина первой строки

$chantypes

mIRC поддерживает числовой токен 005 CHANTYPES и может обрабатывать динамический набор канальных префиксов.

Идентификатор $chantypes возвращает список канальных префиксов, например #mIRC, &mIRC.

Когда вы не подключены к серверу, mIRC использует по умолчанию значение $chantypes  CHANTYPES=#&.

$chanmodes

mIRC поддерживает числовой токен 005 CHANMODES и может обрабатывать динамический набор канальных режимов.

Идентификатор $chanmodes возвращает список поддерживаемых режимов канала, например '+k moo' чтобы установить ключ в значение 'moo'.

Когда вы не подключены к серверу, mIRC использует по умолчанию значение $chanmodes CHANMODES=bIe,k,l.

$cmdbox

Возвращает $true если команда или скриптбыли инициированы из командной строки в окне канала.

$cmdline

Ввзращает командную строку mIRC при первом запуске.

$color(name/N)

Возвращает индекс цвета для указанного типа текста $colour(action text). Если полное имя не указано, вернет индекс первого частично совпадающего $colour(action).

Если вы укажете значение N, возвратит значение RGB для N-ого цвета.

Свойства: dd

$color(action).dd	возвращает номер в двух-числовом формате

$cr

Возвращает символ перевода каретки (то же самое, что и $chr(13)).

$creq

Возвращает текущие установки /creq из секции DCC Options chat.

$crlf

Возвращает комбинацию CR+LF.

$dccignore

Возвращает $true если игнор включен в секции DCC, в противном случае - $false.

$dccignore(N/filename)

Возвращает N-ый элемент из секции DCC Folders dialog.

Если N = 0, возвращает число элементов в списке, иначе возвращает N-ый элемент из списка. Если указано имя файла, возвращает $true если он соответствует элементу из списка, в противном случае - $false.

$dccport

Возвращает порт используемый сервером DCC.

$dll(name.dll,procname,data)

Возвращает значение полученное после вызова DLL.

$editbox(window,N)

Возвращает строку текста из окна ввода текста указанного окна канала.

Если N = 1, возвращает текст из второго окна ввода указанного окна канала.

$emailaddr

Возвращает e-mail адрес, указанный в Options-Connect.

$eval(text,N)

Что-то делает с текстом N раз (но я так и не понял что). Если N не определено, оно равно 1. Если N = 0, вернет текст как есть.

Это позволяет вам выводить значения идентификаторов и переменных, записанных в текстовой строке.

This allows you to recursively evaluate identifiers and variables in a line of text.

$fullname

Возвращает full name указанное в Options-Connect.

$hash(text,B)

Возвращает хэш номер, вычисленный из текста text, где B – число бит, используемых для вычисления хэш номера.

$highlight

Возвращает $true если подстветка включена в настройках Highlight, в противном случае - $false.

$highlight(N/text)

Возвращает N-ую строку в подсвеченном listbox или если указан текст, возвращает свойства подходящей строки.

Свойства: text, color, sound, flash, message, nicks.

$host

Возвращает имя вашего хоста.

$iif(C,T,F)

Вернет T или F в зависимости от условия C.

$iif(1 == 2, yes, no) Вернет "no"

$iif() возвращает F если условие проверки вернет ноль, $false, или $null. Все другие значения $iif() вернут T.

Если не определить параметр F, $iif вернет T, если условие истинно, и не вернет ничего, если ложно.

$iif(1 == 2, yes)  ничего не вернет

Условия проверки описаны в секции if-then-else.

$ifmatch

Возвращает первый параметр конструкции if-then-else.

Если конструкция выглядит так:

if (text isin sometext) { ... }

$ifmatch вернет "text"

$ignore(N/address)

Возвращает N-ый адрес из списка ignore.

Свойства: type, secs

$ignore(0)	общее количество адресов в списке ignore

$ignore(1)	1-ый адрес

$ignore(2).type	флаги 2-го адреса из списка ignore

$ignore(2).secs	количество секунд до того как будет снят игнор если была использована команда /ignore -uN

Примечание: Если вы указали адрес, первый подходящий адрес из списка ignore будет возвращен.

$inpaste

Возвращает $true если пользователь применил комбинацию Control+V или Shift+Insert для вставки текста в поле ввода, главным образом используется в обработчике on INPUT.

$input(prompt,N,window,title,text)

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

Окно ввода расширяется вертикально, чтобы вместить сообщение. Также вы можете разместить текст в несколько строк при помощи идентификатора $crlf.

N может быть комбинацией слдеующих опций:

e – показывать поле ввода

p – показывать пароль

o – кнопка ok

y – кнопки yes no

n – кнопки yes no cancel

r – кнопки retry cancel

v – возвращает идентификаторы кнопок $ok, $yes, $no, $cancel.

g – кнопки выравнены относительно правой стороны

По умолчанию, кнопки возвращают $true или $null, также как и $?. Если в поле ввода введен текст, то кнопки ok/yes всегда возвращают этот текст.

iqwh - показывать инфо, вопрос, предупрежедние и иконку руки соответственно.

d – воспроизвести звук ассоциированный с иконкой.

s – указывает что имя окна было определено

a – сделать диалог активным

title – текст заголовка.

text – tтекст в поле ввода.

N, window, title и text являются необязательными параметрами.

Note: Идентификатор не может быть использован в скриптовом обработчике. Единственно  можно использовать команду /timer чтобы запустить запрос ввода после окончания выполнения скрипта.

$ip

Возвращает ваш IP адрес.

$isalias(name)

Возвращает $true если имя алиаса существует.

Свойства: fname, alias

$isalias(join)	$true если есть алиас /join

$isalias(join).fname	имя файла, в котором содержится алиас

$isalias(join).alias	определение алиаса для /join

$isid

Возвращает $true если алиас был вызван как идентификатор, в противном случае - $false.

$lf

Возвращает символ перевода строки (то же самое, что и $chr(10))

$lock(item/#/N)

Возвращает $true или $false для настроек блокировки в секции Блокировка.

Свойства: send, get, chat, fserve, run, dll, channels

Также вы можете использовать идентификатор $lock(N) где N возвращает N-ый канал в ограниченном списке каналов, или вы можете указать имя канала вместо N.

$md5(text|&binvar|filename,[N])

Возвращает значение md5 hash для указанных данных, где N = 0 для обычного текста (по умолчанию), 1 для &binvar, 2 для имени файла.

$modespl

mIRC поддерживает числовой 005 token MODES.

Идентификатор $modespl возвращает максимальное число параметров допустимых ля команды /mode, например, если $modespl равен 5, вы можете выполнить /mode +ooooo (пять режимов одновременно).

$network

Возвращает имя сети IRC, к которой вы подключены.

Примечание: Некоторые сети не дают такой информации.

$os

Возвращает версию операционной системы. Ответы: 95, 98, NT, ME, 2K, XP, NET.

$port

Возвращает значение порта сервера, к которому вы подключены.

$prefix

mIRC поддерживает чилсовой 005 token PREFIX и может обрабатывать динамический набор префиксов ников.

Идентификатор $prefix возвращает список префиксов ников, таких как op, halfop, voice и др., которые поддерживает сервер.

Когда вы не подключены к серверу, mIRC использует по умолчанию значение $prefix  PREFIX=(ohv)@%+.

$result

Cодержит значение, которое вернула функция, законченная командой /return.

$rgb(name)

Возвращает значения RGB указанного системного  цвета. name может быть одним из: face, shadow, hilight, 3dlight, frame и text.

$server

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

Если не подключены, вернет $null.

$server(N/address)

Возвращает адрес N-го сервера из списка серверов.

Свойства: desc, port, group, pass

$server(0) 	количество серверов в списке
$server(2) 	адрес второго сервера
$server(2).desc описание второго сервера в списке
$server(3).port 	порт (порты) третьего сервера

Если вы укажете адрес irc сервера и этот сервер присутствует в вашем списке серверов, идентификатор вернет информацию о нем.

$serverip

Возвращает IP адрес сервера.

$show

Возвращает $false если команда начинается с . (точка), в противном случае $true.

$sreq

Возвращает текущие установки /sreq из настроек DCC Options send.

$status

Возвращает статус подключения.

Примечание: Возвратит  отключено в обработчике событий on DISCONNECT, если окно статуса было закрыто по причине отключения.

$titlebar

Возвращает текст в заголовке программы mIRC, устанавливается командой /titlebar.

$url

Возвращает текущий активный URL вашего Web Browser-а.

$url(N)

Возвращает N-ую строку из списка URL.

Свойства: desc, group

$url(0) 	количество строк в списке URL
$url(2) 	адрес из второго элемента списка URL
$url(2).desc 	описание из второго элемента списка URL
$url(3).group 	группа третьего элемента списка URL

$usermode

Возвращает текущий режим пользователя (usermode) на irc сервере.

$version

Возвращает текущую версию mIRC.


Picture Windows

Графические окна

Графические окна – это специальный тип пользовательских окон которые могут отображать текст и графику и вызывать обработчики событий в ответ на движение и клики мыши.

Открыв окно командой /window вы можете использовать следующие команды и идентификаторы для работы с таким окном.

Команды рисования

/drawdot -ihnr @ <color> <size> <x y> [<x y>...]

Рисует точку указанного цвета в указанной позиции. Можно указать несколько координат.

Опция -i - рисование в инверсном режиме.

Опция -h - подсветка иконки минимизированного окна.

Опция -n - задержка обновления окна.  Когда вы завершите рисование в окне, вы можете быстро обновить картинку, выполнив любую команду /draw, указав в качестве параметра имя окна.

Опция -r - цвета передаются в RGB формате. Используйте $rgb(N,N,N) для создания RGB.

Содержимое окна может быть очищено командой /clear @name. Также можно использовать опцию –n.

/drawline -ihnr @ <color> <size> <x y> <x y> [<x y>...]

Рисует линию <x y> - <x1 y1>. Если определено еще несколько координат, линия рисуется дальше. Опции как в команде /drawdot.

/drawrect -ihnrfecd @ <color> <size> <x y w h> [<x y w h>...]

Рисует прямоугольник с координатами <x y>  и шириной и высотой <w h>. Если есть еще координаты, рисует следующий прямоугольник.

Опция -f – заливка прямоугольника текущим цветом.

Опция -e – рисование эллипсов вместо прямоугольников.

Опция -c – рисование неяркой рамки.

Опция -d – рисует закругленный прямоугольник, используя формат /drawrect -d x y w h [w h],  где w и h – ширина и высота эллипса используемого для рисования углов.

Остальные опции как в команде /drawdot.

/drawfill -ihnrs @ <color> <color> <x y> [filename] [<x y>...]

Заливка области указанным цветом начиная с указанных координат.

Опция –s: второй цвет, это цвет, который должен быть заменен первым цветом. Если опция -s не указана, второй цвет – цвет-ограничитель, заполнение останавливается на этом цвете.

[filename]  - .BMP файл размером 8х8 пикселей, используется как заполняющий паттерн.

Остальные опции как в команде /drawdot.

/drawtext -hnrpboc @ <color> [color] [fontname fontsize] <x y [w h]> <text>

Рисует строку текста в указанных координатах.

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

Опция -b – второй цвет используется как фоновый.

Опция -o – указанный фонт будет жирный (bold).

Опция -c – определение границ [w h] прямоугольника, в который должен быть выведен текст. Текст обрезается, если он не влезает в границы.

Остальные опции как в команде /drawdot.

Примечание: Если вы используете отрицательное число для размера шрифта, это будет соответствовать размеру шрифтов в в диалоговом окне шрифта.

/drawsave -bNqN @ <filename>

Сохраняет картинку-фон окна @window в .bmp файле.

Опция -bN позволяют вам указать глубину цвета в битах сохраняемого файла, может быть 1, 4, 8, 16, 24 или 32.

Опция -qN позволяет вам указать качество сохраняемого jpeg файла, где N является числом от 1 до 100.

/drawscroll -hn @ <x> <y> <x y w h> [<x> <y> <x y w h>...]

Скроллирует область внутри указанного прямоугольника. Первые <x> и <y> указывают, на сколько скроллировать и могут быть положительными или отрицательными.

Остальные опции как в команде /drawdot.

/drawcopy -ihmnt @ [color] <x y w h> @ <x y [w h]>

Копирует часть изображения в другое место или в другое окно. Если указан второй параметр [w h],  картинка будет сжата или растянута в соответствии с [w h].

Опция -t  - определение цвета (значение RGB), который будет прозрачным в картинке-источнике.

Опция -m – меняет качество изображения, когда оно изменяет размер.

Остальные опции как в команде /drawdot.

/drawpic -ihmntscl @ [color] <x y [w h]> [x y w h] <filename>

Загружает и выводит в окно указанный .BMP файл. Если указан первый параметр [w h],  картинка будет сжата или растянута в соответствии с [w h]. Второй параметр [x y w h] определяет, какая часть изображения должна быть показана на экране (т.е. картинка может состоять из нескольких частей и вы можете загружать и показывать только нужный кусок).

Опция -t  - определение цвета (значение RGB), который будет прозрачным в указанном изображении.

Опция -s - если указан первый параметр [w h],  картинка будет сжата или растянута в соответствии с [w h].

Опция -c – изображение должно быть кэшировано. Если вы указали опцию -c и изображение уже есть в кэше, оно будет загружено из кэша. Если нет, то оно будет загружено из файла. Кэш можно очистить командой /drawpic -c.

Опция -l – включает tiles изображения.

Опция -m – меняет качество изображения, когда оно изменяет размер.

Если в кэше больше 30 изображений, и вы попытаетесь загрузить еще одно, mIRC удалит из кэша изображение с наименьшим количеством ссылок-обращений.

Если не хватает памяти для загрузки большого изображения, mIRC удалит несколько старых изображений по такому же алгоритму.

Остальные опции как в команде /drawdot.

/drawrot -hmnbfc @ [color] <angle> [x y w h]

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

Опция -b – указывает значение цвета фона.

Опция -f – вмещает новое повернутое изображение в оригинальную ширину/высоту.

Опция -c – центрирует повернутое изображение если не указано  -f.

Опция -m – меняет качество изображения, когда оно изменяет размер.

Остальные опции как в команде /drawdot.

/drawreplace -nr @ <color1> <color2> [x y w h]

Меняет color1 на color2 в указанном графическом окне.

Остальные опции как в команде /drawdot.

События и идентификаторы

Обработчики событий Mouse  могут быть определены в секции меню скрипта.

menu @test {

  mouse:/echo mouse moved at $mouse.x $mouse.y in $active $1

  sclick:/echo single click at $mouse.x $mouse.y

  dclick:/echo double click at $mouse.x $mouse.y

  uclick:/echo mouse released at $mouse.x $mouse.y

  rclick:/echo single right-click at $mouse.x $mouse.y in $active $1

  lbclick:/echo mouse selected $active $1

  leave:/echo mouse left $leftwin

  drop:/echo drag and drop at $mouse.x $mouse.y

}

Обработчик mouse запускается, когда вы передвигаете мышь внутри графического окна. Вы можете использовать идентификатор $mouse для получения координат мыши.

sclick 	одиночный клик на графическом окне. Также вызывается при дабл-клике.

dclick  	дабл-клик на графическом окне.

uclick 	кнопка мыши отпускается на графическом окне.

lbclick 	выбран элемент списка, мышкой или кнопками управления курсором.

leave 	при выходе за границу графического окна.

drop 	когда вы нажали кнопку, передвинули мышку и отпустили кнопку.

$mouse

Возвращает координаты мыши при событии и состояние управляющих кнопок (shift  и control).

Свойства: win, x, y, mx, my, dx, dy, key, lb

Идентификатор используется в обработчиках событий Mouse. $mouse.key  можно использовать с оператором & для проверки, что было еще нажато (левая кнопка, shift и/или control):

if ($mouse.key & 1) echo левая кнопка нажата.

if ($mouse.key & 2) echo кнопка CTRL нажата.

if ($mouse.key & 4) echo кнопка SHIFT нажата.

.win 	имя активного окна.

.x/.y, .mx/.my, и .dx/.dy 	координаты по отношению к активному окну, к главному окну mIRC или к основному окну Windows (desktop) соответственно.

.lb 	возвращает $true если событие произошло на listbox, в противном случае - $false.

$click(@,N)

История кликов x,y в окне.

Свойства: x, y

Для очистки истории кликов используется команда /clear -c @name. Если вызвать $click() без параметров, возвращает (x y).

$inrect(x,y,x,y,w,h)

Возвращает $true, если точка внутри прямоугольника и $false если нет.

$inpoly(x,y,a1,a2,b1,b2,...)

Возвращает $true, если точка внутри многоугольника и $false если нет.

$onpoly(n1,n2,x,y,x,y,...)

Возвращает $true если два многоугольника перекрываются. n1 – количество точек в первом многоугольнике, n2 – количество точек во втором многоугольнике.

$rgb(N,N,N)

Возвращает цвет рисования для команд /draw. Если определен только один параметр, возвращает (N,N,N).

$getdot(@,x,y)

Возвращает значение RGB цвета точки с координатами (x,y).

$height(text,font,size)

Возвращает высоту текста в пикселах для указанного фонта.

Примечание: Если вы используете отрицательное число для размера шрифта, это будет соответствовать размеру шрифтов в в диалоговом окне шрифта.

$window

Возвращает имя покинутого окна в обработчике leave.

$pic(filename)

ращает размер, ширину и высоту изображения bmp, jpg или png файла.

Свойства: size, width, height

$width(text,font,size,B,C)

Возвращает ширину текста в пикселах для указанного фонта.

Если B != 0, фонт bold, если C != 0, обрабатываются контрольные коды.

Примечание: Если вы используете отрицательное число для размера шрифта, это будет соответствовать размеру шрифтов в в диалоговом окне шрифта.


Playing Files

Вывод файлов

Команда play является мощным инструментом, который позволяет выводить текстовые файлы в приват или на канал.

Окно вывода файлов показывает список всех выводимых в данный момент текстовых файлов и позволяет вам ими управлять. Файлы выводятся в порядке очереди. Вызвать окно вывода файлов можно с помощью команды /playctrl.

Команда /play

/play [-aescpbn q# m# f# rl# t#] [alias] [channel/nick/stop] <filename> [delay]

Простейший пример:

/play c:\text\poem.txt

Выводит файл poem.txt в текущее окно, которое должно быть или приватом или каналом, с задержкой по умолчанию в 1000 миллисекунд, что есть 1 секунда. Пустые линии в тексте также вызывают задержку.

Команды /play ставятся в очередь для передачи для предотвращения отключения за флуд.

Опция -a – позволяет указать алиас вместо команд /msg или /notice.

Опция -e – вывод текста в echo.

Опция  -s  - вывод в окно Статуса в режиме off-line.

Опция  -c  - строки текста воспринимаются mIRC-ом как команды.

Опция -n - команда play использует /notice вместо /msg.

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

Опция -q# определяет максимальное количество обслуживаемых запросов. Если длина очереди больше или равна указанному значению, запрос игнорируется.

/play -q5 c:\text\info.txt 1000

Опция -m# установка максимального количества запросов от пользователя nick или канала Channel. Если количество запросов превышено, то новые запросы игнорируются.

/play -m1 info.txt 1000

Команда устанавливает для каждого пользователя только один запрос и игнорирует все следующие.

Примечание: Опции -q# и -m#  работают только в командах /play, инициированных удаленно (через Скрипты).

Опция -b выводит текст из буфера в окно. Текст временно сохраняется в файл playqN.txt, который удаляется после окончания вывода.

Пример использования вышеуказанных опций:

/play -cpq5m1 info.txt 1000

Опция -r  - выбор случайной строки из файла.

/play -r action.txt 1500

Опция  -l#  - указание номера линии для /play.

/play -l25 witty.txt 1500

Опция -f# выводит файл начиная с указанной строки.

/play -f9 moo.txt

Для опций -rlf первая строка текста должна содержать число линий в файле.

Опция -t - поиск в тексте указанной метки (топика) и проигрывание всех строк текста под ним (до следующего топика). Например:

/play -thelp1 help.txt

Содержимое файла help.txt:

[help1]

line1

line2

line3

[help2]

...

mIRC выведет все после метки [help1] и остановит перед следующей меткой или в конце файла.

Можно использовать идентификатор $pnick в этой команде, который указывает ник/канал в котором выводится текст.

Для остановки проигрывания используется команда /play stop.

Идентификатор $play

Идентификатор $play(N) или $play(Nick,N) возвращает информацию об выводимом элементе.

Свойства: type, fname, topic, pos, lines, delay, status

Если вы укажете ник, вы увидите сколько еще файлов находится в очереди для этого пользователя.


Playing Sounds

mIRC поддерживает воспроизведение разных типов звуковых файлов при помощи следующих команд и идентификаторов.

/splay -cwmpq [filename | stop | pause | resume | seek | skip] [pos]

Проигрывает указанный .wav, .mid или .mp3 файл.

Где w = wave, m = midi, p = mp3 и q = очередь воспроизведения.

Если не указан полный путь, поиск файла производиться в директории, указанной в Sound Requests.

Команда /splay stop останавливает воспроизведение файла, команда /splay -w stop останавливает воспроизведение только wave файлов.

Вы можете использовать pause, resume и seek с файлами mp3.

Если вы укажете значение pos при воспроизведении файла mp3, например /splay llama.mp3 1000, mIRC начнет воспроизведение файла mp3 начиная с этой позиции.

Вы также можете использовать seek во время воспроизведения файла mp3, например /splay seek 1000

Для пропуска проигрываемого в данный момент файла используйте skip, например /splay -wmp skip

Опция -q позволяет поставить звуковой файл в очередь на исполнение.

Опция -c позволяет очистить очередь воспроизведения, кроме проигрываемого в данный момент файла.

Когда файл заканчивает проигрываться, вызывается обработчик событий sound event.

/vol -wmpvuN [volume]

Громкость звука для файлов wave, midi и mp3

Опция -v установит основную громкость вашей системы.

Значение volume имеет диапозон от 0 до 65535.

Опция -uN включает/выключает звук, где N = 1 включено, N = 2 выключено.

$vol(wave | midi | song | master)

Возвращает текущую громкость

Свойства: mute

$vol(wave).mute    возвратит настройки звука для wave файлов

$inwave, $inmidi, $insong

Возвращает $true если указанный тип звукового файла проигрывается, в противном случае - $false.

Свойства: fname, pos, length

$insong.fname    возвратит имя проигрываемого в данный момент файла

$sound(type)

Возвращает директорию указанную в секции Sound Requests, где type может быть wave, midi, mp3, wma или ogg.

$sound(filename)

Возвращает директорию для файла этого типа, также как выше, или информацию об звуковом файле. Только файлы mp3 поддерживают следующие свойства.

Свойства: album, title, artist, year, comment, genre, track, length, version, bitrate, vbr, sample, mode, copyright, private, crc


Popups

Всплывающие меню

mIRC позволяет создавать отдельные всплывающие меню для всех видов окон (статуса, привата, канала, списка ников канала, главного меню). Для создания всплывающих меню вы должны знать Команды IRC, уметь создавать Алиасы и понимать, что такое Идентификаторы и Переменные.

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

Примеры

Формат описания всплывающего меню:

<menuitem>:<commands>

Get Help:/join #irchelp

Текст перед ":" - это имя элемента меню. Текст после ":" - команда, которая будет выполнена в результате этого элемента меню. В нашем примере элемент меню - "Get Help", команда, которая выполнится, если вы выберете этот элемент меню - "/join #irchelp".

Формат команд тот же самый, что и у нормальных алиасов. Смотрите секцию Алиасы для того, чтобы понять, как создаются алиасы.

Для создания подменю используется символ "." (точка)

Join a Channel

.Get IRC help!:/join #irchelp

.Visit the folks at #friendly:/join #friendly

.Who shall we join?:/join $?

В данном примере имя подменю - "Join a Channel". Все остальные команды, начинающиеся с "." - элементы подменю.

Для создания меню с подменю, которые, в свою очередь, тоже содержат подменю, просто добавьте еще точек:

Channels

.Help

..irchelp:/join #irchelp

..mIRC:/join #mirc

..newbies:/join #newbies

.Other Channels

..Visit #friendly:/join #friendly

..Wibble Wobble:/join #wibble

.Join?:/join #$$?="Enter a channel name:"

Для разделения секций меню используется символ "-".

whois ?:/whois $?

-

Misc

.Edit Temp:/run notepad.exe temp.txt

.say?: /say $?

.action?:/me $?

Names

.#irchelp: /names #irchelp

.#friendly: /names #friendly

.names ?:/names $?

-

channel list:/list

-

Join a Channel

.Get IRC help!:/join #irchelp

.Visit the folks at #friendly:/join #friendly

.Who shall we join?:/join $?

Если вы создаете всплывающее меню для окна ников канала, не забывайте, что для вызова меню сначала необходимо выбрать ник. Пример небольшого меню для списка ников канала:

Who Is?:/whois $1

-

Modes

.Op:/mode # +o $1

.Deop:/mode # -o $1

.Kick, Ban:/kick # $1 | /ban $1

-

DCC Send:/dcc send $1

DCC Chat:/dcc chat $1

-

Slap!:/me slaps $1 around a bit with a large trout

Query:/query $1 Hey you! hello? are you there...?

Если вы хотите создать всплывающее меню, элемент которого должен выполнять большую последовательность команд, используйте скобки { }. Подробнее об использовании скобок вы можете прочитать в секции Aliases.

Cookie {

  if ($1 == $me) echo I give myself a cookie!

  else echo I give $1 a cookie!

}

Этот элемент меню может быть использован в меню списка ников канала. $1 - выбранный ник пользователя. Если пользователь выбрал свой собственный ник, то печатается первое сообщение, если нет - второе сообщение.

Всплывающие меню для приватных и DCC chat окон и MenuBar создаются и работают так же, как и меню для списка ников канала.

Идентификаторы и переменные

Переменные и идентификаторы также могут использоваться в меню. Их значения будут вычисляться  во время вызова меню. Если значение строки меню равно $null, она не показывается.

Скрипты

Вы можете вставить определение меню в скрипт, использую префикс menu.

menu status {

  Server

  .Links:/links

  .Lusers:/lusers

  .Motd:/motd

  .Time:/time

}

Это определение добавит подменю к всплывающему меню окна статуса.

В качестве параметра можно также использовать channel, query, nicklist и menubar, элемент меню будет добавлен к вашему текущему всплывающему меню для каждого из этих окон.

menu nicklist {

  Slap

  .Haddock:/me prods $1 with a haddock

}

Это определение добавит подменю Slap к вашему всплывающему меню для списка ников канала.

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

menu @test {

  dclick:/echo double-click!

}

Определение dclick позволяет определить команду, которая будет выполняться в ответ на двойной клик в окне (в listbox). Переменная $1 содержит, в данном случае, номер линии на которой вы кликнули.

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

menu @dogs,@cats,@goats {

   dclick: /echo double-click in $active

   close: window -c $active

}

Вы можете использовать идентификатор $menu для ссылки на меню. Это вам позволит создавать всплывающие меню для привата, канала и т.д., например:

menu query,nicklist {

   $iif($menu == nicklist,Op):/mode # +o $$1

}

Стили меню

Вы можете поместить метку или создать отключенный элемент меню с помощью идентификатора $style(N), где N = 1 для отмечено, N = 2 для отключено и N = 3 для обоих. Идентификатор $style(N) должен быть первым словом в меню.

menu status {

  $iif($server == $null,$style(2)) Server Info

  .Motd:/motd

  .Time:/time

}

Создает подменю в окне статуса, которое будет доступно только при подключении к IRC серверу.

$submenu($id($1))

Этот идентификатор позволяет вам динамически создавать список элементов меню, и может быть вызван только из меню.

Вызывает $id($1), где $id() – имя вашего идентификатора, $1 = 1 и увеличивается при каждом вызове на единицу.

Значение которое возвращаетt $id() должно быть в однострочном формате.

Значение $1 равно end когда $id() не возвращает значения.

menu status {

  Animal

  .$submenu($animal($1))

}

alias animal {

  if ($1 == begin) return -

  if ($1 == 1) return Cow:echo Cow

  if ($1 == 2) return Llama:echo Llama

  if ($1 == 3) return Emu:echo Emu

  if ($1 == end) return -

}

Значения begin и end заключаются в разделители.

Примечание: Вы не можете с помощью этого создавать вложенные подменю.


Raw Events

События Raw - специальные сообщения IRC сервера, идентифицируемые по номеру. Номера событий подробно описаны в документе RFC1459.

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

raw <numeric>:<matchtext>:<commands>

Примеры

raw 322:*mirc*:/echo 5 $1-

Этот обработчик на сообщение 322 выведет список каналов, в которых есть слово mirc.

Вы можете перехватывать не-числовые сообщения сервера используя название события:

raw PROP:*mirc*:/echo 5 $1-

Примечание: Вы можете предотвратить вывод стандартных RAW-сообщений mIRC с помощью команды /halt.


Regular Expressions

Регулярные выражения

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

В интернете существует множество веб-сайтов по этой теме.

$regex([name], text, re)

Возвращает N, количество строк в тексте которые подходят под регулярное выражение.

Вы можете назначить name (имя) в $regex(), чтобы позднее ссылаться на него при помощиидентификатора $regml().

Если вы не укажете name, все идентификаторы будут использовать имя по умолчанию, которое будет переписываться каждый раз при вызове $regex().

$regex() помнит результат последних десяти вызовов $regex(). Каждый раз при вызове $regex() вы указываете имя, которое перезапишет имя с предыдущими результатами на имя с новыми результатами.

$regml([name], N)

Этот идентификатор может использоваться, чтобы сослаться на предыдущие (элементы находящиеся в круглых скобках) значения, возвращенные вызовом $regex() или $regsub().

Свойства: pos

Если N = 0, вернет общее количество подходящих строк.

Свойство pos возвращает позицию строк в оригинальном тексте.

$regsub([name], text, re, subtext, %var)

Выполняет поиск по шаблону, как $regex(), и затем выполняет замену, используя subtext.

Возвращает N, число произведенных замен, и назначает результат переменной %var.


Remote

Скрипты

Секция remote предназначена для создания скриптов, т.е. программ-обработчиков, которые вызываются в ответ различные события IRC серверов, такие как подключение пользователя к каналу или получение приватного сообщения. Это достаточно серьезная задача и вы должны хорошо представлять себе, как использовать Команды IRC как создавать Алиасы, как использовать Переменные и Идентификаторы.

Есть три основные секции:

Секция Users (пользователи). Здесь вы назначаете уровни доступа пользователям. От уровня доступа зависит, к каким обработчикам событий пользователь будет иметь доступ.

Секция Variables (переменные). Здесь находятся все созданные вами переменные.

Секция Scripts (скрипты). Здесь хранятся все созданные вами скрипты. Можно загрузить несколько скриптов и все они будут работать независимо друг от друга (подразумевается, что одно событие сервера вызовет обработчики в нескольких скриптах). Обработчик может быть вызван только тем пользователем, у которого есть необходимый уровень доступа. Вы можете разместить в скриптах Алиасы, используя префикс alias, и меню , используя префикс menu.

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

Все обработчики имеют одинаковый формат, за исключением обработчиков ctcp и raw.

Action Active Agent AppActive Ban Chat Close Connect Ctcp CtcpReply DccServer DeHelp DeOp DeVoice Dialog Dns	Error Exit FileRcvd FileSent GetFail Help Hotlink Input Invite Join KeyDown KeyUp Kick Load Logon MidiEnd	Mode Mp3End Nick NoSound Notice Notify Op Open Part Ping Pong PlayEnd Quit Raw RawMode SendFail	Serv ServerMode ServerOp Signal Snotice Start Text Topic UnBan Unload Unotify UserMode Voice Wallops WaveEnd

Небольшой пример поможет вам разобраться в тонкостях создания скриптов.

Примечание: Никогда не используйте чужие скрипты, если вы не понимаете, что они делают и как работают.


Remote Commands

Команды удаленных скриптов

Основные команды

/ctcps [on|off]

Разрешает или запрещает работу обработчиков событий ctcp.

/events [on|off]

Разрешает или запрещает работу обработчиков именованных событий.

/dlevel <level>

Изменяет уровень пользователя по умолчанию на указанный.

/raw [on|off]

Разрешает или запрещает работу обработчиков номерных (raw) событий.

/remote [on|off]

Разрешает или запрещает работу любых скриптов.

Команды управления руппами

Эти команды включают или выключают группы в скриптах. Описания групп приведены в секции Уровни доступа.

/enable <group1 group2 ... groupN>

Разрешает указанные группы во всех скриптах.

/enable #one #two #three

Можно использовать маски:

/enable #help*

/disable <group1 group2 ... groupN>

Запрещает указанные группы во всех скриптах.

/disable #one #two #three

Можно использовать маски:

/disable #help*

/groups [-e|d]

Выводит список всех, разрешенных (-e) или запрещенных (-d) групп а ваших скриптах.

Команды уровней доступа и списка пользователей

Команды используются для добавления и удаления пользователей, а также для изменения уровня доступа у уже созданных пользователей.

/auser [-a] <levels> <nick|address> [info]

Добавляет указанный ник/адрес в список пользователей с указанным уровнем доступа. Если определен ключ [-a] и пользователь с таким именем есть в списке, указанный уровень добавляется в список. Не забывайте, если перед первым уровнем доступа не стоит знак "=", то это уровень определяется как главный уровень доступа.

/auser 1,2,3 Nick

Добавляет ник в список с указанными уровнями доступа (замещает уже существующие записи для этого ника).

/auser -a 1,2,3 Nick

Добавляет уровни доступа пользователю. Если пользователя нет в списке, он создается.

/auser -a =1,2,3 Nick

Отличается от предыдущей команды указанием (=1) не изменять главный уровень доступа. Если вы просто напишите 1 , то этот уровень станет главным.

Параметр info позволяет вам добавить информацию о пользователе, позднее вы можете ссылаться на него с помощью идентификатора $ulist().

/flush [-l] [levels]

Очистка уровней доступа пользователей.

/flush 1,2,3

Проверяет, присутствуют ли в данный момент пользователи из списка на каналах, к которым подключены вы. Если нет, то пользователь удаляется из списка. Если уровни для удаления не определены, удаляет все ники, которых нет на каналах, из списка пользователей.

При помощи параметра -l вы можете удалять только указанные уровни.

/guser [-a] <levels> <nick> [type] [info]

Работает подобно команде /auser, но берет адрес указанного ника, используя команду /userhost, и добавляет его в список. Если не определен тип адреса, то записывает адрес в формате по умолчанию.

Параметр info позволяет вам добавить информацию о пользователе, позднее вы можете ссылаться на него с помощью идентификатора $ulist().

/iuser <nick | address> [info]

Позволяет вам установить или удалить info пользователя.

/ruser [levels] <nick | address> [type]

Если используется без указания уровня доступа, удаляет указанного пользователя из списка. Если определены уровни доступа, то они удаляются из списка уровней доступа этого пользователя. Если удаляются все уровни доступа для данного пользователя, то пользователь удаляется из списка. Если вы указали тип, то удаляются все пользователи, адреса которых (полученные командой /userhost) совпадают с адресом пользователя.

/ruser Nick

/ruser 1,2,3 Nick

/ruser 1,2,3 Nick 1

Если вы ввели /ruser Nick!, то удаляются все пользователи, чей адрес начинается на Nick!.

/rlevel [-r] <levels>

Удаляет всех пользователей с указанным главным уровнем доступа.

/rlevel 20

/rlevel =10

Если указана опция -r, проверяются все уровни доступа пользователя. Совпадающие уровни удаляются. Если у пользователя не осталось больше уровней доступа, он удаляется.

/rlevel -r 1,5,7,8

/ulist [<|>] <level>

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

/ulist <10 список пользователей с уровнем <= 10
/ulist >5   список пользователей с уровнем >= 5
/ulist 4     список пользователей с уровнем 4

Примечание: Команды /guser и /ruser вызывают команду /userhost, которая замедляет выполнение скрипта. mIRC имеет свой Internal Address List (Internal Address List), использование которого ускоряет выполнение команд.


Remote Identifiers

Идентификаторы удаленных скриптов

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

$1-

Параметры команды: $1 – первый,  $2 - второй... $N – N-ный. $N- все, начиная с N-ого,  $N-M – с $N до $M. Вся строка параметров $1-

$0

Возвращает число токенов разделенных пробелами в строке $1-.

$(...)

Этот идентификатор может быть использован только в обработчиках событий. Так вы можете сделать параметр соответствия более динаминым. Идентификатор $1- ссылается на входящую строку.

on 1:TEXT:$(*hello $me $+ *):?:echo hello back!

$address

Возвращает адрес пользователя в виде userid@host.

$chan

Возвращает название канала. Если событие не связано с каналом, значение возвращает $null.

$clevel

Возвращает тот уровень доступа пользователя, который вызвал обработчик.

$dlevel

Возвращает текущий уровень доступа пользователя

$event

Возвращает имя произошедшего события.

$fulladdress

Возвращает полный адрес пользователя (nick!userid@host).

$group(N/#)

Возвращает имя или статус группы в скрипте.

Свойства: status, name, fname

$group(0) 	Возвращает количество групп
$group(1) 	Возвращает имя первой группы
$group(1).status 	Возвращает on или off для первой группы
$group(#test) 	Возвращает on или off для группы #test

$group(#test).fname	Возвращает имя файла скрипта, в котором есть группа #test

$group(3).name	Возвращает имя третьей группы

$maddress

Возвращает первый адрес из списка пользователей, совпадающий с указанным.

$matchkey

Возвращает текст, который совпал с маской обработчика события.

$mode(N)

Возвращает N-ый ник, который затронуло изменение режима на канале.

Свойства: op, deop, ban, unban, voice, devoice, help, dehelp

Пример:

$mode(0).op возвращает количество ников, которым дали оп

$mode(1).op возвращает первый ник, которому дали оп

Примечание: Этот идентификатор может применяться только с событиями on OP/DEOP и др.

$nick

Возвращает ник пользователя.

$numeric

Возвращает номер номерного обработчика.

$rawmsg

Возвращает строку raw для серверных событий.

$script

Возвращает имя файла исполняемого скрипта.

$script(N/filename)

Возвращает имя файла N-ого загруженного файла скрипта. Если ввести имя файла, то вернет $null, если файл не загружен.

$script(0)	Возвращает количество загруженных файлов

$script(2)	Возвращает имя 2-го файла

$script(moo.txt)	Возвращает $null если файл не загружен и moo.txt если загружен.

Примечание: Работает только с файлами скриптов.

$scriptdir

Возвращает директорию, в которой находится выполняемый скрипт.

$scriptline

Возвращает номер строки выполняемого скрипта.

$site

Возвращает часть адреса пользователя после символа @ (host).

$target

Возвращает имя открываемого окна в обработчиках on OPEN/CLOSE.

$ulevel

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

$ulist(nick!userid@address,L,N)

Возвращает N-ый адрес из списка пользователей, совпадающий с указанным адресом и уровнем доступа.

Свойства: info

Можно использовать шаблоны * в адресе. Если не указан полный адрес, он дополняется шаблоном автоматически. Если не определить N, возвращает первый совпадающий адрес.

Если указать L, возвращает только адреса с указанным уровнем доступа.

Примечание: L и N необязательные параметры, но если вы определили L, вы должны определить и N.

$wildsite

Возвращает адрес пользователя в виде *!*@host.


Sending and Receiving Files

Передача и прием файлов

Прием и передача файлов – это еще одна полезная возможность mIRC.

Внимание: О проблемах безопасности при приеме/передаче файлов можно прочитать прочитайте тут.

В IRC для приема/передачи файлов используется система DCC (DCC Send и DCC Get). Система работает в режиме прямого соединения между клиентами и не использует ресурсы сети IRC.

DCC Send

Передача файла (ов) другому пользователю. В окошке Nick: введите ник пользователя, которому вы хотите послать файл, выберите файл, который вы хотите послать и нажмите кнопку Send. Если пользователь подтверждает желание принять файл от вас, передача начинается.

Packet Size

Размер пакета с данными, посылаемыми mIRC-ом при передаче файла. Может быть в диапазоне от 512 до 8192.

Если эта опция отмечена, окно передачи файла автоматически минимизируется после начала передачи.

Fill Spaces

Эта опция доступна только в 32-битной версии и только под операционными системами, которые поддерживают длинные имена файлов.

Fast Send

Включение этой опции позволяет немного ускорить передачу файла. Также можно использовать команду /fsend [on|off]

Note: Для DCC Send необходим ваш IP адрес для запуска сессии передачи. Если у вас возникают проблемы при попытке передать файл, проверьте установки в секции Local Info.

DCC Get

Когда кто-то пытается послать вам файл, на экране возникает диалоговое окно DCC Get и запрашивает ваше согласие на прием файла.

Если вы согласны принять файл, нажмите Accept и mIRC начнет прием файла.

DCC Resume

Если во время предыдущей сессии файл не был полностью получен, то система DCC resume попытается продолжить получение файла с той позиции, на которой закончилась последняя сессия.

Когда пользователь посылает вам файл и файл с таким именем уже есть в директории, вы получите предупреждение. mIRC предложит вам на выбор три возможные операции: overwrite (переписать файл заново), resume (продолжить получение файла), rename (переименовать файл).

Если вы выбрали overwrite, содержимое старого файла будет уничтожено. mIRC создаст новый файл с этим именем.

Если вы выбрали resume, mIRC попытается получить оставшуюся часть файла и дописать ее в конец уже существующего файла.

Если вы выбрали rename, mIRC предложит ввести новое имя файла и сохранит получаемый файл с этим именем.

Описание DCC Resume Protocol можно посмотреть здесь.

DCC Options

Настройка секции DCC подробно описана DCC.

The /dcc send command

Команда используется для ручного запуска сессии DCC Send. Формат команды:

/dcc send -cl <nick> <file1> [file2] ... [fileN]

Если вы определите несколько ников, откроется одновременно несколько сессий dcc send.

Если определить маску имени файла, то в диалоговом окне DCC Send будут показаны только файла, подходящие под маску.

Опция -c засталяет окно DCC закрыться сразу же после получения файла.

Опция -l ограничивает скорость передачи в cps определенную в секции Файл-сервер DCC.

Примечание: Если вы хотите подключится к какому-либо DCC-серверу, можно указать адрес и порт в команде, например /dcc send ipaddress:port


SendMessage

Приложения теперь могуть использовать функцию SendMessage() для связи с mIRC.

Выполнение команд

Седующий вызов SendMessage() заставляет mIRC выполнить команды указанные вами.

   SendMessage(mHwnd, WM_MCOMMAND, cMethod, 0L)

   mHwnd – оперирование главным окном mIRC, а также Каналом, Приватом и др. окнами.

   WM_MCOMMAND – должен быть определен как WM_USER + 200

cMethod - как mIRC должен обработать сообщение, где:

   1 = если набрано в editbox (поле ввода)

   2 = если набрано в editbox, послано как обычный текст

   4 = если включена защита от флуда, можеть быть с 1 или 2

   Возвращает - 1 если успешно, 0 при неудаче

Evaluating Identifiers and Variables

Следующий вызов SendMessage() заставуляет mIRC обработать текст в любой строке которую вы укажете.

   SendMessage(mHwnd, WM_MEVALUATE, 0, 0L)

mHwnd – оперирование главным окном mIRC, а также Каналом, Приватом и др. окнами.

   WM_MEVALUATE - должен быть определен как WM_USER + 201

Возвращает - 1 если успешно, 0 при неудаче

Mapped Files

Приложение которое посылает эти сообщения должно создать mapped file с именем mIRC с CreateFileMapping().

Когда mIRC получает такое сообщение, он открывает этот файл и использует данные, которые содержит этот файл длявыполнения команд. При обработке, mIRC будет выводить результаты в mapped file.

Mapped file должен быть не меньше 1024 байт.

Чтобы предотвратить одновременный доступ к mapped file, ваш код должен проверить, существует ли mapped file, перед тем как использовать его. Ежели существует, то он скорее всего используется другим приложением, поэтому попробуйте позже.


Setting Options

Настройка mIRC

В этих секциях вы можете настроить mIRC так, как вам удобно.

Connect Servers Options Local Info Identd Firewall	IRC Options Highlight Messages Catcher Logging Flood	Sounds Requests Agents
Mouse Drag Drop	DCC Options Folders Ignore Fserve Server	Display Options
Other Lock


Signals

Сигналы

Сигналы являются простейшим путем инициализации сигнальных событий в разных скриптах одновременно.

/signal [-n] <name> [parameters]

Данная команда позволяет вам запустить сигнальное событие во всех скриптах “слушающих сигнал”.

По умолчанию сигнал инициируется после завершения работы всех скриптов. Опция -n позволяет немедленно инициировать скрипт.

on *:SIGNAL:name:command

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

Параметр name может быть шаблоном.

Идентификатор $signal возвращает имя сигнала, который был причиной вызова обработчика событий.

Идентификатор $1- возвращает параметры которые были определены в команде /signal.

Примечани: Скрипт вызванный командой /signal выполняется первым, затем выполняются все остальные скрипты.


Sockets

Сокеты

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

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

Идентификаторы сокетов

$sock(name,N)

Возвращает информацию об открытом сокете.

Свойства: name, ip, port, status, sent, rcvd, sq, rq, ls, lr, mark, type, saddr, sport, to, wserr, wsmsg, bindip, bindport

.name	имя соединения.

.sent and .rcvd	количество переданных/полученных байтов через соединение.

.sq and .rq 	количество байтов в буферах приема или передачи.

.ls and .lr 	время, прошедшее с момента последнего приема или передачи.

.mark 	область для комментария пользователя max. 512 байт (см. /sockmark).

.type 	тип сокета, TCP или UDP.

.saddr and .sport 	адрес и порт последнего полученного UDP пакета.

.to 	возвращает в секундах, сколько был открыт сокет.

.wserr 	возвращает последний номер ошибки winsock которая возникла в сокете.

.wsmsg 	возвращает сообщение о последней ошибке winsock подходящее номеру ошибки.

Примечание: Вы можете использовать шаблоны в имени сокета. Параметр N не обязателен, по умолчанию 1.

$sockname

Имя соединения. Идентификатор может быть для идентификации соединения, вызвавшего обработчик события.

$sockerr

Значение $sockerr (код ошибки) устанавливается после каждой команды для сокета.

$sockbr

Значение $sockbr устанавливается после выполнения команды /sockread. Содержит количество прочитанных байтов.

$portfree(N)

Возвращает $true если указанный порт не используется, в противном случае $false.

Команды сокетов и обработчики событий

Прослушивание  подключений

/socklisten [-d] [bindip] <name> [port]

Команда /socklisten ожидает подключения(listen) к указанному порту. Если порт не указан, он выбирается случайно. Диапазон доступных портов назначается в DCC Options.

Опция -d указывает что вы определили ip адрес как bind адрес.

on 1:socklisten:name:commands

Обработчик socklisten вызывается, когда кто-то пытается подключиться к прослушиваемому порту. Для создания соединения вы должны дать команду /sockaccept, в противном случае соединение будет закрыто.

/sockaccept <name>

Команда создает соединение в ответ на запрос и присваивает ему имя name.

/sockrename <name> <newname>

Переименование существующего соединения.

Открытие и закрытие подключений

/sockopen [-d] [bindip] <name> <address> <port>

Команда /sockopen создает соединение с указанным адресом и портом.

Опция -d указывает что вы определили ip адрес как bind адрес.

on 1:sockopen:name:commands

Обработчик вызывается, когда соединение установлено.

/sockclose <name>

Команда /sockclose закрывает соединение с указанным именем. Можно использовать шаблон для имени, тогда будут закрыты все найденные соединения.

on 1:sockclose:name:commands

Обработчик вызывается, когда соединение закрыто со стороны удаленного клиента.

Передача информации

/sockwrite [-tnb] <name> [numbytes] <text|%var|&binvar>

Команда /sockwrite предназначена для передачи данных в очередь указанного соединение. После передачи данных вызывается обработчик sockwrite.

Опция -t заставляет mIRC послать данные, начинающиеся с & как текст (не интерпретировать как переменную).

Опция -n добавляет символы $CRLF к строке, если это не переменная &binvar и если символов $CRLF нет в строке.

Опция -b указывает, что вы определили значение numbytes (количество байт для передачи).

Примечание: Вы можете использовать шаблон для имени соединения для передачи данных нескольким соединениям.

При ошибке: Если возникает ошибка при выполнении команды /sockwrite, идентификатор $sock().wserr возвращает значение ошибки и запускает событие on sockwrite с определенным идентификатором $sockerr.

on 1:sockwrite:name:commands

Обработчик вызывается после передачи данных из буфера в соединение.

Примечание: Если буфер передачи соединения не пуст, следующая команда /sockwrite просто добавит данные в буфер. Максимальный размер буфера 16384 байт, поэтому перед записью рекомендуется проверять буфер идентификатором $sock().sq.

Прием информации

on 1:sockread:name:commands

Обработчик вызывается, когда в буфере приема есть данные от удаленного клиента. Прочитать данные можно командой /sockread.

Примечание: Если обработчик был вызван, но данные не получены командой /sockread, буфер будет очищен и данные будут потеряны.

/sockread [-fn] [numbytes] <%var|&binvar>

Команда /sockread читает данные из буфера приема в указанную переменную.

Если указать переменную %var, строка текста, оканчивающаяся на $crlf будет сохранена в этой переменной. Символы $crlf отбрасываются. Если строка состояла только из символов $crlf,  значение %var будет $null.

Если указана переменная &binvar и значение [numbytes] (размер блока данных), то информация будет сохранена в этой переменной. Если не указано значение  [numbytes], по умолчанию принимается 4096.

Опция -f совместно с переменной %var заставляет mIRC заполнить переменную %var любым текстом из буфера приема, даже если он не заканчивается на $crlf.

Опция -n позволит прочитать строку, оканчивающуюся на $crlf в переменную &binvar. Если строка на заканчивается на $crlf, данные не будут сохранены в &binvar до тех пор, пока вы не укажете опцию -f.

Note: одиночной команды /sockread может не хватить для прочтения всего буфера данных. Вы должны продолжать чтение в цикле, значение идентификатора $sockbr не станет равным нулю. Это гораздо быстрее, чем снова ожидать вызов обработчика. Если ваш скрипт не прочитал все содержимое буфера, то обработчик вызовется еще раз в случае:

a) вы читаете в переменную &binvar.

b) вы читаете в переменную %var и в буфере остались строки, оканчивающиеся на $crlf.

Пример:

Этот пример показывает, как вы должны обрабатывать событие sockread. Предполагается, что сокет уже открыт и в буфере приема есть информация. Имя сокета - testing.

on 1:sockread:testing:{

  if ($sockerr > 0) return

  :nextread

  sockread %temp

  if ($sockbr == 0) return

  if (%temp == $null) %temp = -

  echo 4 %temp

  goto nextread

}

Если $sockerr больше нуля, то есть ошибка. mIRC автоматически закроет сокет и остановит обработчик.

sockread %temp читает строку, оканчивающуюся на CRLF в переменную %temp. Если строка не содержит CRLF, переменная %temp не заполнится данными и $sockbr вернет ноль.

Если %temp равно $null,  значит в строке были только символы CRLF. В этом случае переменной присваивается значение “-“.

Команда echo выводит результат в окно статуса.

Команда goto: снова читаем буфер принятых данных.

Метка сокета

/sockmark <name> [text]

Команда /sockmark заполняет атрибут .mark сокета указанной информацией для последующего обращения к ней через $sock().mark. Если текст не указан, метка очищается. Максимальный размер - 512 байт.

Примечание: Можно использовать шаблон имени сокета для записи одинаковой информации в несколько сокетов.

Прослушивание открытых сокетов

/socklist [-tul] [name]

Команда /socklist показывает весь список открытых сокетов, или если вы определите опции -tul, оно покажет списки tcp, udp и прослушиваемых сокетов соответственно. Также вы можете указать имя сокета или шаблон.

UDP сокеты

UDP – протокол без соединения, т.е вы можете посылать информацию через UDP без создания соединения.

UDP не гарантирует доставку информации. UDP пакеты не обязательно придут в той последовательности, в которой вы их отправили. Весь контроль за передачей данных возложен на вас...

/sockudp [-bntkd] [bindip] <name> [port] <ipaddress> <port> [numbytes] [text|%var|&binvar]

Опция -t заставляет mIRC послать данные, начинающиеся с & как текст (не интерпретировать как переменную).

Опция -n добавляет символы $crlf к строке, если это не переменная &binvar и если символов $crlf нет в строке.

Опция -b указывает, что вы определили значение numbytes (количество байт для передачи).

Опция -k оставляет сокет открытым, что позволит слушать данные, поступающие в этот порт через UDP. Если опция не указана, сокет закрывается после передачи данных.

Опция -d указывает что вы определили ip адрес как bind адрес.

Если имя сокета не существует, сокет будет создан.

Если не определен номер порта, mIRC выбирает его случайно.

ipaddress и port  - адрес, куда посылается пакет. Можно указывать только IP адрес (ххх.ххх.ххх.ххх).

При ошибке: Если возникает ошибка при выполнении команды /sockwrite, идентификатор $sock().wserr возвращает значение ошибки и запускает событие on sockwrite с определенным идентификатором $sockerr.

on 1:udpread:name:commands

Обработчик вызывается, когда данные поступают в буфер приема. Прочитать данные можно командой /sockread.

Примечание: Если обработчик был вызван, но данные не получены командой /sockread, буфер будет очищен и данные будут потеряны.


Sound Requests

Совместное исполнение музыки. Когда кто-то из пользователей выполняет команду /sound в канале, то все пользователи, у которых есть такой же файл, услышат его.

Accept sound requests

Если опция включена, mIRC обрабатывает sound запросы от других пользователей.

On sound request...

Ignore if a sound is currently playing

Игнорирует саунд-запросы, если мелодия уже играет. В противном случае прерывает играющую музыку и запускает новую.

Warn if sound doesn't exist

Выдает предупреждение, если файла с мелодией нет в системе.

Listen for !nick file get requests

Если кто-то посылает вам сообщение, в котором перед Вашим ником стоит восклицательный знак, mIRC считает, что от пользователя пришел запрос на передачу ему sound файла с Вашей машины. mIRC просматривает соответствующую директорию и если файл найден, посылает его (DCC Send) пользователю.

Send !nick file as private message

Если галочка не стоит и вы послали сообщение !nick file в канал, то все в канале увидят его. Если Вы не хотите засорять канал подобными сообщениями, поставьте галочку в этом чек-боксе. Сообщение будет послано приватно.

Locations of sound files

Выбор директории для поиска звуковых файлов. Также поиск можно выполнить при помощи команды /splay.

Команда /sound

Посылает звуковой запрос пользователю или в канал.

/sound [on|off|nick/channel] <file.wav|file.mid|file.mp3> <message>

Если не указан ник или канал, запрос посылается в текущее окно (канал или окно приватной беседы).

Файл должен иметь расширение .wav, .mid или .mp3 и располагаться в соответствующей директории. Вы должны ввести полный путь к файлу, если он располагается в другой директории.

Строка <message> - необязательный параметр, текстовое сообщение - комментарий. Эффект - как в команде /action.


Sounds

Звуки

On Event, play sound...

Настройка звуков для разных событий системы. Вы можете выбрать событие (например, disconnect) и определить, что будет происходить при этом. Для выбора мелодии нажмите большую кнопку без надписи и в появившемся окне и выберите подходящий .wav файл.

Beep on channel/query message

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

Beep on message while in buffer

Бипает, если сообщение приходит в окно, в котором вы откатились назад и читаете более ранние сообщения.

Event beep

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

Use internal beep

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

Use pc speaker

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

Navigation clicks

Заставляет mIRC воспроизводить звуки при клике на URL, никах, каналах и др.


SSL

mIRC поддерживает secure server connections (безопасные серверные подключения) через функцию SSL, которая использует библиотеки OpenSSL.

Основные настройки SSL можно найти в Connect/Options. Они становятся видимыми только тогда, когда загружены библиотеки OpenSSL. mIRC загружает библиотеки dll OpenSSL автоматически при первом запуске, если находит файлы libeay32.dll и ssleay32.dll (v0.9.7c) в своей директории.

Эти файлы не поставляются вместе с программой mIRC, вы должны загрузить их с сайта. Информация об SSL доступна на сайте mIRC.

Команды

Чтобы установить подключение с сервером поддерживающим SSL, вы должны использовать команду /server –e или префикс + перед номером порта, например +7001.

Идентификаторы

$sslready позволяет выяснить, успешно ли были загружены библиотеки.

$ssl позволяет выяснить является ли текущее подключение безопасным или нет.


System Menu

Системное меню

Если вы кликните на кнопке системного меню в левом верхнем углу окна, появится меню, в которое добавлены некоторые полезные пункты (в зависимости от типа окна).

Background

Выбор картинки для фона окна. Меню позволяет настроить положение и параметры картинки.

Примечание: Использование фона немного замедляет скорость обновления окна.

Beeping

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

Buffer

Вы можете удалить текст из буфера или сохранить его в файл.

Desktop

Позволяет вытаскивать окно в любую позицию экрана из главного окна mIRC.

Editbox

Эта опция позволяет вам создать второе окно ввода в окнах каналов. Комбинация Alt+Q показывает/скрывает окно ввода. Также смотрите секцию Другое.

Events

Здесь вы можете настроить отображение событий для каждого окна. Отображение событий для всех каналов можно настроить в окне IRC.

Flashing

Если режим включен, иконка или окно mIRC будет мигать при поступлении сообщения в окно, если  mIRC в данный момент неактивен (свернут). Мигание сопровождается соответствующим звуком (секция  Event Beeps).

Font

Изменение фонта для окна. Значение фонта для окна запоминается автоматически и используется при следующем запуске программы. В списке фонтов показываются только те фонты, которые отображаются без проблем.

Logging

Динамическое сохранение текста окна в файл. Имя файла присваивается автоматически и зависит от имени окна. Параметр запоминается для каждого окна до отмены.

Nicklist

Опция доступна в окне канала и позволяет поменять позицию списка ников.

Position

Указание mIRC запомнить/сбросить/забыть позицию и размер окна.

Remember - сохраняет позицию и размер окна и восстанавливает значения при следующем вызове окна.
Reset - возврат к старому сохраненному значению.
Forget - восстановление значений по умолчанию.

Примечание: Если сохраненная позиция окна не попадает в текущую позицию главного

окна, окно будет открыто с значениями по умолчанию.

Save As...

Опция доступна только для пользовательских графических окон , позволяет сохранить текущую картинку как .bmp файл.

Spacing...

Расстояние между строками в окне.

On Top

Всегда показывает окно, отмеченное как Desktop поверх всех окон.

Timestamp

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

Track URLs

Автоматически открывает сайт при клике на ссылку на канале или в привате.


Text and Number Identifiers

Строковые и числовые идентификаторы

$abs(N)

Возвращает абсолютное значение N.

$abs(5)   возвращает 5

$abs(-1)  возвращает 1

$and(A,B)

Возвращает бинарное  A и B.

$asc(C)

Возвращает ASCII значение (номер) символа C.

$asc(A) возвращает 65

$asc(*)  возвращает 42

$base(N,inbase,outbase,zeropad,precision)

Конвертирует цифру N из формата inbase в outbase. Последние два параметра не обязательны.

$base(15,10,16)	возвращает F

$base(1.5,10,16)	возвращает 1.8

$base(2,10,16,3)	возвращает 002

$biton(A,N)

Возвращает значение A с N-ым числом включенных бит.

$bitoff(A,N)

Возвращает значение A с N-ым числом выключенных бит.

$bytes(N,bkmgt3)

Возвращает размер файла через запятую.

Свойства: suf

Опции bkmgt возвращают результат в байтах, килобайтах, мегабайтах, гигабайтах и террабайтах соответственно.

Свойство .suf добавляет суффиксы b, k, M, G, T к результату.

Опция 3 возвращает рещзультат в 3-ех цифровом формате.

$calc(operations)

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

$calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))

$ceil(N)

Returns N rounded to the next highest integer.

$chr(N)

Возвращает ASCII символ с номером N.

$chr(65)  возвращает A

$chr(42)  возвращает *

$compress(file|&bvar, blN)

$decompress(file|&bvar)

Сжимает указанный файл или бинарную переменную. Результатом являются сжатые данные raw.

Где b указывает бинарную переменную в первом параметре, а lN устанавливает уровень сжатия от 1 до 6 (по умолчанию 6). Возвращает 1 при успехе, 0 при неудаче.

$cos(N), $acos(N)

Возвращает косинус и арккосинус N.

Свойства: deg

$count(string,substring,substring2,...,substringN)

Возвращает количество найденных подстрок substring в строке string.

$count(hello,el)  возвращает 1

$count(hello,l)    возвращает 2

$encode(%var | &binvar, mubt, N)

$decode(%var | &binvar, mubt, N)

Кодирует и декодирует текст в переменной %vars или &binvars используя Uuencode или Mime.

Второй параметр состоит из опций, где m = mime, u = uucode (по умолчанию), b = &binvar и t = текст (по умолчанию).

Финальная кодированная строка состоит из 60 символов. Вы можете указать N, если хотите чтобы mIRC вернул N-ый символ. При N = 0 возвращает общее число символов в строке.

Если выполняется кодирование-декодирование &binvar, идентификаторы возвращают количество символов в &binvar. Помните, что кодирование использует на 33% больше места.

Последние два параметра не обязательны, по умолчанию это uuencode, а N = 1.

$floor(N)

Округляет N в сторону уменьшения.

$int(N)

Возвращает целую часть числа с плавающей точкой.

$int(3.14159)  возвращает 3

$isbit(A,N)

Возвращает 1 если N-ый бит в цифре A включен.

$islower(text)

Возвращает $true если текст в нижнем регистре.

$isupper(text)

Возвращает $true если текст в верхнем регистре.

$left(text,N)

Возвращает N символов слева из строки text.

$left(goodbye,4)  возвращает good

$len(text)

Возвращает длину строки text.

$len(#mIRC)  возвращает 5

$log(N)

Возвращает натуральный логарифм числа N.

$longip(address)

Преобразовывает IP адрес в сплошное число и наоборот.

$longip(158.152.50.239)  возвращает 2660774639

$longip(2660774639)       возвращает 158.152.50.239

$lower(text)

Преобразует текст в строчные.

$lower(HELLO)  возвращает hello

$mid(text,S,N)

Возвращает N символов с позиции S из строки text.

$mid(othello,3,4)  возвращает hell

Если N равно нулю, возвращает количество символов от S до конца строки.

Также вы можете использовать отрицательные S или N.

$not(A)

Returns the binary not value of A.

$or(A,B)

Returns A binary or B.

$ord(N)

Appends st, nd, rd, th as appropriate to the number N.

$pos(text,string,N)

Возвращает позицию первого символа полстроки string в строке text.

$pos(hello there,e,1)  returns 2

$pos(hello there,e,2)  returns 9

$pos(hello there,a,1)  returns $null

Если N == 0, вернет количество повторов строки в тексте.

Примечание: Вы можете использовать идентификатор $poscs() для чувствительного к регистру текста.

$rand(v1,v2)

Этот идентификатор работает двояко. Если вы указали числа, он возвратит случайное число между v1 и v2. Если вы указали буквы, он возвратит случайную букву между v1 и v2.

$rand(a,z) 	вернет символ из диапазона a,b,c,...,z
$rand(A,Z) 	вернет символ из диапазона A,B,C,...,Z
$rand(0,N) 	вернет число в диапазоне 0,1,2,...,N

$remove(string,substring,...)

Удаляет все найденные substring из string.

$remove(abcdefg,cd)  возвращает abefg

Можно указать несколько параметров для удаления:

$remove(abcdefg,a,c,e,g)  возвращает bdf

Примеание: Вы можете использовать идентификатор $removecs() для чувствительного к регистру текста.

$replace(string,substring,newstring,...)

Поиск с заменой. Меняет все найденные подстроки substring на newstring в строке string

$replace(abcdefg,cd,xyz)  возвращает abxyzefg

Можно указать несколько параметров для замены:

$replace(abcdefg,a,A,b,B,c,C,d,D)  возвращает ABCDefg

Примечание: Вы можете использовать идентификатор $replacecs()для чувствительного к регистру текста.

$right(text,N)

Возвращает N символов справа из строки text.

$right(othello,5)  возвращает hello

$round(N,D)

Возвращает округленное до D знаков после запятой значение.

$round(3.14159,2)  возвращает 3.14

Параметр D необязателен.

$sin(N), $asin(N)

Вернет синус и арксинус N.

Свойства: deg

$sqrt(N)

Возвращает квадратный корень из N.

$str(text,N)

Повторяет текст text N раз.

$str(ho,3)  возвращает hohoho

$strip(text,burcmo)

Вернет текст без bold, underline, reverse, и colour выделений.

Параметр burcmo необязателен.

Опция m применяет настройки из окна Сообщения, а опция o - "only if..." там же.

$stripped

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

$tan(N), $atan(N)

Вернет тангенс и арктангенс N.

Свойства: deg

$upper(text)

Преобразует символы в прописные

$upper(hello)  возвращает HELLO

$wrap(text, font, size, width, [word,] N)

Возвращает N-ую строку в тексте text подходящую под указанную ширину в пикселах.

Если необязательный параметр word равен 1, поиск производится по целым словам (по умолчанию).

Если укажете N = 0, вернет общее количество подходящих строк.

$xor(A,B)

Возвращает бинарное A xor B.


Text Copy and Paste

Копирование и вставка текста

Для копирования текста

Для того, чтобы скопировать текст, выделите его как обычно мышью, нажав левую кнопку. Когда вы выделили все, что необходимо, отпустите кнопку мыши и текст скопируется в буфер.

Примечание: Смотрите также секцию Комбинации клавиш.

Для вставки текста

Для вставки текста используется стандартная комбинация клавиш Shift-Insert.

Ограничение

Копируется только видимый в окне текст. Если вы хотите сохранить большой кусок текста из окна канала или приватной беседы, используйте возможность logfile/buffer в Системном меню.


Time and Date Identifiers

Идентификаторы Времени и Даты

$asctime(N,format)

Конвертирует значение времени, возвращаемое $ctime (и значение ping reply) в текстовый формат.

$asctime(793947600)	время в стандартном формате

$asctime(hh:nn:ss)	время в указанном формате

$asctime(793947600,dd/mm/yy)	дату для указанного времени

Идентификаторы $time(), $date() и $gmt() тоже могут использовать эти форматы.

Если не указан параметр format, используется стандартный формат.

Описание формата дат:

Year Month Day Hours Minutes Seconds AM/PM Ordinal Timezone	yy yyyy m mm mmm mmmm d dd ddd dddd h hh H HH n nn s ss t tt T TT oo z zz zzz	99 1999 1 01 Jan January 1 01 Mon Monday 5 05 13 13 1 01 1 01 a/p am/pm A/P AM/PM st/nd/rd/th +0 +0000 +0000 GMT

Note: Вы можете указать N, format, или то и другое.

$ctime

Возвращает количество секунд с 00:00:00 GMT, January 1, 1970.

$ctime(text)

Возвращает количество секунд, прошедших с 00:00:00 GMT, January 1, 1970 по указанную дату.

$ctime(January 1 1970 00:00:00)

$ctime(3rd August 1987 3:46pm)

$ctime(21/4/72 1:30:37)

$ctime(Wed 1998-3-27 21:16)

$ctimer

Возвращает имя таймера, который запущен в текущем скрипте.

$date

Возвращает текущую дату в виде день/месяц/год.

Дата в формате US возвращается командой $adate.

$day

Возвращает название дня недели (Monday, Tuesday, и т.д.)

$daylight

Returns seconds offset if daylight savings is in effect, and 0 if not.

$duration(seconds,N)

Параметр N - число секунд. Возвращает в формате week/day/hour/minute/second.

Параметр N необязателен. Если N = 2, результат не будет включать секунды. Если N = 3, результат будет в формате h:m:s.

$fulldate

Возвращает текущую дату в формате: Wed Jun 26 21:41:02 1996

$gmt

Возвращает текущее время GMT в формате $ctime.

$idle

Возвращает текущее время молчания (idle time) (то же самое возвращает команда ctcp finger).

$ltimer

Возвращает номер последнего запущенного командой /timer.

$online

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

$ticks

Количество тиков с момента старта операционной системы.

$time

Текущее время в формате hour:minute:second.

$timer(N/name)

Возвращает ID таймера N из списка таймеров. Вы можете указать имя таймера.

Этот идентификатор работает в связке с командой /timer.

Сво	йства: com, time, reps, delay, type, secs, mmt, anysc, wid, cid, hwnd

$timer(0) 	количество активных таймеров
$timer(1) 	ID первого таймера в списке
$timer(1).com 	команда для первого таймера в списке
$timer(3).type 	статус (online/offline) третьего таймера в списке

$timer(3).secs	количество секунд до запуска таймера

$timer(3).mmt	$true если таймер является мультимедиа таймером

$timer(3).anysc	$true если была указана опция /timer -i

$timestamp

Текущее время в формате [xx:xx].

$timezone

Возвращает значение timezone в секундах.

$timestampfmt

Возвращает время в формате определенном в окне message.

$uptime(mirc | server | system, N)

Возвращает рабочее время в миллисекундах для указанного элемента.

Параметр N необязателен; N = 1 возвращает  время в таком же формате, как и $duration(); N = 2 возвращает время в таком же формате, как и $duration(), но только в секундах; N = 3 возвращает секунды вместо миллисекунд.


Token Identifiers

Идентификаторы для работы с токенами

$addtok(text,token,C)

Добавляет токен в конец текста, если только он отсутствует в тексте.

$addtok(a.b.c,d,46) 	возвращает a.b.c.d (добавила токен d)

$addtok(a.b.c.d,c,46) 	возвращает a.b.c.d (не добавила, токен уже есть в тексте)

Парметр C это значение сивола в ascii, которым разделяются токены.

Примечание: Версия различающая регистр - $addtokcs().

$deltok(text,N-N2,C)

Удаляет N-ый токен из строки.

$deltok(a.b.c.d,3,46)	возвращает a.b.d

$deltok(a.b.c.d,2-3,46)	возвращает a.d

Значение N может быть отрицательным.

$findtok(text,token,N,C)

Возвращает N-ую позицию токена в тексте.

$findtok(a.b.c.d,c,1,46)	возвращает 3

$findtok(a.b.c.d,e,1,46)	возвращает $null

Если N = 0, вернет общее число подходящих токенов.

Примечание: Версия различающая регистр - $findtokcs().

$gettok(text,N,C)

Возвращает N-ый токен текста.

$gettok(a.b.c.d.e,3,46)	возвращает c

$gettok(a.b.c.d.e,9,46)	возвращает $null

Вы также можете определить диапазон токенов:

$gettok(a.b.c.d.e,2-,46)	возвращает все токены начиная со 2-го - b.c.d.e

$gettok(a.b.c.d.e,2-4,46)	возвращает токены со 2-го по 4-ый - b.c.d

Значение N может быть отрицательным.

$instok(text,token,N,C)

Вставляет токен в позицию N, даже если он уже есть в тексте.

$instok(a.b.d,c,3,46)	возвращает a.b.c.d

$instok(a.b.d,c,9,46)	возвращает a.b.d.c

Значение N может быть отрицательным.

$istok(text,token,C)

Возвращает $true если токен существует, $false если нет.

Примечание: Версия различающая регистр - $istokcs().

$matchtok(tokens,string,N,C)

Возвращает токены, которые содержат указанную строку.

$matchtok(one two three, e, 0, 32) возвращает 2

$matchtok(one two three, e, 2, 32) возвращает three

Если N = 0, вернет общее число подходящих токенов.

Примечание: Версия различающая регистр - $matchtokcs().

$numtok(text,C)

Возвращает количество токенов в тексте.

$puttok(text,token,N,C)

Заменяет N-ый токен на новый.

$puttok(a.b.c.d,e,2,46)	возвращает a.e.c.d

Значение N может быть отрицательным.

$remtok(text,token,N,C)

Удаляет N-ный токен из текста.

$remtok(a.b.c.d,b,1,46)	возвращает a.c.d

$remtok(a.b.c.d,e,1,46)	возвращает a.b.c.d

$remtok(a.c.c.d,c,1,46)	возвращает a.c.d

Примечание: Версия различающая регистр - $remtokcs().

$reptok(text,token,new,N,C)

Заменяет N-ный совпадающий токен на новый.

$reptok(a.b.c.d,b,e,1,46)	возвращает a.e.c.d

$reptok(a.b.c.d,f,e,1,46)	возвращает a.b.c.d

$reptok(a.b.a.c,a,e,2,46)	возвращает a.b.e.c

Примечание: Версия различающая регистр -  $reptokcs().

$sorttok(text,C,ncra)

Сортирует токены в тексте.

$sorttok(e.d.c.b.a,46)	возвращает a.b.c.d.e

$sorttok(1.3.5.2.4,46,nr)	возвращает 5.4.3.2.1

По умолчанию сортирует в алфавитном порядке, также вы можете определить опции: n = числовая сортировка, c = сортирвка по префиксам, r = обратная сортировка, a = алфавитная сортировка.

Примечание: Версия различающая регистр -   $sorttokcs().

$wildtok(tokens,wildstring,N,C)

Возвращает N-ый токен, подходящий под маску wildstring.

$wildtok(one two three, t*, 0, 32)   возвращает 2

$wildtok(one two three, t*e, 1, 32) возвращает three

Если N = 0, вернет общее число подходящих токенов.

Примечание: Версия различающая регистр -  $wildtokcs().


Tray

Always show mIRC icon in tray

При включенной опции иконка mIRC всегда находится на Tray, даже если mIRC не минимизирован.

On startup minimize mIRC to tray

При включенной опции mIRC всегда минимизируется на Tray при запуске.

Place mIRC in tray when minimized

Если опция включена, окно mIRC отправляется на Tray при минимизации.

Если опция выключена, вы можете принудительно отправить mIRC на Tray, удерживая Shift во время минимизации окна mIRC.

Если вы завершите mIRC, удерживая Shift, то при следующем запуске он минимизируется.

Правый клик на иконке mIRC на Tray откроет всплывающее меню, в котором указаны все открытые каналы/приваты. Галочка рядом с именем канала/привата говорит о том, что есть новое сообщение. Кликните на строчке меню и нужное окно откроется.

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

Animate icon when there is activity

Анимация Tray-иконки: буквы 'i' и 'r' мигают, если приходят сообщения, буква 'M' становится бордовой, если установлено соединение с сервером IRC,  а во время подключения к серверу показывается нечто похожее на вращающуюся планету.

Location and name of icon to use in tray

Указать путь к другой иконке вместо стандартной.

/tray -iN <filename>

Команда позволяет замениь Tray-иконку на любую другую, взяв ее из файла .exe, .dll, или .ico. -iN -  номер иконки в .exe или  .dll файле.

Примечание: Анимация иконки не будет работать если вы выберете другую.


Variables

Переменные

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

Если происходит обращение к переменной, не созданной в системе, то возвращается значение $null. Значение $null можно использовать в конструкции if-then-else.

Общий синтаксис команд создания, назначения и уничтожения переменных:

/set [-snzuN] <%var> [value]

Создание переменной %var и присваивание ей значения.

Если указать опцию -uN, %var будет сброшена через N секунд. Если N == 0, переменная будет сброшена по окончании работы скрипта.

Опция -z  - пошаговое уменьшение значения %var до нуля, а затем сброс переменной.

Опция -n определяет значение как обычный текст.

/unset [-s] <%var>

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

/unset %test*

Удаляет все переменные, начинающиеся со слова %test.

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

vartest  {

  set %a [ $+ b ] 1

  set %a [ $+ c ] 2

  set %a [ $+ d ] 3

  echo ab = %ab

  echo ac = %ac

  echo ad = %ad

  unset %a [ $+ b ] %a [ $+ c ] %a [ $+ d ]

}

/unsetall

Сбрасывает и удаляет все переменные из списка переменных.

/inc [-cszuN] <%var> [value]

This increases the value of %var by value.

Если указать опцию -uN, %var будет увеличена 1 раз и сброшена через N секунд.

Опция -c увеличение значения %var раз в секунду.

Опция -z  - пошаговое уменьшение значения %var до нуля, а затем сброс переменной.

/dec [-cszuN] <%var> [value]

Уменьшает значение переменной %var на value.

Если указать опцию -uN, %var будет уменьшена 1 раз и сброшена через N секунд.

Опция -c уменьшение значения %var раз в секунду.

Опция -z  - пошаговое уменьшение значения %var до нуля, а затем сброс переменной.

Вы можете использовать знак = (равно) для присваивания значений переменной:

%i = 5

%xyzi = 3.14159

%count = $1

Операции, доступные для оператора =:

%x = 5 + 1	сложение

%x = 5 - %y	вычитание

%x = %x * 2	умножение

%x = %z / $2	деление

%x = $1 % 3	деление по модулю

%x = 2 ^ %w	возведение в степень

Только одна операция может быть выполнена одновременно при использовании знака =

Для сложных операций можно использовать идентификатор $calc().

//echo 1 $calc(3.14159 * (2 ^ %x % 3) - ($ticks / (10000 + 1)))

Для работы с числами с плавающей точкой можно использовать идентификаторы $round(N,D) и $int(N). Максимальное количество цифр после запятой - 5.

Временные переменные

Временные переменные это такие переменные, которые существуют только пока выполняется скрипт. Они могут быть созданы командой /var:

/var %x

Создает временную переменную %x для текущей операции.

/var %x = hello

Создает временную переменную %x и устанавливает ей значение hello.

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

/var %x = hello, %y, %z = $me

loop {

  var %x = 1

  :next

  echo item %x

  inc %x

  if (%x < 10) goto next

}

Примечание: Вы можете выполнить команду /var -s чтобы переменная показала результат при присвоении ей значения.

Идентификаторы

$var(%var,N)

Возвращает N-ую подходящую переменную.

Свойства: value, local

Выможете использовать шаблон для имени переменной

Если N = 0, вернет общее число подходящих переменных.

Примечание: Осуществляет поиск во временных и глобальных переменных.


Voice Commands

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

/vcmd -lc <on | off | sleep>

Включает (on) и выключает (off) голосовые команды, или временно выключает если укажете sleep.

Опция -c очищает список команд.

Опция -l включает список команд в ваш список команд.

Примечание: Скорость выполнения этой команды зависит от установленной у вас программы распознования речи.

/vcadd <command1,command2,...>

Добавляет голосовые команды в список команд.

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

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

/vcrem <command1,command2,...>

Удаляет команды из списка команд.

$vcmdver

Возвращает версию вашей программы распознования речи, если она не установлена вернет $null.

$vcmdstat

Возвращает  0 если недоступно, 1 если выключено, 2 если команды в игноре, 3 если ждет команды.

$vcmd(N)

Возвращает N-ый элемент из вашего списка команд.

The on VCMD event

Если слово произнесенное вами присутствует в вашем списке команд, вызывается обработчик событий on VCMD:

  on 1:VCMD:<matchtext>:<*/#/?/@>:/echo 3 Recognized: $1-

Пример скрипта

alias vctest {

  if ($vcmdver == $null) halt

  vcmd -c on

  vcadd connect Dalnet, connect Efnet, connect Undernet, connect IRCnet

  vcadd Part Channel, Disconnect, List Commands, Moo Cow

}

on 1:vcmd:connect*:*:server $2

on 1:vcmd:part channel:*:if ($active ischan) part $active

on 1:vcmd:disconnect:*:quit

on 1:vcmd:list commands:*:vcmd -l

on 1:vcmd:moo cow:*:splay moo.wav

on 1:vcmd:*:*:echo You said: $1-


Window Identifiers
Идентификаторы окон

$active

Возвращает полное имя текущего активного окна.

Примечание: Данный идентификатор также является аналогом мульти-сервера.

$appactive

Возвращает $true,  если приложение mIRC активно, и $false, если нет.

$appstate

Возвращает статус приложения mIRC: minimized, maximized, normal, hidden, or tray.

$chan(N/#)

Возвращает информацию о канале, на котором вы находитесь.

Свойства: topic, mode, key, limit, ial, logfile, stamp, ibl, status, inwho, wid, cid, hwnd

Если вы определили N, возвращается имя N-го канала.

$chan(0) 	количество каналов на которых вы сидите
$chan(2) 	имя 2-го канала
$chan(2).key 	key второго канала

$chan(4).ial    	$true, если Internal Address List содержит адреса всех пользователей канала.

$chan(4).inwho возвращает $true если вы послали команду /who #channel на сервер чтобы заполнить внутренний список адресов с этого канала, и команда /who все еще выполняется.

$chan(1).ibl возвращает $true если mIRC уже была команда /mode +b и имеется список банов канала или $inmode если /mode +b выполняется в данный момент. Смотрите идентификатор $ibl().

Если вы определили имя канала, то информация возвращается только если вы  находитесь на канале.

$chan(#mIRC).mode Возвращает режим канала #mIRC

Свойство status возвращает joining, joined или kicked.

$chat(N/nick[,N])

Возвращает имя N-го открытого окна dcc chat.

Свойства: ip, status, logfile, stamp, wid, cid, hwnd

$chat(0) 	количество открытых окон dcc chat.
$chat(1) 	ник пользователя первого окна dcc chat.
$chat(2).ip 	IP адрес 2-го открытого окна dcc chat.

Если вы укажете ник и N, вернет инфо об этом нике в N-ое окно.

$fserv(N/nick,[N])

Возвращает имя N-го открытого окна dcc chat для fserv.

Свойства: ip, status, cd

$fserv(0) 	количество открытых файловых серверов.
$fserv(1) 	имя пользователя первого файлового сервера.
$fserv(1).cd 	текущую директорию первого файлового сервера.

Если вы укажете ник и N, вернет инфо об этом нике в N-ое окно.

$get(N/nick,[N])

Возвращает ник пользователя и имя файла для N-го окна dcc get

Свойства: ip, status, file, path, size, rcvd, cps, pc, secs, done, resume, wid, cid, hwnd

$get(0) 	количество открытых сессий dcc gets.
$get(2) 	ник пользователя второго окна dcc get.
$get(2).rcvd 	количество полученных байтов для 2-го окна dcc get.
$get(2).cps 	текущую скорость ( CPS ) 2-го окна dcc get.
$get(3).pc 	процент полученного файла для 3-го окна dcc get.

$get(1).secs  	время подключения в секундах

$get(1).done  	$true если передача прошла успешно, в противном случае - $false

$get(1).resume	позиция возобновления файла

Если вы укажете ник и N, вернет инфо об этом нике в N-ое окно.

$get(1).status возвращает "sent" и "failed" в зависимости от того, успешно прошла передача или нет.

$query(N/nick)

Возвращает ник пользователя для N-го приватного окна

Свойства: addr, logfile, stamp, wid, cid, hwnd

$query(0)	количество открытых приватных окон.
$query(2) 	имя второго приватного окна.

$query(N).address 	адрес пользователя N-го приватного окна. Адрес недоступен, пока пользователь не послал вам сообщение и не всегда корректен.

$send(N/nick[,N])

Возвращает ник пользователя и имя файла для N-го окна сессии dcc send.

Свойства: ip, status, file, path, size, sent, lra, cps, pc, secs, done, resume, wid, cid, hwnd

$send(0) 	   количество открытых окон dcc send.
$send(2) 	   ник пользователя 2-го окна dcc send.
$send(2).sent 	   количество байтов посланных во втором окне dcc send.
$send(2).lra 	   последний полученный ACK 2-го окна dcc send.
$send(3).pc 	   процент переданного файла 3-го окна dcc send.
$send(3).status 	   статус (active, inactive, waiting) третьего окна dcc send.

$send (1).secs  	   время подключения в секундах

$send (1).done	   $true если передача прошла успешно, в противном случае - $false

$send (1).resume позиция возобновления файла

Если вы укажете ник и N, вернет инфо об этом нике в N-ое окно.

$wid

Возвращает id окна для текущего скрипта.


Window Menu

Меню управления окнами

Режимы Tile, Cascade и Arrange работают как обычно. Если вы хотите расположить окна вертикально в режиме Tile, держите нажатым Shift.

В окне options вы можете выбрать в каком порядке будут распологаться окна когда они tiled или cascaded.

Опция sort позволяет вам выбрать порядко расположения окно на панели переключения окон.

Режимы auto-cascade и auto-tile устанавливают позицию/размер открытых окон при открытии или закрытии какого-либо окна.

Опция auto-arrange автоматически размещает минимизированные иконки (когда панель переключения окон выключена) всякий раз когда окно закрывается.


Perevod Help

Автор перевода

Перевод осуществлен Gerfaut@pIRC team

Наш сайт – www.xirc.ru

Мы в IRC сети  Wenet

Сервер: irc.icqnet.ru

Каналы: #music, #system и #icq

Если обнаружите какие-либо ошибки в переводе, сообщайте пожалуйста мне на gerfaut@tut.by

P.S. Русскую версию mIRC 6.14 вы можете загрузить на нашем сайте.