Jump to content

язык сценариев mIRC


Язык сценариев mIRC
Парадигма Программирование, управляемое событиями , Процедурное программирование
Разработано Халед Мардам-бей
Разработчик Халед Мардам-бей
Впервые появился 1995  ( 1995 )
Дисциплина набора текста Динамическая типизация
ТЫ Microsoft Windows
Лицензия Собственное программное обеспечение
Расширения имен файлов .mrc, .ini
Веб-сайт www .mirc
Основные реализации
mIRC AdiIRC [1] [2] [3]
Редактор скриптов mIRC (встроенный)

Язык сценариев mIRC (часто неофициально сокращенно « mSL »). [3] [4] ) — это язык сценариев , встроенный в mIRC и Adiirc , IRC- клиенты для Windows, но работающий с WiNE для Linux.

Основное использование

[ редактировать ]
  • Легкая канальная и личная защита от многих видов атак (флуд, спам, поглощения и т.д.).
  • Диалоговые окна могут быть созданы в mIRC для лучшей совместимости с пользователем; а не все во всплывающих меню.
    • включают MDX ( Dialog ) Extension и Популярные расширения DCX ( Dialog Control Extension диалога mIRC IRC ). Существует также несколько версий mdx.dll и dcx.dll, модифицированных хакерами IRC.
  • Боты , которые обеспечивают автоматическое управление IRC-каналами, викторины или другие игры, а также другие нужные функции для общения.
  • Команды, которые экономят набор текста или иным образом упрощают жизнь в IRC (например, автоматическое определение владельца ника).
  • Прокси- CONNECT серверы Bounce (www.mslscript.com) и серверы ( https://en.wikipedia.org/wiki/ZNC ) для замены некоторых сценариев mSL более быстрым кодом и удобными функциями.

Хранение скриптов

[ редактировать ]

Сценарии хранятся либо в виде простых текстовых файлов, обычно с расширением .mrc , либо в виде файлов INI . Однако они могут храниться с любым расширением. Одновременно можно загрузить несколько файлов сценариев, однако в некоторых случаях один сценарий будет конфликтовать с другим, что приведет к тому, что один или оба из них перестанут работать должным образом. Порядок загрузки файлов сценария может иметь значение, будет ли сценарий работать правильно или нет. Сценарий (не)загрузчика ДОЛЖЕН использоваться для того, чтобы скрипты среднего размера функционировали должным образом.

Особенности языка

[ редактировать ]

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

  • Встроенные функции называются командами или, если они возвращают значение, идентификаторами .
  • Пользовательские скриптовые функции называются псевдонимами . Псевдонимы, возвращающие значение, называются пользовательскими идентификаторами . Оба вызываются из командной строки или других частей сценария точно так же, как встроенные команды и идентификаторы (и могут даже заменять их).
  • Всплывающие окна — это скриптовые элементы контекстного меню . Всплывающие окна вызываются, когда их выбирает пользователь. Первоначально этот термин относился к меню, которые появляются при щелчке правой кнопкой мыши. В руководстве он до сих пор используется таким образом.
  • Пульты — это сценарии обработки событий . Удаленные устройства вызываются, когда происходит событие, которое они обрабатывают.
  • Все переменные динамически типизированы .
  • Хэш-таблицы доступны для хранения больших объемов данных; массивы - нет.
  • Скрипты mIRC используют символы . Идентификаторам (настраиваемым или встроенным) предшествуют $, двоичным переменным предшествуют &и другим переменным (локальным или глобальным) предшествует %. Командам и псевдонимам не предшествует какой-либо конкретный символ (хотя при вводе из командной строки окна им должен предшествовать префикс команды, обычно /).

Обработка файлов

[ редактировать ]
  • Скрипты могут читать и записывать файлы [ $read(file,[args]) | /write ]

Вышеупомянутое предназначено для индивидуального доступа к файлу. Потому что каждый раз, когда вы выпускаете $read или /write вы открываете и закрываете файл для доступа. Множественный доступ, например, во время цикла, лучше всего обрабатывать через /fopen, /fwrite и /fclose. Так как это открывает файл только один раз. В некоторых случаях /filter и /savebuf это еще более эффективный метод (без сценария).

  • Скрипты также могут копировать и удалять файлы. [ /copy | /remove]

Бинарные переменные

[ редактировать ]
  • Содержать неограниченное количество (8192 байт до mIRC 6.1) необработанных данных.
  • Доступен глобально через команды и идентификаторы.
  • Автоматически сбрасывается, когда сценарий возвращает управление mIRC (а не другой части сценария).
  • С префиксом & (например &Variable)
  • Доступ к нему возможен только через /bread и /bwrite, поэтому эти переменные нельзя передать в другие части скрипта

Хэш-таблицы

[ редактировать ]
  • Может содержать неограниченное количество двоичных данных или до 4150 (950 до mIRC 6.32) байтов обычного текста. Это ограничение накладывается собственным ограничением длины строки анализатора сценариев mIRC (если не назначена двоичная переменная).
  • Доступен глобально через команды и идентификаторы.
  • Автоматически сбрасываются при выходе из mIRC, поскольку они хранятся только в памяти.
  • Можно сохранить для дальнейшего использования
  • Без префикса
  • Быстрее, чем доступ из файла, поскольку хеш-таблицы хранятся в памяти, а не на жестком диске.
  • Размер ограничен только объемом памяти компьютера.
  • Позволяет использовать ведро любого размера.

Глобальные переменные

[ редактировать ]
  • Может содержать до 4150 (950 до mIRC 6.32) байт данных, включая его имя (однако из-за ограничений длины строки в анализаторе сценариев mIRC максимум 4146 байтов могут быть назначены явно с использованием /set или /var — это число уменьшается по мере того, как имя переменной становится длиннее)
  • Невозможно сохранить NUL (ASCII 0) или конечные пробелы.
  • Доступен по всему миру
  • Не снимайте автоматически, если не используется переключатель (автоматически сохраняется в файле инициализации mIRC)
  • С префиксом % (например %Variable)
  • Создано с использованием set команда или var -g или %Variable = value обозначение

Локальные переменные

[ редактировать ]
  • Может содержать до 4150 (950 до mIRC 6.32) байтов данных, включая имя переменной (однако из-за ограничений длины строки в анализаторе сценариев mIRC максимум 4146 байтов можно назначить явно с помощью команд /set или /var — это число уменьшается по мере того, как имя переменной становится длиннее)
  • Может хранить NUL (ASCII 0) или конечные пробелы.
  • Уничтожаются, когда заканчивается вызванный псевдоним или событие.
  • С префиксом % (например %Variable)
  • Создано с использованием var команда. var это просто внутренний псевдоним для set -l но var предоставляет средства для объявления нескольких локальных переменных в одной строке (например, var %a = 1, %b, %c = 2)

Ограничения

[ редактировать ]

Примеры кода

[ редактировать ]

Код ниже представлен в формате удаленных сценариев. При помещении в файл псевдонимов именам команд не должно предшествовать слово " alias". Комментарии к тестам включают общие /* comment */ и ;comment.

Вот пример псевдонима Hello World :

;Defines the alias 'hello' in the remote script

;Note: if this is placed in an alias script,
;the 'alias' part must be removed (result: hello {)
;Usage: /hello

alias hello {

  ;Displays(/echo) 'Hello World!' into the active window(-a)
  echo -a Hello World!

}

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

;Placed in a remote script

;When a user types Hello! in a channel,
;you answer back: Hello, [nickname]!

on *:TEXT:Hello!:#:{ msg $chan Hello, $nick $+ ! }

;When a user types Hello! in a private message,
;you answer back: Hello, [nickname]!

on *:TEXT:Hello!:?: { msg $nick Hello, $nick $+ ! }

;Here is a script which automatically gives voice to a user
;who joins a particular channel (The Bot or user should have HOP)

on *:JOIN:#?: { mode $chan +v $nick }

;A bad word script

on *:Text:die*:#: { .mode $chan +b $nick | kick $chan $nick Dont say that again }

См. также

[ редактировать ]
  1. ^ «Функции — AdiIRC — Поддержка AdiIRC/Ошибки/Запросы функций» . Пер Амундсен. Архивировано из оригинала 2 декабря 2020 года . Проверено 2 декабря 2020 г.
  2. ^ «Сценарии — AdiIRC — Поддержка AdiIRC/Ошибки/Запросы функций» . Пер Амундсен. Архивировано из оригинала 2 декабря 2020 года . Проверено 2 декабря 2020 г.
  3. ^ Перейти обратно: а б «Подробное сравнение mIRC и AdiIRC по состоянию на 2020 год — Slant» . Parli, Inc. Архивировано из оригинала 2 декабря 2020 года . Проверено 2 декабря 2020 г.
  4. ^ Язык сценариев mIRC — WikiChip , WikiChip LLC, заархивировано из оригинала 12 ноября 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2728477142240260ee522d4bb92cc89e__1716406320
URL1:https://arc.ask3.ru/arc/aa/27/9e/2728477142240260ee522d4bb92cc89e.html
Заголовок, (Title) документа по адресу, URL1:
mIRC scripting language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)