Страница 1 из 1

Слушатель сообщений через microOBIMP Client SDK

Добавлено: Чт окт 06, 2022 11:05 am
murder
Здравствуйте всем, хочу попробовать реализовать бота на питоне в мессенджере, никак не могу найти адекватную инструкцию к dll, которую нашёл в интернете для правильной работы с данной библой. Подгрузить саму библу получилось в питоне. В идеале хочется создать пользователя, которому будут писать команды, и соответственно приходить ответы.

Re: Слушатель сообщений через microOBIMP Client SDK

Добавлено: Чт окт 06, 2022 6:01 pm
inf
Здравствуйте! Пользователя вам надо создать через утилиту администрирования. Client SDK может позволить вам залогиниться им и обмениваться сообщениями. Не было большой надежды, что он понадобится кому-то, но раз нужен, выложил повторно на форум. dll-ка имеет лишь одну экспортную функцию, с помощью которой можно обменяться ссылками на интерфейсы и вызывать соответствующие функции и получать события. Константы, названия функций и описание интерфейсов можно найти в файле "Direct_DLL/obimp_dll.pas". Там же в папке проект с примером как ее использовать.

Re: Слушатель сообщений через microOBIMP Client SDK

Добавлено: Пт окт 07, 2022 12:23 pm
murder
inf писал(а): Чт окт 06, 2022 6:01 pm Константы, названия функций и описание интерфейсов можно найти в файле "Direct_DLL/obimp_dll.pas". Там же в папке проект с примером как ее использовать.
Спасибо большое, Я всё пытаюсь данный делфи файл вручную перенести в python, и проблемы появляются после вида интерфейсов, которые непонятно, как можно перенести на питон, возможно ли это? CreateObimp питоновский интерпретатор понимает("Direct_DLL/obimp_dll.pas", оттуда взял), а вот дальше уже идёт недопонимание того, как ему скармливать эти события, ибо постоянно идёт ругань на "'_FuncPtr' object has no attribute". Ну и соответственно на этом затык:( если поможете, был бы очень благодарен.
Хотел проверить работоспособность процедуры с версией. Но тоже никак. Может быть куда-то не туда смотрю.
Пользователь создан.
Цель всё использовать без оболочки.
"
from ctypes import *

PROTO_INTF_VERSION = 1003
obimp_lib = windll.LoadLibrary(r"C:\Python\BimoidServer32\mobimp.dll")
FuncCreateObimp = obimp_lib.CreateObimp
"
Это работает исправно.

Re: Слушатель сообщений через microOBIMP Client SDK

Добавлено: Пт окт 07, 2022 4:30 pm
inf
Я не являюсь специалистом по python, но вероятно вам надо посмотреть, как в нем использовать COM объекты windows. Объявление interface в delphi наследуется от базового IUnknown. Если погуглить по "python interface iunknown" наверняка вы найдете варианты его правильного использования. В нашем случае интерфейс позволяет обмениваться ссылками на объекты, описания которых известны как для dll, так и для исполняемого файла (вам необходимо будет объявить интерфейсы IObimpProto и IObimpEvents в своем приложении, сохранив названия функций, их порядок, параметры и возвращаемые результаты, а также переписать на python используемые структуры в параметрах функций). Важно обратить также внимание на совместимость типов полей в структурах, надо просто подобрать их правильные аналоги на python, по факту они все должны быть совместимы с COM, например WideString в delphi это BSTR для C++ и тд.

Re: Слушатель сообщений через microOBIMP Client SDK

Добавлено: Чт фев 22, 2024 10:14 pm
zert88
Поделитесь пожалуйста кодом, если получилось использовать библиотеку в питоне или автоите

Видел есть готовый exeшник , позволяющий массово рассылать сообщения и принимать входящие и авторизацию, если бы он еще умел отправлять сообщения было бы достаточно, просто хотелось бы уметь отправлять сообщения в консоли, хотя бы в ответ на приходящие запросы.