Об IRC. Доступно и со вкусом.

Скриптописание. Азы

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

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


Чтобы начать изучение mIRC скриптописания ты должен достаточно хорошо знать IRC команды. Если ты их знаешь не достаточно хорошо, то в процессе обучения скриптописанию узнаешь побольше и о командах. Ну а теперь к делу!


Писать скрипты можно с помощью любого текстового редактора, в том числе и блокнота, но лучше использовать встроенный в mIRC редактор скриптов. Вызвать его можно, нажав сочетание клавишь Alt+R. Посмотрим на него. Сверху меню: Файл, Правка, ..., Справка. Ниже пять вкладок: Алиасы (Aliases), Менюшки (Popups), Скрипты (Remotes), Юзеры (Users), Переменные (Variables). Ниже окно для ввода/редактирования текста/кода. Ещё ниже что-то похожее на строку состояния. Ну и в самом низу три кнопки: Ок (OK), Отмена (Cancel), Помощь (Help).


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

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

Алиасы

Начнём с Алиасов. Это самая первая вкладка.

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

Допустим, что каждый раз при подключении к серверу ты заходишь на канал #All. Для этого ты должен ввести целых десять символов "/join #All". Не надоедает?

И тут Алиасы приходят на помощь. Пропишем в Алиасах вот это:

/1 join #All

И нажмём Ок. В данном случае: "1" - имя новой команды, "join #All" - действие, которое должен совершить mIRC при вводе этой самой команды "1". Попробуй ввести /1 и нажать Энтер и ты попадёшь на канал #All. Удобно, не так ли? :)

А может тебе надо зайти сразу на несколько каналов, например на три сразу? На #a, #b и #c.

Пропиши это в алиасах:

/j {

join #a

join #b

join #c }


Зачем нужны скобочки? Затем, что у нас больше одной команды, целых три. Скобочки говорят mIRC'у, где начинается и заканчивается действие, которое должно быть выполнено при вводе команды /j.

Когды ты вводишь в эдитбоксе (строке ввода текста) /j, твой mIRC автоматически заходит на три канала, #a, #b и #c.

Ещё ппример:

/jj {

join #All

msg #All Привет всем! }


При вводе /jj mIRC зайдёт на канал #All и напечатает там Привет всем! От твоего имени конечно же :)

И напоследок:

/r nickserv identify $?"Введи пароль"

Это пример идентификации ника. При вводе команды /r вылетит окно, где будет написано "Введи пароль". Если введёшь - твой пароль отправится никсерву, если щёлкнешь Отмену или оставишь пустым - выполнение алиаса прекратится. $? - позволяет нам вызвать окошко, куда надо что-либо вводить.

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



Менюшки


Менюшки (Popus) - это вторая вкладка. Здесь мы можем написать собственное меню. До пяти меню нам предлагает написать автор mIRC'a (перейди на вкладку Менюшки и посмотри меню "Вид"). А именно: меню Статуса, меню Канала, меню Привата, меню Списка ников и меню в Главном меню mIRC'a.

Поработаем с менюшкой окна Статуса.

Введём туда:

Зайти на #All: join #All

Выйти c #All: part #All


Сначала идёт название пункта меню, затем двоеточие (всегда), затем команда. Двоеточие даёт понять mIRC'у, что справа находится название, а слева сама команда.

Нажми ОК, перейди в окно статуса и нажми правую кнопку мыши. О чудо! :) Появилось меню из 2ух пунктов, которое ты сделал сам только что! Нажми на первый пункт и ты попадёшь на канал #All, затем на второй и ты выйдешь с этого канала.

В Менюшках между пунктами можно поставить знак "-". Это сепаратор, то есть разграничительная черта между пунктами.

Зайти на #All: join #All

-

Выйти c #All: part #All

Менюшки могут взаимодействовать с алиасами:

В менюшках прописываем:

Избранное: j
И жмём Ок.

А в Алиасах должны присутствовать строки, если ты не стёр:

/j {

join #a

join #b

join #c }


Теперь при нажатии в меню Статуса на пункт "Избранное" ты попадёшь на три канала, а,b и с.


Идею уловили? Поэкспериментируйте, создайте небольшое, но своё меню канала, привата :)



Скрипты (Remote)


В скриптах обраватываются какие-либо события происходящие на IRC. Например, когда кто-нибудь зашёл - это событие, за него отвечает обработчик "JOIN", когда кто-нибудь вышел с IRC - это тоже событие, за него отвечает обработчик "QUIT". Обработчиков очень много, подробнее читай в хелпе к мирку (скачать можно в раздеое "IRC Софт")

Приведу пару примеров (а точнее всего 1), а остальное в хелпе по мирку.

Пример 1: пропиши это в "скриптах"(Remote):

on *:JOIN:#:msg $chan Привет $nick

Разберёмся по порядку. on - означает, что это обработчик (on употребляется со всеми обработчиками кроме ctcp и raw); * - означает, что обработчик будет работать не смотря на уровень пользователя; JOIN - сам обработчик, обрабатывающий всех, кто входит на канал; # - означает, что обработчик сработает на любом канале, где ты находишься; "msg $chan Привет $nick" - команда, которая выполнится, когда любой пользователь (так как *) зайдёт на любой канал (так как #) на котором ты сидишь.

$chan и $nick - это идентификаторы, $chan - это канал на котором сработал обработчик, $nick - это ник пользователя из-за которого сработал обработчик.

Не буду здесь расписывать что и как, так как всё чётко и доходчиво написано в справочном материале, который можно скачать в разделе "IRC Софт"



Переменные


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

Создать переменную можно командой /set.

Например: /set %my computer

Где %my - имя переменной (всегда начинается с "%"), а computer - значение переменной.

Ну и примерчик для закрепления: создадим две переменных, для этого перейдём к пятой вкладке "Переменные" и в одной строчке напишем "%1 кошка", а в другой "%2 собака" (естественно без кавычек). Жмём ОК.
Либо создадим, путём ввода
/set %1 кошка и /set %2 собака.

Теперь на канале в строке ввода текста (эдитбоксе) введём:

//say %1 это не %2 $+ , так как %2 гавкает, а %1 мяукает

Идентификатор $+ позволяет склеивать текст, в данном случае переменную (а точнее её значение) с запятой.

---
Автор: Int