Visual IRC

редактировать
Visual IRC
Visual IRC 2 Visual IRC 2
Разработчик (и) Адриан Кейбл и Джесси МакГрю
Стабильный выпуск 2.0pl2 (30 декабря 2007 г.; 12 лет назад (2007-12-30))
Операционная система Windows
Лицензия GPL
Веб-сайтvisualirc.net

Visual IRC (ViRC ) - это открытый источник клиент Internet Relay Chat для Windows операционная система. В отличие от многих других IRC-клиентов, почти все функциональные возможности ViRC управляются включенным IRC-скриптом, в результате чего поведение программы может быть расширено или изменено без изменения исходный код.

Содержание
  • 1 История
  • 2 По сравнению с
    • 2.1 Хранение сценария
    • 2.2 Блоки, которые могут быть определены в сценарии
    • 2.3 Хранение данных
      • 2.3.1 Файлы
      • 2.3.2 Переменные
      • 2.3.3 Ассоциативные массивы
      • 2.3.4 Псевдопеременные
    • 2.4 Примеры кода
  • 3 Ссылки
  • 4 Дополнительная литература
  • 5 Внешние ссылки
История
  • Visual IRC (16-бит) - выпущен в 1995 году для Windows 3.x, написан MeGALiTH. Эта программа имела много встроенных функций, но она также могла быть написана сценариями с помощью VPL (), предшественника и по сравнению с.
  • Visual IRC '96 (и позже Visual IRC '97, Visual IRC '98) - Выпущен в 1996 г., автор - MeGALiTH. Это была первая 32-битная версия ViRC, написанная для Windows 9x / NT. Многие функции, которые были встроены в 16-битный ViRC, обрабатывались сценарием по умолчанию в ViRC '96. ViRC '98 содержал некоторый код, предоставленный AKA «Mr2001», в частности, усовершенствования механизма ViRCScript. язык сценариев несовместим с более ранней версией. В более поздних версиях были добавлены функции голосового чата и видеоконференцсвязи.
Разработка второй версии замедлилась, и к 2000 году Visual IRC оказался мертв. Первоначальный автор MeGALiTH (Адриан Кейбл) передал исходный код пользователю Mr2001 (Джесси МакГрю), который ранее предоставил некоторый код и который тайно разрабатывал клон под названием (BIRC). Вместо того, чтобы перезапускать разработку кодовой базы ViRC '98, он объединил некоторые функции ViRC '98 в BIRC и выпустил его как Visual IRC 2.
  • Visual IRC 2 - впервые выпущен Mr2001, по совпадению в 2001 году, эта версия Язык сценариев Versus основан на ViRCScript, но внутри он был почти полностью переписан. Фактически, ViRC 2 разделяет всего несколько сотен строк кода с ViRC '98. Функции голосовой и видеоконференцсвязи были удалены в этой версии, потому что библиотеки , используемые для их реализации, больше не поддерживаются.

Большая часть исходного кода для BIRC, ViRC 2 и связанных утилит была выпущена под GPL через веб-сайт проекта и SourceForge.

Versus

Versus - это язык сценариев, изначально разработанный для IRC-клиента, и в настоящее время используется с Visual IRC. Он во многом похож на языки сценариев, используемые ircII и mIRC, а также Tcl и C.

Имя "Versus" было выбрано, потому что его можно было сократить до «VS», которое было обычным сокращением для языка, используемого Visual IRC '96 - '98. Versus оставался в основном обратно совместимым с ViRCScript, поэтому существующая документация и комментарии, в которых упоминалось «VS», остались в основном точными в применении к Versus. Название также намекало на происхождение BIRC как замены ViRC.

Object Versus, или OVS, относится к объектно-ориентированным функциям Versus. Скрипты могут определять классы и работать с объектами и методами вместо текстовых данных и псевдонимов ; однако на практике OVS в основном используется для управления объектами VCL, составляющими интерфейс ViRC.

Хранение сценариев

Сценарии хранятся в файлах, обычно с расширением файла.vsc , хотя иногда используется расширение.lib. Файл сценария Versus просто содержит операторы, которые должны интерпретироваться при загрузке сценария; любые блоки, определенные в сценарии (см. ниже), заменят блоки, определенные с тем же именем в предыдущих сценариях.

Блоки, которые могут быть определены в сценарии

  • Псевдонимы - это подпрограммы. Их можно вызвать из командной строки любого окна или из других частей скрипта. Псевдонимы, возвращающие значение, называются функциями; псевдоним может определять, должно ли оно возвращать значение, а затем действовать как функция или команда соответствующим образом.
  • Классы используются в объектно-ориентированных сценариях (OVS). Каждый класс может содержать свойства, методы, конструктор и деструктор.
  • События используются для обработки сообщения от IRC сервера, а также определенные события на уровне системы или клиента, такие как завершение передачи файла или открытие нового окна.
    • События сервера используют регулярные выражения или собственные символы подстановки Versus для сопоставления сообщений от сервера. Если несколько событий сервера соответствуют конкретному сообщению, будет выполнено только одно с наивысшим приоритетом (рассчитанное на основе длины шаблона и относительного «значения» подстановочных знаков в нем).
    • Клиентские события идентифицируются с помощью имя: например, и будут запускаться при открытии нового окна. Они также могут включать шаблоны, которые ограничивают конкретные события, которые могут вызвать это событие (например, запускаться только при создании нового окна канала).
  • Деревья меню и пункты меню определяют контекстные меню, которые могут появляться для различных элементов клиентского интерфейса, а также главное меню, которое всегда отображается. Блоки дерева меню определяют макет меню и задают заголовки для каждого элемента; блоки элементов меню определяют код сценария, который будет выполняться при щелчке по элементу.
  • Панели инструментов и элементы панели инструментов аналогичны дереву меню и блокам пунктов меню, но они определяют панели инструментов связан с каждым окном. Новые панели инструментов могут быть добавлены в интерфейс, просто выбрав уникальное имя.

Псевдонимы, методы (включая конструкторы и деструкторы), события, пункты меню и элементы панели инструментов называются процедурами или блоками кода.

Хранение данных

Файлы

  • Скрипты могут обращаться к файлам с помощью функций $ RandomRead () и $ ReadLine (), а также команд CreateFile и AppendText.
  • Скрипты могут также используйте класс TStringList VCL для чтения всего текстового файла в память, управления им и сохранения.

Переменные

  • Все переменные могут содержать до 4 ГиБ data.
  • Имена переменных начинаются со знака доллара ($) и прописной буквы, строчной буквы или символа подчеркивания.
  • Переменные могут содержать любые символы, хотя обычно они используются для печатаемого текста.
  • Локальные переменные устанавливаются с помощью команды @Lи существуют только в контексте подпрограммы, которая их создала. Они удаляются, когда процедура заканчивается. Некоторые локальные переменные предопределены, например $ C для имени текущего канала.
  • Глобальные переменные устанавливаются с помощью команды @, и к ним можно получить доступ из любой процедуры. Они удаляются при выходе клиента. Псевдонимы могут возвращать значение, задав глобальную переменную $ fresult.
  • Сохраненные переменные устанавливаются с помощью команды @Sи, как и глобальные переменные, доступны где угодно. Их значения немедленно сохраняются в постоянном хранилище и восстанавливаются при следующем запуске клиента.

Ассоциативные массивы

  • Ассоциативные массивы сопоставляют ключи со значениями.
  • Ключи и значения могут содержать до 4 ГиБ данных без ограничений на разрешенные символы.
  • Локальные, глобальные и сохраненные значения массива могут быть установлены с помощью команд @L, @и @S, и они ведут себя так же, как соответствующие переменные. Когда установлено значение сохраненного массива, сохраняется весь массив.
  • Синтаксис $ arrayyname [key]используется для установки или извлечения значения для определенного ключа.
  • Синтаксис $ arrayynameсам по себе обрабатывает массив как список пар ключ-значение, позволяя сценарию установить все содержимое массива сразу или выполнить итерацию по уже имеющимся ключам.

Псевдопеременные

  • Псевдопеременные (или pvars) похожи по синтаксису на переменные, но их значения не могут быть изменены.
  • pvars от $ 0 до $ 9 содержат параметры, которые были переданы текущей подпрограмме, по порядку. $ 0 содержит имя подпрограммы, $ 1 содержит первое слово строки параметров и т. Д.
  • pvars от $ 0- до $ 9- содержат параметры, которые были переданы текущей подпрограмме, а также все следующие параметры. $ 0- содержит имя процедуры и всю строку параметров, $ 1- содержит все параметры, $ 2- содержит все параметры после первого и т. Д.
  • Специальная последовательность $? = "PROMPT STRING"вызывает диалоговое окно, предлагающее пользователю ввести значение.

Примеры кода

Вот пример кода Hello World :

Псевдоним HELLO TextOut>$ C clBlack Привет, мир! EndAlias ​​

Вот пример для подсчета до десяти:

Псевдоним TEN для (@l $ i = 1; $ i <= 10; $i++) TextOut>$ C clBlack $ i endfor EndAlias ​​

Вот пример, чтобы сделать всех в текущем канале оператора :

Псевдонимом MASSOP foreach ($ a, $ b, $ c, $ d; $ nicklist ($ C)) Mode $ C + oooo $ a $ b $ c $ d endforeach EndAlias ​​
Ссылки
Дополнительная литература
Внешние ссылки
  • Портал бесплатного программного обеспечения с открытым исходным кодом

.

Последняя правка сделана 2021-06-18 04:00:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте