Опис деяких можливостей скриптів програми mirc - в

Все частіше і частіше користувачі мережі IRC замислюються про те, як зробити своє спілкування в мережі найбільш комфортним і безпечним. На попит, як то кажуть, і пропозиція знайдеться. У зв'язку з цим стали з'являтися всілякі скрипти, такі як Shutdown, Neo-ra, Xapok etc. Здавалося б, качай і користуйся, аж ні, як показує практика, скрипти такого роду мають ряд суттєвих недоліків і занадто перенасичені часом всілякими, абсолютно не потрібними фичами. У зв'язку з цим все частіше і частіше можна чути питання про те, як же написати свій власний скрипт. У цій статті на конкретних прикладах ми постараємося показати вам, як створити свій власний скрипт. Хотілося б відразу обмовитися, що все нижче викладене буде ставитися до IRC-клієнта mIRC.

Так що ж таке скрипт? Cкриптов - це додаткова підпрограма, що модифікує ваш IRC-клієнт і дозволяє автоматизувати деякі процеси. Наприклад, для того, щоб кікнути або забанити людини, який викинув вас з каналу, вам доведеться написати спочатку. а потім
А скрипт допоможе здійснити ці операції гранично швидко і просто. Досить буде клікнути мишкою по потрібному пункту меню.
Давайте спробуємо розібратися яким чином це працює в mIRC. У ньому є кілька розділів, які і відповідають за всі дії, що здійснюються в IRC. Одним з них є розділ Remote (події) - стежить за всім, що відбувається у вікнах вашого mIRC. Наступний розділ: Aliases. Aліаси відповідають за всілякі скорочені команди. Тобто замість того, щоб набирати
, можна створити Aliases, який буде виконувати цю команду, скажімо при натисканні F7 або будь-який інший клавіші, на ваш розсуд. Ще один розділ, який буде нас з вами цікавити: Popups (спливаючі вікна). Popups - це вискакують менюшки. Ви просто клацніть по ніку або у вікні каналу і вибираєте потрібний вам пункт, який зробить ту чи іншу запрограмоване раніше дію. Users - секція зберігання переліку користувачів з призначеним рівнем доступу для кожного. Variables - відповідає за зберігання постійних змінних і їх значення.
Викликати список всіх цих розділів можна клікнувши по іконці або вибравши в меню Tools відповідний підрозділ.
Пізніше ми розглянемо кожен розділ більш докладно. Але так як без знання синтаксису, змінних, ідентифікаторів і команд ми скрипт ну ніяк не напишемо. То давайте з ними і познайомимося.

команди IRC

Ознайомтеся з командами IRC. Ось найбільш часто вживані. IRC команди призначені для виконання дій на IRC, наприклад для управління каналами.
- увійти на канал
- покинути канал
- виводить список доступних каналів. наприклад:
- вивести всі канали
- вивести всі канали, на яких знаходиться від 10 до 20 осіб, містять в назві букву w
- повідомити в поточний канал (приват) про своє дії
Символ називається командним префіксом і не є частиною команди. Він служить для вказівки мирку того, що вводиться рядок є командою. Так само може використовуватися префікс. що змушує mIRC обчислити підставлені в команду ідентифікатори і префікс. блокуючий будь висновок тексту на екран:

У тілі скрипта використання префікса. при цьому дія будуть виконано, якщо умова істинна.
  • Оператори порівняння:

    • == - одно (без урахування регістру)
    • === - одно (з урахуванням регістру)
    • != - не дорівнює
    • <- меньше
    • > - більше
    • <= - меньше или равно
    • > = - більше або дорівнює
    • isin - подстрока знаходиться в рядку (z isin Zmey | істина)
    • isincs - подстрока знаходиться в рядку (з урахуванням регістру) (z isin Zm ey | брехня)
    • iswm - маска відповідає заданим зразком (*!*@zmeya.net iswm [email protected] | істина)
    • isnum - число знаходиться в діапазоні (параметр діапазон - опціональний) (7 isnum 5-9 | істина)
    • isletter - буква є в рядку
    • isalnum - текст містить тільки літери і цифри
    • isalpha - текст містить тільки літери
    • ison - нік на каналі
    • isop - нік оператор на каналі
    • isvoice - нік має право голосу на каналі
    • isreg - нік звичайний користувач на каналі
    • ischan - нік знаходиться на одному каналі з вами
    • isreg - нік - нормальний нік на каналі

  • Ідентифікатор $ ifmatch повертає перший параметр порівняння. Наприклад, якщо умова виглядає так: if (Zmey ison #help). то $ ifmatch поверне Zmey
    Ідентифікатор $ null використовується в порівняннях, для визначення містить змінна значення чи ні.
    Оператори порівняння можна комбінувати, використовуючи символи:
    - логічне і
    || - логічне або
    Префікс. (Заперечення)
    Заперечення логічних виразів може бути побудовано в такий спосіб:
    Zmey! Ison #help - Zmey не перебуває на каналі хелп
    w! isin zmey - w не перебуває у рядку zmey
    Так само. може бути використаний для визначення містить змінна значення. Наведені умови ідентичні:
    if (% x == $ null) echo змінна x не містить значення
    if (!% x) echo змінна x не містить значення
    цикли:
    У mIRC застосовується тільки один вид циклів - while. Його формат:

    наприклад:

    Команди безумовного переходу:

    • -безумовний перехід до мітці
    • - зупиняє виконання скрипта і передає управління викликає процедуре.В якості опціонального параметра може використовуватися повертається ідентифікатором значення.
    • - зупиняє виконання скрипта і припиняє подальшу обробку.
      приклад:
    У розділі Remote описуються дії відбуваються у відповідь на деякі події в маленькому світі, наприклад, при вході кого-небудь на канал. Ось далеко не повний перелік можливих подій:
    • ACTION - повідомлення від третьої особи (/ me).
    • TEXT - текстові повідомлення користувачів (не свої)
    • BAN - установка бан (+ b)
    • DEOP - зняття опа (-о) з кого-небудь
    • DEVOICE - зняття Войса (-v)
    • INPUT - натискання клавіші Enter, після введення тексту повідомлення
    • INVITE - запрошення на канал
    • JOIN - візит кого-небудь на канал
    • KICK - кік кого-небудь з каналу
    • MODE - зміна модов каналу
    • NICK - зміну ника
    • NOTIFY - користувач з нотіфі-листа заходить на IRC
    • NOTICE - отримання нотиса
    • OP - отримання опа (+ о)
    • OPEN - відкриття вікон
    • TOPIC - зміна топіка
    • UNBAN - зняття бана (-b)
    • UNOTIFY - користувач з нотіфі-листа залишає IRC
    • USERMODE - зміна власних користувальницьких модов
    • VOICE - отримання Войса (+ v)
    Загальний синтаксис обробників подій:, де <уровень> - рівень користувача для якого спрацьовує подія. Відповідність користувач-рівень задається на вкладці Users (синтаксис: рівень: маска). Як рівня може використовуватися число, іменований рівень або рядок.
    <префикс> - задає обмеження на рівні. Існують наступні префікси:
    • + - скрипт спрацює тільки для користувачів, рівень яких не перевищує заданий
    • * - скрипт спрацює для всіх користувачів
    • ! - скрипт спрацює для всіх, крім себе
    • - скрипт не спрацює, якщо попередній скрипт був зупинений командою / halt або / haltdef
    • @ - скрипт спрацює тільки якщо використовує скрипт має оп на каналі на якому він спрацював
    <событие> - ім'я події на яке буде спрацьовувати заданий скрипт (або * для спрацьовування на будь-яку подію)
    <фильтр> - фільтр на подію. Скрипт спрацює тільки якщо подія містить в параметрах рядок задовольняє фільтру. Можливі наступні варіанти:
    • * - будь-який текст
    • - будь-яке слово
    • text - текст, що складається з слова text
    • text * - текст, що починається зі слова text
    • * Text - текст, що закінчується словом text
    • * Text * - текст, що містить в собі слово text
    У фільтрах великі і маленькі латинські літери невиразні, на відміну від російських. Також може використовуватися динамічний фільтр. Він дозволяє за допомогою ідентифікатора $ (..) обчислити значення підставлених в нього ідентифікаторів.
    <место> - місце спрацювання скрипта.
    Пропускаються тільки події виникли в певному місці. Можливі наступні варіанти:
    • ? - будь-яка подія в публічному чаті
    • # - будь-яка подія на каналі
    • #zoo - будь-яка подія на каналі #zoo
    • #s outhnet, # zoo - будь-яка подія на каналах #southnet і #zoo
    • * - будь-яка подія на каналі або публічному чаті
    Як місце спрацювання може бути використана глобальна змінна <команды> - реакція на подію, що складається з довільного числа викликів команд
    приклади:
    Якщо хто-небудь напише на будь-якому каналі слово Zмей або zмей, то скрипт видасть на канал повідомлення "тільки що - відразу змій".

    Якщо хто-небудь напише на каналі #southnet фразу містить слово "трахнути", то скрипт видасть на канал повідомлення "дивись як би самого НЕ трахнув"

    Якщо хтось виконує на будь-якому каналі стрілялки на ваш поточний нік, то скрипт видасть в канал стрілялки

    Якщо ваш нік змінюється на нік, записаний у змінній% myname, то він ідентифікується, якщо ж ваш нік змінюється на нік з "лапками" (таке відбувається при сплите) то він змінюється назад на нік без лапок і, відповідно, ідентифікується.

    Відбувається при Деопіт на одному з каналів записаних в змінну% mychanlist. Якщо деопнулі вас, причому ви деопнулісь не власними, то вам повертається оп, а кривдник деопается (для цього використовується чансерв).

    спливаючі меню

    mIRC дозволяє створювати свої спливаючі меню для всіх видів вікон: вікна статусу, вікна списку ніків, вікна каналу, вікна Привату і для меню Commands головного меню.
    Формат опису спливаючого меню :. де <глубина> - глибина вкладеності елемента меню (одна або кілька точок).
    <наименование> - найменування меню або роздільник позначається символом "-".
    <команды> - реакція на подію, що складається з довільного числа викликів команд.
    Для вказівки типу меню необхідно вибрати в меню View вікно, в якому це меню буде з'являтися (Status, Channel, Query / chat, Nickname list, Menubar)
    Приклад (меню для вікна каналів): Повернувся: / AWAY | / NICK% myname Відійшов .Не далеко. Зайнятий: AWAY Ну дуже зайнятий. | NICK% myname $ + [busy]. Відійшов: AWAY Десь тут. | NICK% myname $ + [away] .Далеко. Є: AWAY Співаємо і прийду. | NICK% myname $ + [eat]. Пішов: AWAY Ні мене за визначенням | NICK% myname $ + [out] .Отошел (куди): AWAY $? = "Повідомлення:" | NICK% myname $ + $$? = "Додаткова частина ника:" Пішов .Спать: QUIT добраніч | EXIT .На роботу: QUIT пішов на роботу | EXIT .Учіться: QUIT пішов вчитися | EXIT - Rejoin: / hop

    Copyright © 2024