taknone / liveproto
An async , pure PHP MTProto Telegram client
Installs: 125
Dependents: 3
Suggesters: 0
Security: 0
Stars: 17
Watchers: 1
Forks: 4
Open Issues: 0
pkg:composer/taknone/liveproto
Requires
- php-64bit: >=8.2
- ext-dom: *
- ext-fileinfo: *
- ext-filter: *
- ext-gmp: *
- ext-hash: *
- ext-json: *
- ext-openssl: *
- ext-xml: *
- ext-zlib: *
- amphp/amp: ^3.1.0
- amphp/file: ^3.2.0
- amphp/mysql: ^3
- amphp/socket: ^2.3.1
- amphp/websocket-client: ^2.0.1
- phpseclib/phpseclib: ^3.0.46
- taknone/attributes: *
- taknone/bootstrapper: *
README
An async , Pure-PHP MTProto Telegram client library for both bot & user account handling
🚀 Features
- Full MTProto Protocol : Complete implementation of Telegram's low-level protocol
- Asynchronous I/O : Built with PHP 8's async primitives ( Fibers / Amp ), enabling non-blocking requests
- Session Management : Automatic key exchange, session storage, and reconnection logic
- Comprehensive API Coverage : Send and receive messages, manage chats and channels, handle updates, upload/download media, and more
📦 Installation
Install via Composer :
composer require taknone/liveproto
Then use it like this :
<?php require 'vendor/autoload.php';
Install via Phar :
<?php if(file_exists('liveproto.php') === false): copy('https://installer.liveproto.dev/liveproto.php','liveproto.php'); endif; require_once 'liveproto.php';
🏁 Getting Started
Example Usage :
<?php if(file_exists('vendor/autoload.php')): require 'vendor/autoload.php'; elseif(file_exists('liveproto.phar')): require_once 'liveproto.phar'; elseif(file_exists('liveproto.php') === false): copy('https://installer.liveproto.dev/liveproto.php','liveproto.php'); require_once 'liveproto.php'; endif; use Tak\Liveproto\Network\Client; use Tak\Liveproto\Utils\Settings; $settings = new Settings(); $settings->setApiId(21724); $settings->setApiHash('3e0cb5efcd52300aec5994fdfc5bdc16'); $settings->setHideLog(false); $client = new Client('testSession','sqlite',$settings); $client->connect(); try { if($client->isAuthorized() === false){ $client->sign_in(bot_token : '123456:AAEK.....'); } /* 😁 If you would like to avoid errors, enter your username in the line below 😎 */ $peer = $client->get_input_peer('@TakNone'); print_r($client->messages->sendMessage($peer,'👋',random_int(PHP_INT_MIN,PHP_INT_MAX))); } catch(Throwable $error){ var_dump($error); } finally { $client->disconnect(); } ?>
💬 Community & Chat
Join the project community :
- Chat ( Telegram ) : https://t.me/LiveProtoChat
- News ( Telegram channel ) : https://t.me/LiveProto
- Snippets ( Telegram ) : https://t.me/LiveProtoSnippets
🎓 Documentation
Visit Docs LiveProto and TL LiveProto
📜 License
This project is licensed under the MIT License