Do you not know Russian? English Chinese

Документация RussiaScript

Поделится: В Telegram

Это официальная документация RussiaScript.

Она придерживается RussiaScript 1.2.

RussiaScript не является экспериментальным языком программирования и не является альтернативной JavaScript/TypeScript. RussiaScript предназначен для web-разработчки на русском языке

оставить информацию о своих проектах можно тут: https://github.com/shaman2016scratch/Docs/issues/1

Каждый код RussiaScript содержит этот код:

{
"libs": [],
"terminal": {},
"code": [],
}

Давайте разберём каждый элемент: libs — массив используемых библиотек

terminal — для выполнения одной команды терминала RussiaScript, вот пример содержимого этого объекта: {"com":"get os","par":""}, com — комманда терминала RussiaScript, par — параменты команды

code — массив строк кода

Один элемент массива code это объект в виде {"command":"команда","params":{"пример":"да"}}

В этой документации в встретите такие слова как репортёры, репортёры это типы данных RussiaScript, они могут использоваться в типах и командах RussiaScript.

Также тут немного будет описана структура исходного кода RussiaScript.

RussiaScript написан на JavaScript 9-летним программистом из Марий-Эл который знает web (html + css), JavaScript а также является Скретчером, он известен как SHAMAN2016 а его реальное имя — Ильхам.

RussiaScript написан на браузерном JavaScript но не на Node.js или TypeScript или чем-то ещё. node.js не поддерживает RussiaScript из-за использования браузерных Api

В этой документации будут все типы в RussiaScript, команды а также будет описан терминал RussiaScript.

Расширение файлов RussiaScript — .rsf (RussiaScript File)

Значок RussiaScript:

RussiaScript сделан 22 октября 2025 года, 23:38:54

Команды в RussiaScript

'вывести'

Команда вывести выводит в внутренний output RussiaScript определённый текст, получить output RussiaScript можно с помощью специального типа.

В params указывается объект с ключем 'Текст вывода' в котором указан текст вывода в виде типа

'очистить вывод'

Очищает внутренний RussiaScript output, output RussiaScript хранится в массиве

'http запрос'

Отправляет запрос на адрес, ответ никуда не записывается, типы не обрабатываюся

в params находится объект с ключами 'url' для указания url и 'params' для указания параментов http-запроса

'dom'

Для взаимодействия с Html-документом.

в params: метод — выбор метода из TextContent и innerHTML, элемент — id/класс html-элемента, значение — что задать

'задать переменной значение'

Задаёт переменной значение

В params: per — переменная, value — значение

'импортировать расширение'/'импортировать библиотеку'

Для импорта расширения. УСТАРЕЛО

'js-консоль'

Для вывода в консоль браузера

В params: метод — выбрать метод лога: лог, ошибка или предупреждение, значение — содержимое лога

'если'

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

в params: bol — оператор для получения значения, то — код RussiaScript если условие верное (без объекта, только сам массив команд), иначе — код RussiaScript если значение не верное (без объекта, только сам массив команд)

'js-функция'

Для создания пользовательской функции (на JavaScript)

в params: name — имя функции, code — код функции

'rs-функция'

Для создания пользовательской функции (на RussiaScript)

в params: name — имя функции, code — код функции (только массив команд RussiaScript)

'пользователь'/'user'

Команда для выполнения функций которые хранятся в объекте RussiaScriptUser.

В объекте RussiaScriptUser хранятся: пользовальскре функции (RussiaScriptUser.func), библиотеки (RussiaScriptUser.libs, RussiaScriptUser.libsInfo и RussiaScriptUser.LibsList), внутренняя конаоль RussiaScript, config и sysModules

Команда 'пользователь' или 'user' позволяет только выполнять пользовательские функции.

В params: type — тип (вырианты: функция), func — пользовательская функция (если type равен 'функция')

'lib'/'ext'/'либ'

Для выполнения команд из библиотек

в params: name — имя библиотеки (при установке библиотеки через терминал RussiaScript), func — команда библиотеки

Внимание! Скоро может потерять поддержку!

'пока'

цикл для повторения кода пока оператор (bol в params) равен true

в params: bol — оператор, code — код который будет повторяться (только массив строк кода)

'alert'

Команда для всплывающих окон (текст окна это и есть params)

'чат-бот'

Встроенный модуль чат-бот.

Документация по модулю: shaman2016scratch.github.io/Docs/RussiaScript#modules_1

'rs-js-консоль'

Для вывода текста в JavaScript консоль

в params: метод — метод лога (выбор из лог, ошибка, предупреждение и запрос), значение — значение лога

разберём методы: лог — выводит лог 'RussiaScript: {значение в params}', предупреждение — выводит предупреждение 'RussiaScript warn: {значение в params}', ошибка — выводит ошибку 'RussiaScript error: {значение в params}' и запрос — показывает всплывающее окно с 'значение' в params а потом отправляет лог 'RussiaScript: {значение в params}' и лог 'RussiaScript input: {ввод в окне}'.

'повторять раз'

цикл для повторения кода указанное количество раз

в params: раз — количество раз повторения, код — код RussiaScript который повторяется

'return'

Для пользовательский функций на RussiaScript, то что return'ится что и есть params

'ждать'

для ожидания времени

в params: миллисекунды — сколько миллисекунд ждать

'eval'

Запускает код RussiaScript (с Json'ом), params это и есть код который будет выполнен

'если иначе ошибка'

если условие равно то код выполняется иначе будут ошибка в консоли и ошибка в переменной err (как значение true/false)

В params: bol — условие, code — код если условие равно чему-то

'большой если иначе'

Для упрощения условий, если одно из условий верные следущие условия не бвдкт выполнятся даже если они верные (прям как elif в python)

В params: codes — мини скрипты 'если', else — код RussiaScript (массив команд) если ни одно из условий неверно

в parmas.codes: массив элементов 'если', в каждом элементе массива: bol — условие, code — код RussiaScript (массив команд)

'большой если'

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

'публик RS1-2$1'

Запускает первый public (о них: shaman2016scratch.github.io/Docs/RussiaScript/#public )

Репортёры RussiaScript/типы в RussiaScript/значения в RussiaScript

Все поля и данные в RussiaScript проходят через RussiaScriptGetValue(), то есть обрабатывается репортёрами, RussiaScriptGetValue() определяет какой тип использован, выполняет код для получения значения и выводит результат обработки ответа

К примеру в RussiaScript 1.2 пропало немного типов из-за изменения структуры типов

Начиная от RussiaScript 1.2 если в типе задать обычный текст, число или true/false то он сразу же выведет этот текст

Типы RussiaScript это json (все кроме простого водда текста, цифр и Boolean) в формате
{
"type": "название типа",
"value":"текст для типа",
}

Репортер 'текст'

репортёр для возрата любого типа, хоть array/object хоть null, хоть undefined, хоть Boolean, хоть String/Number.

value — то что вернуть

репортер 'переменная'

Возращает значение указанной переменной RussiaScript, в value указывайте имя переменной

репортер 'http'

отправляет http-запрос и возвращает результат. в value: url — url запроса, metod — метод запроса, headers — заголовки запроса

репортер 'Пустой массив'

Возвращает пустой массив

репортёр 'Пустой объект'

Возращает пустой объект

репортер 'математика'

Он слишком большой подробнее в shaman2016scratch.github.io/Docs/RussiaScript/#reportm_1

репортеры 'обьеденитьN', где N это число от 2 до 8.

Объединяет значения несколько раз. в value: массив элементов которые нужно объединить (они должны быть равны N)

репортер 'json'

Он слишком большой подробнее в shaman2016scratch.github.io/Docs/RussiaScript/#reportm_2

репортер 'пи'

Возвращает число пи

репортер 'число Эйлера'

Возвращает число Эйлера

репортер 'getElement'

Ищет в DOM элемент и выводит его содержимое. в value: значение — элемент dom

репортер 'GetValue'

Ищет в DOM элемент и выводит его водд (для форм водда). в value: значение — элемент dom

репортер 'GetDocument'

Возвращает объект DOM

репортер 'Terminal'

Выполняет команду терминала и выводит результат. Подробнее: shaman2016scratch.github.io/Docs/RussiaScript/#terminRs в value: com — команда терминала, par — параменты команды

логический Boolean 'и' (логические Boolean а также Boolean это тоже репортеры)

Выводит true если оба значения равны иначе false. в value: массив из друх элементов: первое условие и второе

логический Boolean 'или'

Также как и 'и' только возращает true если хотябы одно условие верно и false если не одно из них.

логический Boolean '='/'=='/'==='

Также как и 'и' работает но, выводит true если первое значение равно второму

логическое Boolean '<', '>'

С ними и так все понятно, только добавлю для тех кто не хорошо знает математику: знак '<' значит меньше а '>' значит больше (хотя это тема первого класса)

Логический Boolean 'не'

работает также как и 'и' но в массиве только один элемент, выводит true если оператор не верен а false если он верен

Boolean 'true'

выводит true

Boolean 'false'

Выводит false

репортер 'пользователь'/'user'

Работает анологично команде 'пользователь' но возвращает то что возвращает пользовательская функция или другой обьект RussiaScriptUser.

репортер 'либ'

Работает аналогично команде 'lib' но возвращает результат выполнения функции из расширения (библиотеки)

репортер 'вывод'

возвращает внутренни вывод RussiaScript

репортер 'prompt'

Делает всплывающее окно с запросом текста а потом возвращает его. value и есть текст окна

репортер 'confirm'

Делает всплывающее окно с выбором 'да' или 'нет' возвращает 'true' если выбрал 'да' а если 'нет' то true. value и есть текст окна

репортер 'чат-бот'

Документация по модулю: shaman2016scratch.github.io/Docs/RussiaScript#modules_1

репортер 'получить get-параменты'

Возращает парамент url. value — название парамента

репортеры '!='/'≠', '>='/'≥', '<='/'≤'

Всем понятно

репортер 'base64'

Для кодировки base64. в value: type - decode/encode, текст — текст который зашифровать в base64/расшифровать из base64

репортер 'искл или'

Работает как 'или' только как xor

репортер 'slugify'

Создает безопасный slug

репортер 'url'

Работает также как и 'base64' только кодирует и разкодирует с url шифровки

репортер 'длина'

Возвращает длину текста. value — текст длина которого должна быть определена

репортер 'шаблон'

После обработки типов дополнительно обрабатывает шаблоны RussiaScript, см ниже. value — текст который обработан

репортер 'eval'

Возращает результат выполнения кода RussiaScript

Терминал RussiaScript

Терминал RussiaScript — один из важнейших компонентов RussiaScript.

С помощью него можно добавлять библиотеки и многое другое!

Базовое выполнение команд терминала RussiaScript: js: RussiaScriptTerminal(комадна, параменты) или rs: тип Terminal о нём я уже говорил в прошлом разделе

Команды терминала RussiaScript могут просто выполнить команду а могут выполнить команду и вернуть конкретное значение.

команда терминала 'pirs install lib'

Загружает расширения для RussiaScript. Их импортировать не надо. в параментах: ext — объект расширения (библиотеки)

в ext: url — ссылка на код расширения, name — название расширения (назовите как хотите, например 'расширение 1', оно не связано с названием расширения в его коде)

команда терминала 'get os'

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

комадна терминала 'get session'

Возращает SessionRussiaScript, см в api и коде

команда терминала 'get system'

Возращает объект sys

команда терминала 'set system'

Задает объекту sys заданное значение. Внимание! Для этого рекомендуется изучить Api и код иначе изменение объекта sys может привести к неожиданным ошибкам! параменты — содержимое sys

комадна терминала 'get files'

Возращает массив файлов

команда терминала 'new file'

Создает новый файл в filesRS. в параментах: name — название файла, type — тип файла

Потом возвращает объект filesDataRS

new file in

работает также как и new file но создает файл в определённом файл в корне filesRS (для создания файлов в фафле который в файле и т.д. надо значит api, JavaScript (браузерный) и был ознакомленным с кодом RussiaScript). в параментах: in — внутри какого файла будет находится файл, file — информация о файле

в file тоже самое что и в параментах 'new file'

команда терминала 'get data files'

Возращает объект filesDataRs

комадна терминала 'get lang'

Возращает язык пользователя (по данным из объекта sys)

команда терминала 'get user-agent'

возвращает реальный user-agent пользователя

команда терминала 'get sys/RussiaScript'

возращает объект RussiaScript из объекта sys

комадна терминала 'get RussianScript version'

возвращает версию RussiaScript из объекта RussiaScript в объекте sys

команда терминала 'get terminale version'

Возращает версию терминала

комадна терминала 'pirs install lib from RussiaScriptLibs'

Добавляет библиотеку из RussiaScript libs. параменты: ext

В ext: url — адрес к библиотеке, pocket — покет библиотки, name — имя библиотеки для каталога установленных библиотек

команда терминала: 'pirs install syslib'

добавляет библиотеку из списка библиотек от разработчиков RussiaScript. в params: libName — имя библиотеки, ext

в ext: name — имя библиотеки для каталога установленных библиотек.

комадна терминала 'pirs search'

Берет список всех библиотек в базе search'а и возвращает найденную библиотеку если есть. в параментах: ext

в ext: name — имя библиотеки

команда терминала 'pirs uninstall'

Удаляет библиотеку. в параментах: ext — имя библиотеки под которых сохранена библиотека в катологе установленных библиотек

комадна терминала 'pirs --help'

Возращает массив строк вывода

git clone

выполняет код RussiaScript из указанного репозитория. в параментах: file — имя репозитория

url clone

выполняет код RussiaScript из указанного url. в параментах: url — url ресурса откуда взять код

команда терминала 'pirs info lib'

берет информацию о библиотект с каталога установленных библиотек, в параментах: ext. в ext: name — имя библиотеки в каталоге установленных библиотек

команда терминала 'pirs list"

Возращает список установленных библиотек

команда терминала 'rs reset'

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

Библиотеки в RussiaScript

Библиотеки для RussiaScript — простые дополнения для RussiaScript

Они создаются на языке программирования JavaScript.

Вот пример библиотеки для версии 1.2:
ExtLibRS = {
"version": "1.0",
"name": "Example Extension",
"id": "exampleExt",
"docs": "example.com",
"created by": "ExampleUser12345",
};
Ext_exampleExt = {
"data": ExtLibRS,
"commands": {
"command": "function\(args\) \{ alert(args) \}"
},
"commandList": [
"command"
],
"reporters": {
"reporter": "function\(args\) \{ return args.return \}"
},
"reportersList": [
"reporter"
],
}

Разберет код по полочкам: обьявление переменной ExtLibRS которая содержит информацию о расширении, там указаны ключи version — версия расширения, name — название расширения, id — id расширения, docs — ссылка на документацию по библиотеке, created by — кто создал. дальше объявляет переменная Ext_*id библиотеки* в ней ключ data значение которого равен переменной ExtLibRS, дальше commands — команды в виде "*название команды*": "function(args) { *код команды на js* }" а дальше 'commandList' — список комманд, дальше тоже самое с репортерами: reporter — репортер и его код и reportersList это список репортёров.

Именно так создаются библиотеки для RussiaScript.

filesRS

filesRS — Внутренняя файловая система RussiaScript состоящая из двух переменных: filesRS — массив файлов которые находятся в корне проекта, filesDataRS — структура данных фацлов ввиде json.

Структура переменной filesDataRS является такой: {"имя файла":{"type":"тип","args":[],"args2":{}}}

type — тип файла, args — аналогичен переменной filesRS только хранит файлы внутри папки, args2 — аналогичен filesDataRD только хранит структуру фаылов внутри файлов (а напомню, ключ args2 находится в каждом ключе объекта filesDataRS.)

Фреймворки а также языки программирования написанные на исходном коде RussiaScript

Тут находятся Фреймворки и языки программирования написанные на исходном коде RussiaScript

type.rsf — написан на основе RussiaScript 1.1, вторая версия будет написана на основе RussiaScript 1.2. функционал такой же но с новыми функциями

Eng.rsf — Английско-язычная версия RussiaScript

Другие Фреймворки RussiaScript

Тут находятся другие Фреймворки RussiaScript, например RussiaScript переписанный на C или Python или Node.js

NodeRsJs.rsf — RussiaScript переписанный под Node.js

Языки программирования написанные на RussiaScript

Языки программирования написанные на RussiaScript

Пока ещё никто не писал яыки программирования на RussiaScript

Модули RussiaScript

Модули RussiaScript — встроенные модули RussiaScript находящиеся в одной команде

чат-бот

Небольшой модуль для создания мини-чат ботов.

Команды в модуле

Для команд: в params: metod — команда модуля

Команда 'Задать ответ'

Задает ответ на вопрос

В params: запрос — на какой прос будет ответ, ответ — ответ на запрос

Репортеры в модуле

В value: metod — репортер модуля

Репортер 'получить ответ'

Получает ответ на запрос

в value: запрос — текст запроса

Разработчики

Тут список разработчиков RussiaScript

Идеи

SHAMAN2016 • сайт: shaman2016scratch.github.io

Код

SHAMAN2016 • сайт: shaman2016scratch.github.io

Документация

SHAMAN2016 • сайт: shaman2016scratch.github.io

Похожие языки программирования

Кажется, кроме RussiaScript и Type.rsf а также Eng.rsf и NodeRsJs.rsf никаких языков программирования не существует

publlic

public RussiaScript — встроенный язык программирования. Такой пока один, но скоро будет больше

В js они запускаются так: publicRS(args, n)

public '1', n = 1

args: {"code":"код"}

Синтакс: Английский, Формат синтаксиса: строка кода (не массив) а дальше параменты если один то просто текст обычный иначе json в одну строку.

То есть, вот так выглядит типичный код 1-ого public'а:

{"code":"let a main()\nКоманда\nПарамент"}

Внутри let a main() находятся команды: System.out.printf (вывод, выводит в внутренний ввывод RussiaScript, название совмещение команды вывода java (System.out.println) и c++ (prinf)), System.RunTermianl (запускает команду терминала RussiaScript), set var — задает переменной значение (но у public и RussiaScript разные переменные)

RSNJ, RSML и SLRS

RSNJ — RussiaScript Not Json, RSML — RussiaScript Markup Language, SLRS — Style Language RussiaScript

Все троя не доделаны и не встроены в RussiaScript (то есть через RussiaScript нельзя с ними взаимодействовать)

Ошибки в RussiaScript/TakeError()

TakeError() — это пользовательская функция в JavaScript для того чтобы RussiaScript мог выявлять ошибки

Встроенные модули репортеры

Математика

в value: операция — математическая операция, значение — как параменты операции.

'+'

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

'-'

Для уменьшения чисел. в значение: массив из двух элементов, первое уменьшаться на второе

'÷'/'/'

Для деления чисел. в значение: массив из двух элементов, первое делится на второе

'*'/'×'

Для умножения чисел. в значение: массив из двух элементов, первое умножается на второе

'%'

Для получения остатка от деления. в значение: массив их двух элементов, первое делится на второе пока не определяется остаток.

'^'/'**'

Для степени чисел. в значение: массив из двух элементов, возращается степерь первого числа от второго

'abs'

Возращает абсолютное число от 'значение'

'min'

Возращает минимальное число от 'значение'

'max'

Возращает максимальное число от 'значение'

'округлить'

Округляет 'значение'

'целое меньшее'

округляет вниз

'целое большее'

округляет вверх

'рандом'

выдает рандомное число. значение это массив и двух элементов

'pow'

выдает pow. значение это массив и двух элементов

Также в модуле 'математика': квадратный корень, синус, косинус, тангенс, арксинус, арккосинус, арктангенс

json

В value: действие, значение

в json строку

Превращает JavaScript-объект ('значение') в json

в JavaScript-объект

'в json строку' наоборот

задать ключ в объекте

задает элемент в объекте и возращает объект. в 'значение': json — объект, key — ключ, value — значение

Шаблоны RussiaScript

{{переменная}} выводит значение переменной, ${тип} возвращает репортер. ВНИМАНИЕ! Шаблоны работают только в типе 'шаблон'.

Ответственность

Вы ответственны за то что происходит на вашем сайте.

RussiaScript не использует белые списки сайтов для закрузки кода из других источников, терминал RussiaScript не использует белые списки сайтов для загрузки библиотек и кода и т.д. Что гарантирует свободу выбора. Разработчики RussiaScript не несут ответственность за установленные библиотеки и выполненый код. RussiaScript не имеет сайта для выполнения кода по соображениям безопасности. терминал RussiaScript использует eval для получения данных библиотеках, но библиотеки которые устанавливаете выбираете вы а не мы или другие, и вы сами выбираете доверится библиотеке или нет. любая библиотека может изменить контент страницы даже при установке библиотеки, может передать информацию важную кому-то, но вы сами отвечаете за то что происходит на сайте, вы отвечаете за библиотеки которые.устанавливаете, если установили опасную библиотеку на сайт и она сломает его структуру то это в любрм случае будет ваша ответственность, Потому-что это ваш сайт а не сайт создателя библиотеки или создателя RussiaScript. Вы несёте ответственность за код RussiaScript который установили с другого сайта потому что вы выбрали его установить а не вас заставили. Если код который вы установите с другого сайта сломает структуру вашего сайта то ответственность будет на вас. Разрбаотчики RussiaScript не несут ответственность за то что просходит на сайте, за библиотеки или код вымолняемый из другого источника. Помните — За ваш сайт ответственность несёте вы, а не разработчики дополнительных используемых инструментов или библиотек.

api

Код RussiaScript

репозиторий: https://github.com/shaman2016scratch/RussiaScript

1.0: https://shaman2016scratch.github.io/RussiaScript/1.0.js

1.1: https://shaman2016scratch.github.io/RussiaScript/1.1.js

1.2: https://shaman2016scratch.github.io/RussiaScript/1.2.js

Для создания библиотеки для RussiaScript: https://github.com/shaman2016scratch/RussiaScript/blob/main/example-lib.1.1.js

Версия для java: https://github.com/shaman2016scratch/RussiaScript/tree/main/java

Вам код RussiaScript 1.2: (1.2.js)

Loading