tdlib-php-ffi
tdlib-php-ffi copied to clipboard
An implementation of Telegram's TDLib in PHP using FFI extension
TDLib PHP FFI
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