Последняя версия DataExpress 3 beta от 2 ноября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Телеграм бот для DataExpress

Расширение функционала и существующих возможностей программы с помощью модулей выражений и плагинов от сторонних разработчиков.
jurist23rus
Эксперт
Сообщения: 2456
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Телеграм бот для DataExpress

Сообщение jurist23rus » Сб сен 08, 2018 11:42 am

ИзображениеТелеграм бот для DataExpress.

Как всегда вопросы, пожелания, предложения и конструктивная критика приветствуются.


Если есть необходимость заставить бота создавать записи в базе, то это можно сделать с помощью функции CreateRec. Поиск и вывод информации из базы удобнее делать с помощью DBMERGEA.

МОДУЛЬ

Эмоциональные посты типа: "О ужас ничего не работает. Всё пропало." - мне не интересны и по факту это просто флуд. Если вам нечего сказать по существу темы - проходите мимо.

Еще раз. Я не против критики, если она по делу. Я против "пугалок" и "страшилок".
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
rausNT
Знаток
Сообщения: 498
Зарегистрирован: Чт авг 24, 2017 9:23 am

Re: Телеграм бот для DataExpress

Сообщение rausNT » Сб сен 15, 2018 1:44 pm

jurist23rus писал(а):Мнение о чем конкретно?


о сценарии использования. Пока я смог использовать только один сценарий - получение информации из БД. Неплохо, но хочется больше.

Вы, как разработчик этого бота конечно в этом больше понимаете.

jurist23rus
Эксперт
Сообщения: 2456
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Телеграм бот для DataExpress

Сообщение jurist23rus » Вс сен 16, 2018 1:21 pm

Для реализации сценариев использования (получение информации, создание записей и т.д.) нужно развивать функции выражений для DataExpress. Сейчас их нет. А те что есть не очень удобны для работы с ботом. Я начал писать пару новых, но пока нет времени закончить.

rausNT писал(а):1. Авторизация
2. Создание, редактирование, удаление записей.
3. Работа в контексте
4. инлайн-кнопки
5. Как бонус - сохранение и просмотр картинок


Пункты 1, 3, 4, 5 - это не вполне реальные вещи, которые может делать бот, но его нужно под это дорабатывать. Я не спешу этого делать, так как в первую очередь нужны функции выражений, именно они ключевое звено между ботом и базой данных. Можно сделать сколь угодно красивые кнопки, передачу фото, видео, аудио и чего угодно, но всё это будет бесполезно если в DX не будет выражений которые смогут это корректно обрабатывать.
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1265
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Телеграм бот для DataExpress

Сообщение Гocть » Вс сен 16, 2018 2:47 pm

Мне кажется выражения здесь ни при чем. По крайней мере в прямом взаимодействии с ботом. Здесь требуется модуль обработчик конкретно для бота. Своего рода "командный API". Здесь имеется простой прототип, также можно кое что дернуть отсюда, взять за основу и развивать дальше.
Ну и сами "запросы" я бы так отсортировал (по порядку реализации):

    1. Работа в контексте
    2. инлайн-кнопки
    3(4). Авторизация
    4(3). Создание, редактирование, удаление записей.
    5. Как бонус - сохранение и просмотр картинок

Например 1. Работа в контексте (пока не трогаем авторизацию).
Шлем боту команду "/поехали©". Программа "достает из кармана что у нее есть":

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

function WakeUp:string;
var SL:TStringList;
I:Integer;
begin
 SL:=TStringList.Create;
 GetForms(SL);
 for I:=0 to SL.Count-1 do
 SL[i]:='/'+SL[i];
 result:=SL.Text;
 SL.Free;
end;

отсылает клиенту результат в виде:

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

/Форма 1
/Форма 2
/Форма 3

и становится на репит с заданным таймаутом, например если пользователь не ответил в течении минуты, прерываем все операции и шлем через бота, что поезд ушел и команду "/поехали©" для повтора сначала.
Нажал клиент /Форма 1, в ответ ему может прийти:

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

/Добавить
/Редактировать
/Удалить
/Показать 10 последних
/Еще что нибудь

Ну и дальше по фантазии. Пример абстрактный, нужно добавлять еще проверку прав, session-id для мультизадачности, действия при ошибках и прочие нюансы.
Фрилансер. Разработка на заказ. Консультирование.

jurist23rus
Эксперт
Сообщения: 2456
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Телеграм бот для DataExpress

Сообщение jurist23rus » Вс сен 16, 2018 3:05 pm

Концепция мне не понятна.

Гocть писал(а):Здесь требуется модуль обработчик конкретно для бота. Своего рода "командный API".

Зачем так сложно?

Гocть писал(а):Пример абстрактный

Гocть писал(а):Нажал клиент /Форма 1, в ответ ему может прийти:

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

/Добавить
/Редактировать
/Удалить
/Показать 10 последних
/Еще что нибудь


Пример мне не близок. Я совершенно не понимаю зачем из бота делать какую-то супер штуку для удалённой работы с базой. У кого-то есть такая потребность? У меня нет и я себе не представляю кто будет этим пользоваться. Это попахивает андроид-клиентом для DX через приложение телеграм.
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1265
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Телеграм бот для DataExpress

Сообщение Гocть » Вс сен 16, 2018 3:35 pm

Пример который я привел, это "движок" с правами разработчика. Поверх него можно (теоретически даже не заходя в дизайнер) уже пользовательской оберткой описывать конкретные действия: "Зарегистрировать пользователя", "Вывести этажи" и "Зафиксировать протекшую трубу" админу, "Получить задачи" сантехнику и так далее. Иной подход как мне кажется попахивает написанием отдельных расширений для "Подоить корову", "Поздравить с днюшкой" и т.п.
jurist23rus писал(а):Это попахивает андроид-клиентом для DX через приложение телеграм.
А вот это уже мне непонятно.
Фрилансер. Разработка на заказ. Консультирование.

jurist23rus
Эксперт
Сообщения: 2456
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: Телеграм бот для DataExpress

Сообщение jurist23rus » Вс сен 16, 2018 3:53 pm

Гocть писал(а):уже пользовательской оберткой описывать конкретные действия

По-моему для этого уже существуют выражения. Зачем придумывать что-то новое?
Destiny is a very convenient word for those who never take decisions.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1265
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Телеграм бот для DataExpress

Сообщение Гocть » Вс сен 16, 2018 4:00 pm

Дело ваше.
Фрилансер. Разработка на заказ. Консультирование.

Kort
Интересующийся
Сообщения: 143
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Телеграм бот для DataExpress

Сообщение Kort » Пн сен 17, 2018 8:57 am

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


А я бы не отказался. Даже лично для себя хотел бы некую базу знаний которую можно носить с собой в виде телефона. Я лучше дома комп включенный оставлю, а с телефона мне хотя бы поисковые запросы с ответами от базы уже что то. Ну и создание новых записей.

З.Ы. Или это уже реально реализовать у данного бота? :oops:

Аватара пользователя
Гocть
Эксперт
Сообщения: 1265
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Телеграм бот для DataExpress

Сообщение Гocть » Пн сен 17, 2018 9:12 am

Смущает такой момент, что уже несколько раз подряд пробую коннект, программа подвисает а потом выдает 500. На этом работа расширения останавливается. С библиотеками ssl и без. Учитывая отсутствие исходников сложно понять где проблема. Автор расширения не планирует их опубликовать?
Фрилансер. Разработка на заказ. Консультирование.

Kort
Интересующийся
Сообщения: 143
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Телеграм бот для DataExpress

Сообщение Kort » Пн сен 17, 2018 9:18 am

Прошел по инструкции, все замечательно. Бота зарегистрировал,модуля все установились токен получил, кнопка появилась.

З.Ы. Но на этом увы все :D ошибка 500 при попытке включить бота.


Вернуться в «Расширения и плагины»