thisismzm / tdlib-php-ffi
An implementation of Telegram's TDLib in PHP by FFI extension
v1.0.0
2022-06-05 12:27 UTC
README
An implementation of Telegram's TDLib in PHP by FFI extension
Docs
Create an instance
/** * @param string|null $tdlibFilePath A file path/name to `libtdjson.so` library */ public function __construct(string $tdlibFilePath)
Create client id
Returns an opaque identifier of a new TDLib instance. The TDLib instance will not send updates until the first request is sent to it.
/** * @return int an opaque identifier of a new TDLib instance */ public function createClientId(): int
Send request
Sends request to the TDLib client. May be called from any thread.
/** * @param int $clientId TDLib client id * @param string $request $request JSON-serialized request to TDLib. * * @return void */ public function send(int $clientId, string $request): void
Receive response and updates
Receives incoming updates and request responses. Must not be called simultaneously from two different threads.
/** * @param int $timeout The maximum number of seconds allowed for this function to wait for new data * * @return string|null incoming update or request response or may be null if the timeout expires. */ public function receive(int $timeout): ?string
Synchronously executes a request
Synchronously executes a TDLib request. A request can be executed synchronously, only if it is documented with "Can be called synchronously".
/** * @param string $request JSON-serialized request to TDLib. * * @return string|null JSON-serialized null-terminated request response. */ public function execute(string $request): ?string