Телеграмма для Mikrotik...

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Inner писал(а): 23 авг 2022, 12:30 Да. Оно и было нужно. Шикардятина. Но на всякий случай уточню. Под интерфесом воспринимаются вообще все интерфейсы? Или есть ограничения на бриджи, физические, виртуальные?
Не отображаются только динамические Интерфейсы и те, у которых в названии есть GW, остальные выводятся в группу.

Тип интерфейса указан в карточке. Если это бридж, то будет type: bridge

Изображение

В Note указана подпись. Если зайти в Интерфейсы, то увидим в комментарии строку типа LAN,true,MSG=292. Это массив с тремя элементами через запятую.

Первый элемент - это подпись к интерфейсу, её можно установить вручную и она отобразится в карточке. По-умолчанию он false.

Изображение

Если это bond, то будет указано какие интерфейсы в него включены и его тип.

Если это vLan, то отображается, помимо прочего, его ИД и имя интерфейса на котором он висит.


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

-13- писал(а): 23 авг 2022, 12:00 В инструкции похоже забыли указать наполнение для скрипта Deploy.
teMainBot импортирую, запускаю созданный скрипт, файлы из корня устройства не импортируются.
может что не так делаю?

upd: нашел Deploy в папке setup :smu:sche_nie:
Скрипт Deploy выложил отдельно. Доступен по ссылке.


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Благодаря отзыву ув. Inner, добавил возможность работы с vLan прямо из карточки интерфейса.

Обновление доступно по ссылке.

Запилил видео на канале по обновлению бота и работе с vLan.


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Добавлена дополнительная информация в карточку интерфейса, если его тип Wi-Fi или Virtual.

Изображение

Тут же теперь можно изменить ключ Wi-Fi.


-13-
Сообщения: 124
Зарегистрирован: 18 мар 2021, 12:45

Добавил бота в группу, отправляю команду /start, приходит основное меню в приватный чат с ботом, на команды в группе реагирует только /chatid. В приватном чате при нажатии на любую "кнопку", на кнопке появляются часы и все, спустя несколько секунд часы пропадают.
Тестирую на CHR ROS-7.4.1


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

-13- писал(а): 25 авг 2022, 13:13 Добавил бота в группу, отправляю команду /start, приходит основное меню в приватный чат с ботом, на команды в группе реагирует только /chatid. В приватном чате при нажатии на любую "кнопку", на кнопке появляются часы и все, спустя несколько секунд часы пропадают.
Тестирую на CHR ROS-7.4.1
В группах работают модули users, dhcp, ppp и interfaces.

В базовой версии из модулей доступен только Inerfaces. Проверьте чтобы в скриптах присутствовал teCallbackIfaceCard.

Если его нет, то скачайте заново скрипт mikRobot/Telegram/Setup/teCallbacks.rsc, замените его на устройстве и заново запустите Deploy. Бота остановите перед этим.

Проверьте чтобы на вкладке Scripts присутствовали скрипты, как на скрине ниже.

Изображение

Если чего-то не хватает, попробуйте удалить папку mikRobot из корня диска устройства. Скачайте её заново и разверните. Перед этим остановите бота и удалите все скрипты, кроме dbase.


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

Любой модуль можно дебажить. Для этого надо изменить параметр в скрипте с массивом dbaseDebug.rsc

За дебаг основного меню отвечает элемент fDBGteCallbackRootMenu, если установить его значение в true, то в логи будет выводиться информация о его работе.

Чтобы проверить почему не реагирует на нажатия в главном меню, установите "fDBGteCallbackRootMenu"=true; и запустите скрипт dbaseDebug.rsc.
Можно так же установить "fDBGteEditCaption"=true;, чтобы увидеть есть ли ошибка при редактировании сообщения.

Изображение

После этого нажмите на кнопку в главном меню бота и посмотрите, что выведет в лог. Можно выложить скрин логов сюда, я посмотрю что не так.


-13-
Сообщения: 124
Зарегистрирован: 18 мар 2021, 12:45

Brook писал(а): 25 авг 2022, 14:36
-13- писал(а): 25 авг 2022, 13:13 Добавил бота в группу, отправляю команду /start, приходит основное меню в приватный чат с ботом, на команды в группе реагирует только /chatid. В приватном чате при нажатии на любую "кнопку", на кнопке появляются часы и все, спустя несколько секунд часы пропадают.
Тестирую на CHR ROS-7.4.1
В группах работают модули users, dhcp, ppp и interfaces.

В базовой версии из модулей доступен только Inerfaces. Проверьте чтобы в скриптах присутствовал teCallbackIfaceCard.

Если его нет, то скачайте заново скрипт mikRobot/Telegram/Setup/teCallbacks.rsc, замените его на устройстве и заново запустите Deploy. Бота остановите перед этим.

Проверьте чтобы на вкладке Scripts присутствовали скрипты, как на скрине ниже.

Изображение

Если чего-то не хватает, попробуйте удалить папку mikRobot из корня диска устройства. Скачайте её заново и разверните. Перед этим остановите бота и удалите все скрипты, кроме dbase.
все скрипты есть, в приватном чате должно отрабатывать, если в *Group прописан групgовой ID?


Еще подскажите teSetMyCommands взаимодействует только со скриптом mainBot? Через строку

Код: Выделить всё

$teSetMyCommands fCommands="interfaces;Get interfaces list,users;Get users list,chatid;Get ID of current chat"


Аватара пользователя
Brook
Сообщения: 127
Зарегистрирован: 24 май 2022, 00:29

-13- писал(а): 25 авг 2022, 15:06
все скрипты есть, в приватном чате должно отрабатывать, если в *Group прописан групgовой ID?
Чтобы главное меню работало в приватном чате с ботом, прописывать в *Group ничего не надо. ИД групп нужны только для перехода в них из меню Modules и для работы в самой группе. В вашем случае, похоже, не отрабатывает teCallbackRootMenu. Чтобы разобраться, нужен вывод в лог дебага этого скрипта. Как сделать описал выше.

Кстати, на ROS 7 бот не тестировался.
-13- писал(а): 25 авг 2022, 15:06 Еще подскажите teSetMyCommands взаимодействует только со скриптом mainBot? Через строку

Код: Выделить всё

$teSetMyCommands fCommands="interfaces;Get interfaces list,users;Get users list,chatid;Get ID of current chat"
Да. Можно прописывать свои команды. После изменения скрипта, бота надо перезапустить, чтобы команды добавились в меню.
За обработку таких команд отвечает функция teMessageResponse. Её код лежит в файле mikRobot/Telegram/Callback/teMessageResponse.rsc.

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

Для тестов можно делать проще. Создать скрипт с названием teMessageResponse, вставить в него содержимое и сохранить. Удалить функцию teMessageResponse из глобального окружения и запустить скрипт, чтобы он развернул её заново. Разрешения для teMessageResponse - read, write, policy, test.


-13-
Сообщения: 124
Зарегистрирован: 18 мар 2021, 12:45

В скрипте teSetMyCommands нет значения переменной $endCommand, так задумано?


Ответить