app-release.apk
4.8 MB
Inline 0.6.3
Только исправления
- Изменена структура хранения заметок в Notes
- Добавлен
- Добавлена команда
- colorama.space был удален
-
Только исправления
- Изменена структура хранения заметок в Notes
- Добавлен
inline:getAliases() который дает SharedPreferences в котором хранятся алиасы на команды- Добавлена команда
aliases которая отображает все созданные алиасы- colorama.space был удален
-
utf8.charpattern теперь работает"Превращаем" Inline в Friendly Telegram Bot (надо делать очень осторожно)
⚠️ Изменение главного паттерна для команд опасная необратимая операция, которая может вызвать краш приложения (исправить можно только через создание модуля)
1)
3) Нажимаем reload и выполняет некоторые действия
4) Теперь достаточно написать это чтобы запустить любую команду
Для отката достаточно написать это и повторить пункты 2,3:
⚠️ Изменение главного паттерна для команд опасная необратимая операция, которая может вызвать краш приложения (исправить можно только через создание модуля)
1)
{eval inline:getDefaultSharedPreferences():edit():putString("pattern", "(^.([a-zA-Z_-]+)(?:\\s([\\S\\s]+?)\\}*)?\\n$)+"):apply()}$
2) Принудительно остановить приложение из меню "О приложении"3) Нажимаем reload и выполняет некоторые действия
4) Теперь достаточно написать это чтобы запустить любую команду
.eval 1+1 (обязательно нажать пропуск строки в конце!!!)Для отката достаточно написать это и повторить пункты 2,3:
.eval inline:getDefaultSharedPreferences():edit():remove("pattern"):apply()inline.html
105 KB
Inline мини-документация по созданием модулей 0.1
Есть много ошибок и недоработок, нет примеров (все найденные недочёты приложить в комментарии)
Есть много ошибок и недоработок, нет примеров (все найденные недочёты приложить в комментарии)
❤🔥4🔥1
app-release.apk
4.8 MB
Inline 0.6.4
Набор исправлений для новых модулей
• http.buildFormBody, http.buildMultipartBody теперь возвращают то что нужно
Набор исправлений для новых модулей
• http.buildFormBody, http.buildMultipartBody теперь возвращают то что нужно
👍3
app-release.apk
4.8 MB
Inline 0.7
- Добавлена встроенная библиотека json
json.load(string) - десериализует таблицу из JSON строки
json.dumpObject(table) - сериализует таблицу в org.json.JSONObject | org.json.JSONArray
json.loadObject(object) - десериализует таблицу из org.json.JSONObject | org.json.JSONArray
json.emptyObject - пустой JSON обьект
Пример json.load: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/wiki.lua
Экспериментально:
utils.command(function, number [, function]) - который оборачивает команду с целью проверки количества аргументов, предварительно их разделив как в utils.parseArgs. Если количество аргументов неравно ожидаемому, то вызывается переданная функция из 3 аргумента (по умолчанию происходит ответ "Wrong arguments" пользователю), также список разделенных аргументов передается в качестве третьего аргумента переданной команде
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/editor.lua
utils.hasArgs(function [, function]) - тоже самое что и выше, но деление на аргументы не происходит, проверяется наличие любого текста, а ответ по умолчанию "Empty argument"
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/executor.lua
- Добавлена встроенная библиотека json
require "com.wavecat.inline.libs.json"
json.dump(table) - сериализует таблицу в JSON строкуjson.load(string) - десериализует таблицу из JSON строки
json.dumpObject(table) - сериализует таблицу в org.json.JSONObject | org.json.JSONArray
json.loadObject(object) - десериализует таблицу из org.json.JSONObject | org.json.JSONArray
json.emptyObject - пустой JSON обьект
Пример json.load: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/wiki.lua
Экспериментально:
utils.command(function, number [, function]) - который оборачивает команду с целью проверки количества аргументов, предварительно их разделив как в utils.parseArgs. Если количество аргументов неравно ожидаемому, то вызывается переданная функция из 3 аргумента (по умолчанию происходит ответ "Wrong arguments" пользователю), также список разделенных аргументов передается в качестве третьего аргумента переданной команде
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/editor.lua
utils.hasArgs(function [, function]) - тоже самое что и выше, но деление на аргументы не происходит, проверяется наличие любого текста, а ответ по умолчанию "Empty argument"
Пример: https://github.com/dmitrijkotov634/Inline2/blob/master/app/src/main/assets/modules/executor.lua
👍4
Inline
app-release.apk
UPD: убрал json.emptyArray, добавил json.emptyObject, так как мало кому может понадобится пустой json обьект, теперь пустые таблицы воспринимаются как пустой json массив
function hello(query)
query:answer("Hello " .. query:getArgs())
end
registerCommand("hello", hello)Как вам идея полностью изменить API модулей. Выделить каждому модулю свою среду. Все функции модуля поместить в глобальное пространство модуля. Так будет чуть чуть проще и понятнее
app-release.apk
4.8 MB
Inline 0.7.1
- Добавлен json.null
- json теперь может дампить JSONObject, JSONArray
- Добавлен inline:getTimer() который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
- inline:timerTask(function) который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
- Добавлен json.null
- json теперь может дампить JSONObject, JSONArray
- Добавлен inline:getTimer() который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
- inline:timerTask(function) который возвращает https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
👍8
Обновил мини-документацию по созданию модулей для Inline 0.7.2
Она доступна по адресу kotov.tk/inline
Она доступна по адресу kotov.tk/inline
🌭4❤1👍1
app-release.apk
4.8 MB
Inline 0.8
- Добавлен встроенный модуль Loader для загрузки пользовательских модулей по ссылке, который можно включить на главном экране приложения
Больше нет необходимости давать разрешение на память с учетом если все модули загружены с Loader или установлены в ручную в публичную директорию приложения /Android/data/com.wavecat.inline/modules
load <url> - Загружает модуль по ссылке
files <path> - Отображает файлы в директории модулей
delete <path> - Удаляет файл из директории модулей
- Добавлен встроенный модуль Loader для загрузки пользовательских модулей по ссылке, который можно включить на главном экране приложения
Больше нет необходимости давать разрешение на память с учетом если все модули загружены с Loader или установлены в ручную в публичную директорию приложения /Android/data/com.wavecat.inline/modules
load <url> - Загружает модуль по ссылке
files <path> - Отображает файлы в директории модулей
delete <path> - Удаляет файл из директории модулей
👍1
app-release.apk
4.8 MB
Inline 0.9
Экспериментально:
Добавлены искатели команд - Command Finders, которые могут контролировать поведение поиска и вызова команд
- module:registerCommandFinder(function) регистрирует искателя команд
- module:unregisterCommandFinder(function) отменяет регистрацию искателя команд
- Убрано inline:getAliases()
- Убрана команда
Экспериментально:
Добавлены искатели команд - Command Finders, которые могут контролировать поведение поиска и вызова команд
- module:registerCommandFinder(function) регистрирует искателя команд
- module:unregisterCommandFinder(function) отменяет регистрацию искателя команд
- Убрано inline:getAliases()
- Убрана команда
{undo}$
- Добавлено больше декораций в стандартных командах👍12🔥1
app-release.apk
4.9 MB
Inline 0.10
- Минорный переход дизайна на Material 3
- Добавлены пасхалочки и больше отладочной информации
-
- Добавлено предупреждение при первом использование eval, exec
https://github.com/dmitrijkotov634/Inline2/releases/tag/0.10
- Минорный переход дизайна на Material 3
- Добавлены пасхалочки и больше отладочной информации
-
colorama.init(inline, accessibility) устарел, вместо него можно использовать colorama.init(accessibility)- Добавлено предупреждение при первом использование eval, exec
https://github.com/dmitrijkotov634/Inline2/releases/tag/0.10
👍8
app-release.apk
4.9 MB
Inline 0.11
- Добавлена команда
- Добавлен новый тип вотчеров, можно отслеживать нажатие пользователя по тексту. model:registerWatcher(function, inline.TYPE_TEXT_CHANGED или inline.TYPE_SELECTION_CHANGED или inline.TYPE_ALL_MASK). По умолчанию inline.TYPE_TEXT_CHANGED. Теперь вторым аргументом функция вотчера передается тип события
- Улучшена стабильность colorama
Модули
- Добавлена команда
{info}$ - которая показывает краткую информацию о Inline и название устройстве- Добавлен новый тип вотчеров, можно отслеживать нажатие пользователя по тексту. model:registerWatcher(function, inline.TYPE_TEXT_CHANGED или inline.TYPE_SELECTION_CHANGED или inline.TYPE_ALL_MASK). По умолчанию inline.TYPE_TEXT_CHANGED. Теперь вторым аргументом функция вотчера передается тип события
- Улучшена стабильность colorama
Модули
👍3
В инлайн был добавлен API-помощник для создания простых меню - menu, позволяет создавать примитивные меню из нескольких кнопок в одну строку, позволяет задавать им действие. Можно создавать ветвления из множества вопросов.
menu.create(query, {...}, cancelAction)
{...} - части запроса, их может быть огромное количество, в зависимости от типа части определяется её назначение: Строка => Декорация, Таблица => Кнопкой. Таблица должна быть в формате { caption=, action= }, где caption - надпись на кнопке, а action - действие при выборе
cancelAction - действие при попытке стереть текст
menu.session - java.util.HashMap со всеми открытыми меню, нужен только при отладке
! При импорте библиотека автоматически добавляет один активный вотчер.
require "com.wavecat.inline.libs.menu"menu.create(query, {...}, cancelAction)
{...} - части запроса, их может быть огромное количество, в зависимости от типа части определяется её назначение: Строка => Декорация, Таблица => Кнопкой. Таблица должна быть в формате { caption=, action= }, где caption - надпись на кнопке, а action - действие при выборе
cancelAction - действие при попытке стереть текст
menu.session - java.util.HashMap со всеми открытыми меню, нужен только при отладке
! При импорте библиотека автоматически добавляет один активный вотчер.
❤5👍2
app-release.apk
5 MB
Inline 0.11 (10)
Осторожно! Android почему то не может переварить приложение и может стереть его данные
https://t.me/inline_android/54
Модуль с новыми возможностями:
https://t.me/inline_modules/29
Осторожно! Android почему то не может переварить приложение и может стереть его данные
https://t.me/inline_android/54
Модуль с новыми возможностями:
https://t.me/inline_modules/29
🤔7👍1