acgfbr/madelineproto

Async PHP client API for the telegram MTProto protocol.

Maintainers

👁 acgfbr

Package info

github.com/acgfbr/MadelineProto

Homepage

pkg:composer/acgfbr/madelineproto

Fund package maintenance!

danog

Statistics

Installs: 70

Dependents: 0

Suggesters: 0

Stars: 0

8.0.2 2024-05-28 20:03 UTC

Requires

Suggests

  • ext-bcmath: Install the bcmath extension to speed up authorization
  • ext-ffi: Install the primemodule and FFI extensions to speed up MadelineProto (https://prime.madelineproto.xyz)
  • ext-gmp: Install the gmp extension to speed up authorization
  • ext-openssl: Install the openssl extension for faster crypto
  • ext-pdo: Install the pdo extension to store session data on MySQL
  • ext-primemodule: Install the primemodule and FFI extensions to speed up MadelineProto (https://prime.madelineproto.xyz)
  • ext-uv: Install the uv extension to greatly speed up MadelineProto!

Provides

None

Conflicts

Replaces

None

AGPL-3.0-only 9874f4f26cb765d974273487d5e7a2b105d44351

  • Daniil Gentili <daniil.woop@daniil.it>

phpclientaudiovideofilesprotocolMessengerbytestelegrammtprotostickersGB

This package is auto-updated.

Last update: 2026-06-29 00:47:29 UTC


README

MadelineProto, a PHP MTProto telegram client

Created by Daniil Gentili

#StandWithUkraine 🇺🇦

Do join the official channel, @MadelineProto and the support groups!

Approved by Telegram!

What's this?

This library can be used to easily interact with Telegram without the bot API, just like the official apps.

It can login with a phone number (MTProto API), or with a bot token (MTProto API, no bot API involved!).

It is now fully async!

Getting started (now fully async!)

<?php

// PHP 8.2+ is required.

if (!file_exists('madeline.php')) {
 copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';

$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->start();

$me = $MadelineProto->getSelf();

$MadelineProto->logger($me);

if (!$me['bot']) {
 $MadelineProto->messages->sendMessage(peer: '@stickeroptimizerbot', message: "/start");

 $MadelineProto->channels->joinChannel(channel: '@MadelineProto');

 try {
 $MadelineProto->messages->importChatInvite(hash: 'https://t.me/+Por5orOjwgccnt2w');
 } catch (\danog\MadelineProto\RPCErrorException $e) {
 $MadelineProto->logger($e);
 }
}
$MadelineProto->echo('OK, done!');

Try running this code in a browser or in a console!

Tip: if you receive an error (or nothing), send us the error message and the MadelineProto.log file that was created in the same directory (if running from a browser).

Made with MadelineProto

The following open source projects were created using MadelineProto: you can directly install them, or explore the source code as direct examples on how to use MadelineProto's many features!

Want to add your own open-source project to this list? Click here!

Some of MadelineProto's core components are also available as separate, standalone libraries:

Documentation