The Wayback Machine - https://web.archive.org/web/20230604190818/https://github.com/danog/MadelineProto
Skip to content

danog/MadelineProto

v8
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 30, 2023 22:29
June 4, 2023 15:16
June 2, 2023 18:56
May 11, 2023 12:51
June 2, 2023 18:53
ton
March 9, 2023 13:13
May 31, 2023 12:23
March 30, 2018 16:07
June 4, 2022 16:56
May 30, 2023 19:02
September 5, 2021 21:06
January 26, 2023 19:57
October 28, 2019 22:39
February 13, 2017 13:27
August 8, 2016 18:10
May 31, 2023 12:23
March 6, 2023 14:08
May 26, 2023 17:54
December 30, 2022 21:43
November 7, 2022 15:53
January 27, 2023 14:20
January 28, 2023 16:39

MadelineProto, a PHP MTProto telegram client

Created by Daniil Gentili

#StandWithUkraine 🇺🇦

status-badge

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

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!

  • TelegramApiServer - Fast, simple, async php telegram api server: an HTTP JSON API for MadelineProto!
  • 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 sending normal messages, downloading any media!

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

Documentation