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

Задаем различные вопросы по приложению Bimoid Messenger (Windows), его настройке и использованию. Выдвигаем предложения с учетом незначительных доработок.
Ответить
murder
Сообщения: 2
Зарегистрирован: Чт окт 06, 2022 8:26 am

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

Сообщение murder »

Здравствуйте всем, хочу попробовать реализовать бота на питоне в мессенджере, никак не могу найти адекватную инструкцию к dll, которую нашёл в интернете для правильной работы с данной библой. Подгрузить саму библу получилось в питоне. В идеале хочется создать пользователя, которому будут писать команды, и соответственно приходить ответы.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

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

Сообщение inf »

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

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

Сообщение 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
"
Это работает исправно.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

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

Сообщение inf »

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

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

Сообщение zert88 »

Поделитесь пожалуйста кодом, если получилось использовать библиотеку в питоне или автоите

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