Простой Telegram-bot на Python

В качестве WiFi точки доступа используется точка доступа ASUS RT-AC51U. Для интереса решил изучить Python и попробовать написать на нем бота для Telegram, который будет работать на роутере.

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

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

opkg install python3-sqlite3

Для начала попробовал сделать бота с помощью библиотеки pyTelegramBotAPI. В связи с небольшим объемом памяти на роутере pip не работает. Поэтому библиотеку пришлось устанавливать вручную:

git clone https://github.com/eternnoir/pyTelegramBotAPI.git
cd pyTelegramBotAPI
python setup.py install

Теперь можно приступать к разработке бота

Читать далее «Простой Telegram-bot на Python»

BOPF. ч. 6. Практические примеры

В данной статье опишу небольшие примеры работы с объектами BOPF.

Изменение данных.

Чтобы изменить те или иные данные в БО можно воспользоваться методом modify. Для этого нужно заполнить таблицу модификаций. При этом поле change_mode может принимать значение из константы /bobf/if_frw_c=>sc_modify_update для модификации существующего значения.

Читать далее «BOPF. ч. 6. Практические примеры»

Unit-test. Ч. 2.

В первой части я кратко описал назначение unit-test и сделал unit-test для локального класса. Теперь сделаем unit-test для функционального модуля и для глобального класса.

Unit-test для функционального модуля.

Сначала создадим функциональный метод ZFM_CALCULATOR и сделаем unit-test для него

Читать далее «Unit-test. Ч. 2.»

Unit-test

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

Unit-test представляет собой специализированный локальный класс, который вызывает методы основного класса, разрабатываемые функциональные модули или подпрограммы программы. Затем в локальны класс анализирует результат работы программы и сравнивает его с эталонным. Таким образом для unit-test разработка представляет собой черный ящик, который должен в зависимости от специально подготовленных исходных данных возвращать ожидаемые от него результаты. Что именно происходит внутри разработки классу тестирование не важно.

Перейдем к практической реализации unit-test.

Читать далее «Unit-test»

Фреймворк BOPF. ч 5. Создание Query и Validation

Создание QUERY

Для создания запроса, достаточно в контекстном меню выбрать пункт Create Query

Создание Query

Создадим запрос Select_all, который будет показывать всё содержимое ноды

Читать далее «Фреймворк BOPF. ч 5. Создание Query и Validation»

Фреймворк BOPF. ч 4. Создание Determination.

В третьей части мы создали свой бизнес-объект ZTS_CLIENT. Сначала создадим determination – определение, которое отобразит значение полей из transient-структуры. В данном примере напишем функционал, который будет находить бизнес-партнера с номером PARTNER и копировать его наименование в поле transient-структуры.

Создание determination в Business Object

Новый determination назовём ZDET_ROOT_NAME_ORG

Читать далее «Фреймворк BOPF. ч 4. Создание Determination.»

Фреймворк BOPF. ч. 3. Создание бизнес-объекта

Для углубленного изучения BOPF создадим новый бизнес объект. Для этого зайдем в транзакцию BOBX и создадим BO.

Создание Business Object

Заходим в меню Extras-Propose Repository Names

В разделе Node отмечаем все пункты кроме Node Class Name нажимаем на кнопку Ok

Читать далее «Фреймворк BOPF. ч. 3. Создание бизнес-объекта»