PowerShell

Разработка плагинов с использованием PowerShell 7.

Следуйте инструкции

1. Создайте папку с названием в виде имени будущего плагина.

Далее можете продолжить следовать инструкции или скачать готовый пример и на его основе создать свой плагин. Чтобы установить данный плагин, не распаковывая, перетащите файл на список установленных плагинов. Для просмотра и редактирования рекомендую воспользоваться архиватором 7-Zip со сжатием Нормальное.

Пример готового плагина

2. В данной папке (далее в гайде просто main_folder)

{main_folder} = main_folder. Все переменные в гайде обозначаются в фигурных скобках.

3. Создайте следующую структуру файлов:

{main_folder}\main.manifest
{main_folder}\main.ps1

4. В файл main.manifest (текстовый файл манифеста плагина с надстройками) вставьте следующий текст:

main.manifest
chat_action_type = 1
message_type = 1
arguments_count = 0

Описание

chat_action_type - тип действия, которое будет написано в чате во время работы файла

Значения

  • 0 - ничего не писать

  • 1 - "Бот набирает сообщение..".

message_type - тип возвращаемого сообщения в Telegram бота

Значения

  • 0 - Текстовое сообщение

  • 1 - Текстовое сообщение с поддержкой HTML форматирования

  • 2 - Ничего не возвращать

arguments_count - количество обязательных принимаемых аргументов плагина от пользователя

Значения

  • От 0 до 4

5. Основной код необходимо написать в файле main.ps1 (файл кода написанный для PowerShell). Можно создать и редактировать с помощью Windows PowerShell ISE, который встроен в Windows, или воспользоваться другим удобным для вас редактором кода, рекомендую Visual Studio Code.

Запуск встроенной в Windows среды разработки PowerShell ISE

Если Вы хотите использовать русский язык в каких-то фрагментах кода (например, вывод текста), то редактируйте файл в Notepad++ (или прямо в Visual Studio Code) в кодировке UTF-8.

Проверка кодировки файла скрипта PowerShell

6. Вставьте в файл main.ps1 следующий код (базовый пример):

main.ps1
#app {plugin_name}, Version="{plugin_version}", Author={author}, Command={call_command}

function MainFunc($arg1, $arg2, $arg3, $arg4) {
    Write "Привет Мир! Ниже идёт тестовый подсчёт (3+4)"
    3+4
}

Для вывода текста в Telegram бота используйте команду Write в коде плагина, либо, если это текст в конце кода, то можете просто написать что нужно вывести, как это сделано в примере.

7. Заполните данные (всё без пробелов):

  • {plugin_name} - название плагина, такое же как для {main_folder}

  • {plugin_version} - версия в формате x.x.x.x, где x - число (например: 1.0.0.4)

  • {author} - автор плагина

  • {call_command} - команда для вызова плагина (обязательно начинается с /), например: /hello

Должно получиться что-то похожее: #app HelloWorld, Version="1.0.0.0", Author=developer, Command=/hello

8. Создайте zip архив с папкой {main_folder} (рекомендую воспользоваться архиватором 7-Zip со сжатием Нормальное)

9. Переименуйте файл в {main_folder} и измените расширение архива на srp

10. Установите файл через Shark Remote.

11. Тестируйте!

Вес установочного файла плагина (созданного архива) должен не превышать 10 мегабайт, иначе установить будет нельзя. Однако, если вы точно уверены в своём плагине, то можно использовать флаг big-bang=1 (подробнее)

Last updated