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

v0.0.15 2025-09-27 19:18 UTC

This package is auto-updated.

Last update: 2025-09-30 22:00:40 UTC


README

logo 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 :

🎓 Documentation

Visit Docs LiveProto and TL LiveProto

📜 License

This project is licensed under the MIT License