MadelineProto

Async PHP client API for the telegram MTProto protocol

2946
687
PHP

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!

  • magnaluna webradio - Multifeatured Telegram VoIP webradio
  • simpleBot.php - Extremely basic example
  • tgstories_dl_bot.php - Source code of @tgstories_dl_bot - Bot to download any Telegram Story!
  • downloadRenameBot.php - Download files by URL and rename Telegram files using this async parallelized bot!
  • secret_bot.php - Secret chat bot!
  • pipesbot.php - Creating inline bots and using other inline bots via a userbot!
  • bot.php - Examples for how to use filters, updates, get download links for any file, Telegram Stories and much more!
  • TelegramApiServer - Fast, simple, async php telegram api server: an HTTP JSON API for MadelineProto (for use in languages other than PHP, if using PHP use directly MadelineProto)

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